Ships 6 page/A new generation

Ships has been reprogrammed from the ground up twice within its lifespan due to the reasons posted below

 

Generation 1 to 2

Ships 1-4 to 5

The issue:

Ships 1-3 was designed by the original author Qx2 and not by mosemister. The original version of Ships was written in swedish and majority of the code was static bound. This made it difficault to maintain and data specific to something had to be stored in files and then read, this in result made Ships very slow the more features it got. Not to mention there were other issues that came with Ships 1-4's original design such as that the structure searching, requirement checking and the movement were all done within one whole go with no extra processing done, this meant that item duplication was a huge problem that would occur.

 

The solution:

As most of these issues were all related to the code in which was all tied together due to static functions, a fix for all of the issues stated above would be to start from scratch with these issues in mind. The result was Ships 5. This new generation of Ships was design with OOP concepts in mind and written in English.

 

The Priority System:

The priority system was introduced in Ships 5 as a way of handling the item duplication issue stated before. Items duplicated due to the block being attached to another block, the other block was then removed leaving minecraft to pop off the attached block. Due to Bukkit not having the ability at the time to remove block updates when removing a block these physis needed to processed. The priority system was the solution, by stating the blocks that are attachable to another block (Bukkit still does not expose this), Ships can then remove the offending blocks first and then remove all normal blocks, then when placing the blocks in the new positions the priority system can be reversed. 

 

Generation 2 to 3:

Ships 5 to 6

 

 

 

 

Ships 6 running on Android:

Every so often I get asked if Ships is a server hog? Or what is the minimum requirements for Ships. As mentioned in generation 2-3, Ships went on a overall to speed up the efficiency of the plugjn a lot. In proof here is Ships running on a Android Nokia 6.1. 

 

Allocated RAM: 250MB

 

 

 

This is done thanks to the AU Linux team which alllows the emulation of Linux distros on none rooted phones. So this is Ships running on Bukkit, which is running on OpenJDK for Linux (x86) running on Linux being emulated by AU Linux running on Android which is provided by a Nokia 6.1. 

 

Not only that but Ships was running the movement in Ships five mode which is why there is some lag being stated by the server, however it proves that a phone so budget that YouTubers won't mention it can run Ships not on minimum settings though a lot of layers can run Ships, its likely your server can run Ships.