ToughBoats

ToughBoats

ToughBoats v1.3

Are you sick of boats in Minecraft breaking if you look at them wrong? Smashing into bits and pieces if you run into a lily pad or brush the bank of a river? Ever think that maybe a boat should be a little more sturdy than something made of balsa?

Then this plugin is your answer.

ToughBoats is a very simple Bukkit plugin that will prevent any boat from being destroyed except by direct player interaction. In short, with ToughBoats installed, you can run your boats around, bang into things, rub the river edge, smash it into trees, whatever- and it will not break!

You CAN still break your boat by smacking it with a tool or your hand, in which case it will drop just as normal. Any damage from collisions, etc. will not be allowed to destroy the boat. Boats that are placed in lava and/or fire will be damaged and destroyed normally; this plugin only prevents destruction of boats on water!

No More Desync!

In addition, ToughBoats enables you to eliminate the desynchronization of players in boats that "drift" away from the server's location. With this feature enabled, every 60 seconds (default, configurable) the player is teleported to where the server believes they are, forcing the client to update their location. The player will experience a brief "hop" as they are teleported to their proper place. No more running into the shore when your client shows you a hundred blocks out in the ocean!

CONFIGURATION NOTE FOR V1.2

If you want to use the resync feature, you MUST enable it in config.yml! If you don't you'll only have access to the basic features of ToughBoats.

CONFIGURATION NOTE FOR V1.3

You can now disable boat protection while still using the player resync feature. Edit config.yml and set "protectboats" to false if you wish to disable boat protection. It defaults to true.

Installation

To install ToughBoats from scratch, you must first invent the universe. We'll assume you've done that part.

  1. Install a CraftBukkit server and configure it properly. More information here: http://wiki.bukkit.org/Setting_up_a_server
  2. Download ToughBoats.jar from the menu on the right.
  3. Copy ToughBoats jar to the folder called "plugins" on the server you created in step 1.
  4. Stop your server. You can do this by typing "stop" in the console.
  5. Start your server. ToughBoats is now installed.

Configuration

ToughBoats creates a configuration file called "config.yml" in the "ToughBoats" directory in your server's plugins directory. This is a text file you can edit with any standard text editor.

The config.yml file has several options. If you're upgrading from V1.0 of ToughBoats, I suggest you stop your server, DELETE config.yml, update the ToughBoats.jar file and restart your server. If you prefer, see the sample config.yml in the comments.

YOU MUST ENABLE THE "RESYNC" FEATURE MANUALLY BY CHANGING THE PROPER LINE IN CONFIG.YML! IT DEFAULTS TO BEING DISABLED.

Usage

Using ToughBoats could not be simpler.

  1. Log into your server.
  2. Collect the materials to build a boat. More information here: http://www.minecraftwiki.net/wiki/Boat
  3. Find an ocean, a river or a pond somewhere in your world.
  4. Place the boat in the body of water you located.
  5. Get into the boat by right-clicking it.
  6. Ride the boat by using the forward movement key. Steer using the mouse.
  7. Enjoy your boat not breaking when you run into things.
  8. When you are done riding, use the LEFT SHIFT key to get out of your boat.
  9. Recover the boat by striking it with a tool or your empty hand.

Permissions

ToughBoats has no permissions. If you can ride a boat, you can use it.

Commands

ToughBoats has no commands. It keeps boats from breaking by hitting things, what's to command?

Crafting Recipes

ToughBoats introduces no new crafting recipes. You build a boat, you ride the boat.

Support

If you need support feel free to post here or create a ticket.

To-Do

  • Creeper explosions damage boats (or appear to in some cases). Determine if this is true and then determine whether to keep behavior or mitigate it.
  • [FIXED] Boat position bugs in Minecraft (https://mojang.atlassian.net/browse/MC-26026) are more easily encountered when using ToughBoats because boats don't break and have to be replaced all the time. Investigate position fix or other mitigation strategy.
  • [FIXED] Can't disable boat protection while still being able to use player resync.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of rustyshakelford2 rustyshakelford2 Feb 04, 2014 at 05:37 UTC - 0 likes

    Working great on my 1.7 spigot server. Thanks for the plugin! We've got a nice boat race map and it's usable now.

  • Avatar of pacificfils pacificfils Dec 23, 2013 at 22:38 UTC - 0 likes

    I'd like a feature where the boat *WILL* break unless there's a permission node.

    So, for example, if someone has the toughboats.nobreak node, their boat will not break. However, someone without said node will have their boat break.

    Thanks!

  • Avatar of bounce_raff bounce_raff Oct 22, 2013 at 01:55 UTC - 0 likes

    Does this work for 1.6.4?

  • Avatar of Vortakor Vortakor Aug 31, 2013 at 08:32 UTC - 0 likes

    Tip: Instead of #4 and #5 of Installation, you can also reload plugins without stopping the server via the /reload command.

  • Avatar of darrenstraight darrenstraight Aug 24, 2013 at 09:44 UTC - 0 likes

    Brilliant, will serve well in our boat races, thank you! :)

  • Avatar of Cyclometh Cyclometh Aug 04, 2013 at 19:09 UTC - 0 likes

    @techrosis: Go

    I'm not familiar with Denizens but I'll check it out. Sounds like both plugins are trying to sink the same event.

    BFAK:90761355,555d4433084f62c1a351b85221e479a0c93723f0ac8ecc289796fe4e32955e3a

  • Avatar of techrosis techrosis Aug 04, 2013 at 12:33 UTC - 0 likes

    Plugin seems to be working just fine, however, it's causing a ton of NPE's on console with Denizens 0.9.2 something about a vehicledestroyrevent

    Could not pass event VehicleDestroyEvent to Denizen v0.9.2-SNAPSHOT
    org.bukkit.event.EventException
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:427)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62)
            at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:477)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:462)
            at net.minecraft.server.v1_6_R2.EntityBoat.l_(EntityBoat.java:306)
            at net.minecraft.server.v1_6_R2.World.entityJoinedWorld(World.java:1354)
            at net.minecraft.server.v1_6_R2.World.playerJoinedWorld(World.java:1335)
            at net.minecraft.server.v1_6_R2.World.tickEntities(World.java:1223)
            at net.minecraft.server.v1_6_R2.WorldServer.tickEntities(WorldServer.java:480)
            at net.minecraft.server.v1_6_R2.MinecraftServer.t(MinecraftServer.java:572)
            at net.minecraft.server.v1_6_R2.DedicatedServer.t(DedicatedServer.java:226)
            at net.minecraft.server.v1_6_R2.MinecraftServer.s(MinecraftServer.java:486)
            at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:419)
            at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
    Caused by: java.lang.NullPointerException
            at net.aufdemrand.denizen.scripts.containers.core.WorldScriptHelper.vehicleDestroy(WorldScriptHelper.java:1621)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
            ... 13 more
    
  • Avatar of Cyclometh Cyclometh Aug 04, 2013 at 09:44 UTC - 0 likes

    @damnnicholas: Go

    Thanks very much!

  • Avatar of damnnicholas damnnicholas Aug 04, 2013 at 08:55 UTC - 0 likes

    Hey, i made a simple video both proving and explaining what this plugin does, even though it is awfully simple. You can find it here: http://www.youtube.com/watch?v=fmC8Vmjmm18&feature=youtu.be

    EDIT: Reuploaded: http://www.youtube.com/watch?v=fmC8Vmjmm18&feature=youtu.be

    Last edited Aug 04, 2013 by damnnicholas

    Sup! I has a youtube channel and make bukkit-related videos and more! If you want your plugin featured, send me a request! Youtube Channel: https://www.youtube.com/user/DamnicholasGaming?feature=mhee

  • Avatar of 123ABCDEF123 123ABCDEF123 Aug 04, 2013 at 08:24 UTC - 0 likes

    Staff Edit: Please do not spam or advertise.

    Last edited Aug 04, 2013 by ZeusAllMighty11

Facts

Date created
Jul 28, 2013
Category
Last update
Aug 04, 2013
Development stage
Release
License
MIT License
Curse link
ToughBoats
Downloads
2,441
Recent files

Authors