Ships
Ships
Source Code - Github |
JavaDocs |
Sponge version |
Discord channel |
Translate Core |
---|
Looking for Dev builds?
Dev builds give off new features and bug fixes before they are officially released, however these features and bug fixes may not have been tested as much as a release on here
Old page:
I am testing this new page out. I am aware of some parts that are missing such as ship types, but please say if there is anything that you wish to see. I plan on making a FAQ's that includes common questions such as how to change ship requirements.
If you want to see the old page, it is here
Video tutorial
Ships 6 changes
Ships has gone through many changes, Ships 6 is the latest rewrite of the plugin. The latest rewrite fixes multiple bugs found in the root of previous versions of Ships.
Features
Moving ships
As the name of the plugin suggests, you can create your own ship and move it with just a single click.
Works with all blocks
There is a fully-fledged list where you can configure every block to react differently for the ships, including being able to add a block type to interact with Ships, detect it as a collide, and even not react at all.
Teleport to ships
There have been many requests to be able to teleport to ships for not only this plugin but others like it. This feature has been added to Ships, however, if it is something you do not wish, then you can disable to command by not adding the command.
Falling Ships
Ships will fall/sink if requirements are not met, this could be done through your own interaction such as running out of fuel, or by something else such as a TNT explosion.
Ship types
Airship | Link |
Ship | Link |
Marsship | Link |
Submarine | Link |
Plane | Link |
Hybridship | Coming soon |
Move the ship:
In Ships, movement is done by signs. You can see all signs here
Collide types:
Name | ID | Description |
---|---|---|
Detect collide | DETECT_COLLIDE | If Ships detects this block in the way of a ship moving then the ship will not move with the error of this block being in the way |
Material | MATERIAL | Material means that you can build a ship out of this block and the Ships block detection system will detect it as part of your ship |
Ignore | IGNORE | If Ships detects this block in the way of a ship moving then the block will break and the ship will take its place |
Permissions
Permission node | Description |
---|---|
ships.cmd.info |
Allows the player to use the command '/ships info' |
ships.cmd.blockinfo |
Allows the player to use the command '/ships blockinfo' |
ships.cmd.shiptype.create |
Allows the player to use the command '/ships shiptype create' |
ships.cmd.config.set |
Allows the player to use the command '/ships config set' |
ships.cmd.config.view |
Allows the player to use the command '/ships config view' |
ships.cmd.blocklist.set |
Allows the player to use the command '/ships blocklist set' |
ships.cmd.blocklist.view |
Allows the player to use the command '/ships blocklist view' |
ships.cmd.ship.track |
Allows the player to use the command '/ships ship track' |
ships.cmd.ship.eot |
Allows the player to use the command '/ships ship eot' |
ships.cmd.ship.crew |
Allows the player to use the command '/ships ship crew' |
ships.move.own.ships.airship | Allows a player to move own airship |
ships.move.own.ships.watership | Allows a player to move own ship |
ships.move.own.ships.marsship | Allows a player to move own marsship |
ships.move.other.ships.airship | Allows a player to move anyones airship |
ships.make.ships.airship | Allows a player to make a airship |
ships.remove.other |
Allows a player to destroy anyones ships sign |
Developers:
Looking for a development wiki? maven/gradle dependencies? or something else relating to ships or translate core? Take a look at the getting started wiki
In reply to Mosemister:
Alright, cool cool.
Is there anything can be done to reduce lag from changing the value on the engine side? Or is it basically fixed with Ships 6?
Iv'e noticed no specific TPS loss when the ship is moving at fast speeds with EOT, when know ones on it. Its just the teleporting the entity to the block they were last standing on that I believe causes the most TPS loss. That's probably obvious. I'll do whatever to not have to uninstall it due to popular demand.
Me having this plugin installed pisses everyone on the server off cause when I'm just enjoying sailing around, everyone else on the server isn't able to build etc. I just love the plugin though and I want to help make it smooth and lag free so everyone else can see why I enjoy it so much.
I really appreciate all the responses you've been giving.
In reply to bradyykennyy:
Hi, I am uploading the next update as you sent that message that fixes a lot of the issue you have addressed (not the entities teleporting to their previous position ... still stumped on that one). I have been testing it all day to see how the tps is though many tests. I hope this new update works for your server and stops your players being pissed off.
Once again the less tps option is to enable ships 6 for both movement and block tracking, don't worry the memory leak has been fixed as well as a bug with the ships 6 movement that I found when testing it with ships around the size of 3,6000 blocks.
The update is awaiting approval
In reply to Mosemister:
Awesome,
have you tried looking at Movecraft source code to see how they did the entity teleporting when standing on a moving ship?
In reply to bradyykennyy:
No. This is because Movecraft and Ships run very differently to one and another so almost no code nor algorithm will work for both.
The issue is probably (as you said before) my detection for entities on half slabs, im yet to test this theory.
Tell me how the new ships version works for you.
In reply to Mosemister:
I'll do some tests. Questions. What are the new Stack configs?
Also should I mess with the block finder 4000 value?
And should I switch both config types to Ships 6?
Another one I couldn't fit in the other reply:
23.08 23:20:55 [Server] WARN org.ships.exceptions.NoLicencePresent: Could not find Ships licence sign at 1378, 69, -2145, FijiWorld2: plugins/Ships/VesselData/ships.watership/EC.yml
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getSign(ShipsVessel.java:47)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getName(ShipsVessel.java:61)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getId(ShipsVessel.java:98)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.loader.ShipsIDFinder.lambda$load$1(ShipsIDFinder.java:22)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
23.08 23:20:55 [Server] WARN at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1577)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
23.08 23:20:55 [Server] WARN at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.loader.ShipsIDFinder.load(ShipsIDFinder.java:34)
23.08 23:20:55 [Server] WARN at org.ships.event.listener.CoreEventListener.onSignChangeEvent(CoreEventListener.java:139)
23.08 23:20:55 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
23.08 23:20:55 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
23.08 23:20:55 [Server] WARN at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
23.08 23:20:55 [Server] WARN at java.lang.reflect.Method.invoke(Method.java:498)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BEventLaunch.run(BEventLaunch.java:25)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.lambda$call$1(BukkitListener.java:170)
23.08 23:20:55 [Server] WARN at java.lang.Iterable.forEach(Iterable.java:75)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.call(BukkitListener.java:170)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.onSignChangeEvent(BukkitListener.java:104)
23.08 23:20:55 [Server] WARN at com.destroystokyo.paper.event.executor.StaticMethodHandleEventExecutor.execute(StaticMethodHandleEventExecutor.java:38)
23.08 23:20:55 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
23.08 23:20:55 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
23.08 23:20:55 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:2567)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInUpdateSign.a(SourceFile:44)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInUpdateSign.a(SourceFile:10)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1012)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1005)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:989)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:922)
23.08 23:20:55 [Server] WARN at java.lang.Thread.run(Thread.java:748)
23.08 23:20:55 [Server] WARN java.lang.NullPointerException
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getId(ShipsVessel.java:98)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.loader.ShipsIDFinder.lambda$load$1(ShipsIDFinder.java:22)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
23.08 23:20:55 [Server] WARN at java.util.HashMap$KeySpliterator.tryAdvance(HashMap.java:1577)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
23.08 23:20:55 [Server] WARN at java.util.stream.FindOps$FindOp.evaluateSequential(FindOps.java:152)
23.08 23:20:55 [Server] WARN at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
23.08 23:20:55 [Server] WARN at java.util.stream.ReferencePipeline.findFirst(ReferencePipeline.java:464)
23.08 23:20:55 [Server] WARN at org.ships.vessel.common.loader.ShipsIDFinder.load(ShipsIDFinder.java:34)
23.08 23:20:55 [Server] WARN at org.ships.event.listener.CoreEventListener.onSignChangeEvent(CoreEventListener.java:139)
23.08 23:20:55 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
23.08 23:20:55 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
23.08 23:20:55 [Server] WARN at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
23.08 23:20:55 [Server] WARN at java.lang.reflect.Method.invoke(Method.java:498)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BEventLaunch.run(BEventLaunch.java:25)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.lambda$call$1(BukkitListener.java:170)
23.08 23:20:55 [Server] WARN at java.lang.Iterable.forEach(Iterable.java:75)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.call(BukkitListener.java:170)
23.08 23:20:55 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.onSignChangeEvent(BukkitListener.java:104)
23.08 23:20:55 [Server] WARN at com.destroystokyo.paper.event.executor.StaticMethodHandleEventExecutor.execute(StaticMethodHandleEventExecutor.java:38)
23.08 23:20:55 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
23.08 23:20:55 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
23.08 23:20:55 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:2567)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInUpdateSign.a(SourceFile:44)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInUpdateSign.a(SourceFile:10)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1012)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1005)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.sleepForTick(MinecraftServer.java:989)
23.08 23:20:55 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:922)
23.08 23:20:55 [Server] WARN at java.lang.Thread.run(Thread.java:748)
In reply to bradyykennyy:
So let me explain what a stack is first.
If we take the movement algorithm for example. Before the movement algorithm starts, it knows all the blocks current positions and the blocks positions to be. If it attempts to process all the blocks at once, you have the ships five movement algorithm.
To reduce the tps drop, it divides all the positions into smaller chunks, called stacks, and then handles a single stack in a single tick.
So in both the block finder and movement, a stack is a small section of the ship.
So in both the movement and the block finder you get 3 options for a stack, the limit, the delay and the delayunit. The limit is how big the stack is, the smaller the stack the less processing in a single tick that needs to be done, reducing lag. The delay and the delay unit is the time between dealing with the stack before to the new stack, reducing this may cause lag depending on your stack size.
Block finder, as long as your on ships 6 block finder, you can mess with it all you like. I personally tested it up to 50,000 and worked like a charm. Increasing it will allow for larger ships, the issue is the larger the ship, more time it takes to move.
As for both movement and block finder, i would definitely change the block finder. The Movement i would recommend changing for larger ships but the ships five version is a lot better then it was in ships 5 so it does well at medium sized ships. So its up to you.
In reply to Mosemister:
23.08 23:18:29 [Server] WARN java.nio.file.NoSuchFileException: plugins/Ships/VesselData/ships.watership/Quaker.yml
23.08 23:18:29 [Server] WARN at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
23.08 23:18:29 [Server] WARN at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
23.08 23:18:29 [Server] WARN at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
23.08 23:18:29 [Server] WARN at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
23.08 23:18:29 [Server] WARN at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
23.08 23:18:29 [Server] WARN at java.nio.file.Files.delete(Files.java:1126)
23.08 23:18:29 [Server] WARN at org.ships.event.listener.CoreEventListener.onBlockBreak(CoreEventListener.java:267)
23.08 23:18:29 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
23.08 23:18:29 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
23.08 23:18:29 [Server] WARN at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
23.08 23:18:29 [Server] WARN at java.lang.reflect.Method.invoke(Method.java:498)
23.08 23:18:29 [Server] WARN at org.ships.implementation.bukkit.event.BEventLaunch.run(BEventLaunch.java:25)
23.08 23:18:29 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.lambda$call$1(BukkitListener.java:170)
23.08 23:18:29 [Server] WARN at java.lang.Iterable.forEach(Iterable.java:75)
23.08 23:18:29 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.call(BukkitListener.java:170)
23.08 23:18:29 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.onBlockBreakByPlayer(BukkitListener.java:162)
23.08 23:18:29 [Server] WARN at com.destroystokyo.paper.event.executor.StaticMethodHandleEventExecutor.execute(StaticMethodHandleEventExecutor.java:38)
23.08 23:18:29 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
23.08 23:18:29 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
23.08 23:18:29 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:303)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:262)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:214)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1307)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInBlockDig.a(SourceFile:40)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInBlockDig.a(SourceFile:10)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1012)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1005)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1134)
23.08 23:18:29 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:918)
23.08 23:18:29 [Server] WARN at java.lang.Thread.run(Thread.java:748)
23.08 23:18:30 [Server] WARN java.nio.file.NoSuchFileException: plugins/Ships/VesselData/ships.watership/Quaker.yml
23.08 23:18:30 [Server] WARN at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
23.08 23:18:30 [Server] WARN at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
23.08 23:18:30 [Server] WARN at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
23.08 23:18:30 [Server] WARN at sun.nio.fs.UnixFileSystemProvider.implDelete(UnixFileSystemProvider.java:244)
23.08 23:18:30 [Server] WARN at sun.nio.fs.AbstractFileSystemProvider.delete(AbstractFileSystemProvider.java:103)
23.08 23:18:30 [Server] WARN at java.nio.file.Files.delete(Files.java:1126)
23.08 23:18:30 [Server] WARN at org.ships.event.listener.CoreEventListener.onBlockBreak(CoreEventListener.java:267)
23.08 23:18:30 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
23.08 23:18:30 [Server] WARN at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
23.08 23:18:30 [Server] WARN at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
23.08 23:18:30 [Server] WARN at java.lang.reflect.Method.invoke(Method.java:498)
23.08 23:18:30 [Server] WARN at org.ships.implementation.bukkit.event.BEventLaunch.run(BEventLaunch.java:25)
23.08 23:18:30 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.lambda$call$1(BukkitListener.java:170)
23.08 23:18:30 [Server] WARN at java.lang.Iterable.forEach(Iterable.java:75)
23.08 23:18:30 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.call(BukkitListener.java:170)
23.08 23:18:30 [Server] WARN at org.ships.implementation.bukkit.event.BukkitListener.onBlockBreakByPlayer(BukkitListener.java:162)
23.08 23:18:30 [Server] WARN at com.destroystokyo.paper.event.executor.StaticMethodHandleEventExecutor.execute(StaticMethodHandleEventExecutor.java:38)
23.08 23:18:30 [Server] WARN at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80)
23.08 23:18:30 [Server] WARN at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
23.08 23:18:30 [Server] WARN at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:545)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.breakBlock(PlayerInteractManager.java:303)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:262)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerInteractManager.a(PlayerInteractManager.java:214)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnection.a(PlayerConnection.java:1307)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInBlockDig.a(SourceFile:40)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PacketPlayInBlockDig.a(SourceFile:10)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.PlayerConnectionUtils.lambda$ensureMainThread$0(PlayerConnectionUtils.java:23)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.TickTask.run(SourceFile:18)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.aX(MinecraftServer.java:1012)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.executeNext(MinecraftServer.java:1005)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.IAsyncTaskHandler.executeAll(IAsyncTaskHandler.java:95)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.a(MinecraftServer.java:1134)
23.08 23:18:30 [Server] WARN at net.minecraft.server.v1_14_R1.MinecraftServer.run(MinecraftServer.java:918)
23.08 23:18:30 [Server] WARN at java.lang.Thread.run(Thread.java:748)
https://gyazo.com/ddd15a7b5a3414a2230eca8d8fdeb18f
https://gyazo.com/14695e1607761f942453c9bfd29aa93c
Came back from AFK: https://gyazo.com/95358fc65cb82e40df8a36509622011b
In reply to bradyykennyy:
Thats really strange, so whats happening is there is a ship that has loaded in but the file has been deleted. Just restart your server (or if your able to reload just ships plugin then do that). If the problem persists, go into the following.
plugins/Ships/VesselData/ships.watership and make sure that all those waterships are still present. If all else fails just delete the VesselData folder.
It seems like your running on a Unix based platform (MacOS or a remote server), something i dont have access to, so sorry about the bugs, sadly can not test on them.
In reply to Mosemister:
My non Mac friend testing was also getting issues creating the ships with ships6 configs all set.
Is there a discord or do you have a discord so I can just help get stuff to you easier?
23.08 23:39:52 [Server] WARN Exception in thread "Thread-18" java.lang.RuntimeException: Failed to read BlockState at: world: FijiWorld2 location: (2573, 69, -652)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftBlockEntityState.<init>(CraftBlockEntityState.java:48)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftSign.<init>(CraftSign.java:19)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock.getState0(CraftBlock.java:344)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock.getState(CraftBlock.java:322)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftBlock.getState(CraftBlock.java:316)
23.08 23:39:52 [Server] WARN at org.ships.implementation.bukkit.world.position.BBlockPosition.getTileEntity(BBlockPosition.java:109)
23.08 23:39:52 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getSign(ShipsVessel.java:36)
23.08 23:39:52 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getName(ShipsVessel.java:61)
23.08 23:39:52 [Server] WARN at org.ships.vessel.common.types.typical.ShipsVessel.getId(ShipsVessel.java:98)
23.08 23:39:52 [Server] WARN at org.ships.vessel.common.loader.shipsvessel.ShipsFileLoader.lambda$load$5(ShipsFileLoader.java:148)
23.08 23:39:52 [Server] WARN at java.util.Optional.ifPresent(Optional.java:159)
23.08 23:39:52 [Server] WARN at org.ships.vessel.common.loader.shipsvessel.ShipsFileLoader.lambda$load$6(ShipsFileLoader.java:129)
23.08 23:39:52 [Server] WARN at java.lang.Thread.run(Thread.java:748)
23.08 23:39:52 [Server] WARN Caused by: java.lang.IllegalStateException: Tile is null, asynchronous access? CraftBlock{pos=BlockPosition{x=2573, y=69, z=-652},type=OAK_WALL_SIGN,data=Block{minecraft:oak_wall_sign}[facing=north,waterlogged=false],fluid=net.minecraft.server.v1_14_R1.FluidTypeEmpty@61710c6}
23.08 23:39:52 [Server] WARN at com.google.common.base.Preconditions.checkState(Preconditions.java:444)
23.08 23:39:52 [Server] WARN at org.bukkit.craftbukkit.v1_14_R1.block.CraftBlockEntityState.<init>(CraftBlockEntityState.java:29)
23.08 23:39:52 [Server] WARN ... 12 more
In reply to bradyykennyy:
There isnt a discord but I do have it. Check your private message on here (next to the notification button) ill send you my discord
In reply to bradyykennyy:
Hello, this time I am very sure, you should manually back up the ships folder file (or rename the ships folder directly to ships_Backup) and then create a new file for the new version of Ships -b 6.0.0.0 R2 Alpha 2.3.1. ,
Then you manually solve your problem by manually copying your ship registration and data to a new file.
Your message shows
The new version of the configuration file does not match the old data. According to my previous reply, please try it.
Question, it only says in game that the avalible ship types are ship, op ship, air ship, marsship, and submarine. How do I get the other ones? Hybrid specifically. I wanted to have a ship i could fly but land in the water.
In reply to johnak0312:
Its more of a case of waiting until I add them in. Im having to hard code every shiptype into the plugin
In reply to Mosemister:
No worries, I just thought it was weird the ones actually included in the plugin were different than the ones on the page. Thanks for quick reply
Hello,
Awesome plugin!
Question: I am building an OPship and was wondering what is the block count limit? Like how big can I build a ship? If there is a limit, can I change it in config files?
Version: 1.14.4
PS: Sorry if this question was already answered, I probably wasn't paying attention :(
Thank you :D
In reply to ooSTORMYoo:
It hasnt been answered. There is a few answers to this question.
Yes it can be changed in the config, the default limit I believe is 3000. To understand how to change this value you need to understand how ships configs work.
The first config is the default values for the ship type. This is found in plugins/Ships/Configuration/ShipType/OPShip.yml. The values in there are what are set to any newly created ship of that type.
The next config you may want to check is the VesselData config, these are the values that apply to that ship, if you wish to change values for one ship, this is where to go.
These can be found in plugins/Ships/VesselData/ships.opship/
And then what you called your ship.
The last config to check is the "Track Limit". This the limit of tracking for a ship. This value can be increased, but the more you increase it, the more unstable Ships plugin can get as by default the block finder algorithm worked on a single tick, the more you increase this value, the longer your stretching the single tick (something minecraft doesnt like). This value can be found in the main config for ships plugins/Ships/Configuration/config.yml
You can make the server very stable and increase this value as much as you like by changing the block tracking algorithm from Ships 5. To Ships 6 (I would advise changing the config values via command to make sure you get the formatting correct).
I know its complex, I am working on making it a lot simpler, but that isnt a option yet
In reply to Mosemister:
Thank you very much for your help!
I have one more question: In BlockList.yml I have the option to set item as either MATERIAL or DETECT_COLLIDE. Is there a command to make it DESTROY a block it comes in contact with. So that the ship can ram all those corrals or trees that get in the way.
In previous versions I believe I had to set either 0,1 or 2, now I am not sure.
In reply to ooSTORMYoo:
You are correct on the previous version. This version the title is IGNORE.
If you use the command '/ships blocklist set collidetype <collidetype> <blocks>' you can see all the options (using the suggestions) and set them.
Hi The new version 2.0 is running much faster than the previous version, and it runs smoothly after running.
But I want to report a progress bar problem. When the driving ship hits the shore, the progress bar can't end it, and it will stay on top and push it up.
For example, speed 10 sails, but only 2 or 4 from the shore, the progress bar will remain on
Is there a way to choose whether the progress bar is displayed or not?
Screenshot shows the problem with the progress bar
https://photos.app.goo.gl/7qY9VV6k5hFRDCMT9
In reply to kevinhsneh:
Disabling the progressbar was a planned feature however I wanted to get alpha 2.0 out as quickly as possible, so it didn't make the cut.
That being said. The next update (shouldn't be too long of a wait) will add that config option, it will also make a lot of other ship types customizable