[INACTIVE][FUN/MECH] IronBoots v0.21 - Auto-float and Sink Customization [860-928]

Discussion in 'Inactive/Unsupported Plugins' started by schools, Jun 20, 2011.

  1. Offline

    schools

    IronBoots - Auto-float and Sink Customization
    Version: 0.21| Download: JAR / ZIP (source) (revisions)​
    Slow servers: do not install.
    [​IMG]


    IronBoots allow players to experience a Zelda inspired change to the swimming mechanics of the game. Players will float/bob in the water, but they might sink if they swim out too far! Equipping Iron Boots will cause them to immediately sink, and make it impossible to get back to the surface.

    Features:
    • Automatically float above water
    • Sink with Iron Boots
    • Sink in deep water
    TO-DO list (open)



    TO-DO:
    • See Changelog for upcoming plans
    • GitHub source
    • Implement all boots / custom armors (will require BukkitContrib)
      • Complete customization for velocities on air/land/water/lava
    • Suggestions?



    Bugs (open)

    Bugs:
    • Version 0.21: onDisable() will throw some harmless errors.
    • Version 0.2: Sneak is broken




    Changelog:
    Version 0.3 Plans
    • Finer tuned variables to mimic the client-side water bobbing
    • Permissions/Group Manager support
    • Basic Config: AutoFloat, EnableSneak, BootType (null for sneak only)
    Version 0.2 (5/25/2011)

    • Optimized efficiency and added events - first stable build
    • Checks for BukkitContrib for efficiency- will be of more use in future updates
    • Fine-tuned variables to correct the auto-float so it's not annoying
    • Added feature to sink in deep water (currently set to 4 blocks down)
    • Added messages
    Version 0.11 (5/20/2011)

    • Sneak now enables normal swimming (kind of useless since you can't sneak and jump at the same time, but it allows you to sink on command)
    • Minor bug fix (removed unused event)
    Version 0.1 (5/20/2011)


    • Clearly the features are very limited. I hesitated to release this, but I just want to give a taste of what I'm working on in case others are interested. Revisions in the TO-DO list should be pumped out extremely fast once I pick this up again considering the short amount of time to get this plugin working at a "stable" level.
     
  2. Offline

    dak393

    Very cool plugin :)
     
  3. Offline

    Zarius

    Very cool idea :D

    I get the following error on RB860

    error (open)
    Code:
    00:08:21 [SEVERE] Error occurred while enabling IronBoots v0.1 (Is it up to date?): Event PLAYER_INVENTORY is not supported
    java.lang.IllegalArgumentException: Event PLAYER_INVENTORY is not supported
        at org.bukkit.plugin.java.JavaPluginLoader.createExecutor(JavaPluginLoader.java:781)
        at org.bukkit.plugin.RegisteredListener.<init>(RegisteredListener.java:26)
        at org.bukkit.plugin.SimplePluginManager.registerEvent(SimplePluginManager.java:349)
        at me.schooley.ironboots.IronBoots.onEnable(IronBoots.java:18)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:125)
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:799)
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:253)
        at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:140)
        at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
        at net.minecraft.server.MinecraftServer.e(MinecraftServer.java:232)
        at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:219)
        at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:146)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:283)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    


    But seems to work ok. Couple of suggestions, perhaps the sneak key could allow the player to swim underwater as normal? Also, when wearing the iron boots would it be possible to allow the player to walk along the bottom and jump at the normal height (so that you could still climb back out).
     
  4. Offline

    schools

    Interesting, I wasn't expecting any errors while the plugin was this basic. Anyway, I like your suggestions and I will look to implement them. Thanks!

    Don't ask me why the forum thinks there are two spoilers below:
    Edits (open)
    Edits (open)

    Edit: I forgot that I had registered an event for PLAYER_INVENTORY and I ended up removing the event methods, so I am sure this will fix the problem. I'm rolling out a 0.11 update and the next updates will be focusing on the Changelog and suggestions.

    Edit2: I went ahead both of your suggestions since they were such small changes. I should have created an event for sneaking but since the code is already so messy and I plan to change it all I just made it check every time like everything else. After I test it I will be uploading it momentarily.

    Edit3: Jump was a bit more complicated- I commented it out and will add it next time.
     
  5. Offline

    Fokson

    This actually has a TON of potential, bro, so do us a favor and keep at it!

    I think this plugin would be pure gold if you made it so the player would only auto-float for a configurable amount of time, and then they sink and are unable to use jump to get back to the surface. This would make boats actually have a point in the game, hurr hurr (as well as add to the Zelda-like theme that you seem to be going for!) If you want to further enhance the Zelda mechanic, make it so the sneak key only lets you dive so far, and then makes you auto-float again, maybe having some item equipped increasing this amount.

    Either way, keep up the good work! =)
     
  6. Offline

    schools

    Thanks for the awesome feedback and suggestions! I will definitely implement your ideas. Right now I have revised my entire code but I'm waiting for my server to go back up so I can test it properly. Rest assured I will be keeping this plugin up to date and adding requests as they come- receiving feedback is a high motivator and working on this project is quite fun.
     
  7. Offline

    Synful0ne

    Doubt im the only one wondering but is that custom Version of original texture pack your using. If so.. Id love it if you posted link cant seem to find a good zelda texture pack.. that isnt overdone or like Windwaker.
     
  8. Offline

    schools

    Now that's something I can provide instantly! Go to www.minecraftskins.com and search "Link" (without quotes) and find the author Corey Ordway.

    Project status: Taking a while because I'm trying to figure out custom events for "un[fully]implemented" methods and becoming obsessed with optimization because I don't like the way most plugins demand data instead of implementing more efficient events.
     
  9. Offline

    hatninja

    awesome! this would go great with soggy pumpkins!
     
  10. Offline

    schools

    Updated to 0.2 and tested it on the new build, check the Changelog for what's new! Sneak is currently broken (it has the opposite effect that it should have) but I'll fix that, maybe (MAYBE) add a couple more features and then update it to 0.21, but for now I don't think that's a major issue.

    Also, to developers- what are your thoughts on using a scheduled task instead of the PLAYER_MOVE event? This alternative would make the plugin more responsive; however, I am not sure how to integrate that with the other events which pertain to each player, and I have the feeling it will put a lot of stress on the server if I can't use those events since there are already other plugins using scheduled tasks.
     
  11. Offline

    Synful0ne

    Actually meant your Texture pack not the skin :p
     
  12. Offline

    schools

    Sorry bud I 'shopped it all in my attempt to mimic Zelda 64. You won't find it anywhere... :'(

    Let me know what you want, I can probably give you the elements to add to your current texture pack.
     
  13. Offline

    G1R Productions

    Could I get the jar file by its self not zipped or anything because my computer tends up decompress everthing thats in a .zip file when opening it.
     
  14. Offline

    schools

    Done! Check the main post or just click here. I had just recently changed it to a ZIP so that I could put the version in the file name, but I will keep the latest JAR file in the main directory as well.
     
  15. Offline

    G1R Productions

    01:54:31 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-890-g0afdf9d-b931jnks (MC: 1.6.6)
    01:54:31 [SEVERE] Could not load 'plugins/IronBoots.jar' in folder 'plugins':
    java.lang.ClassNotFoundException: me.schooley.ironboots.AutoJump
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:247)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:168)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:199)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:122)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:89)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
     
  16. Offline

    schools

    VERY sorry, I was experimenting with another plugin which had branched off of this one and I exported it under the same name (I was wondering why the JAR was larger than the ZIP). I corrected the file, it should definitely work now.
     
  17. Offline

    G1R Productions

    Hmm not sure if this error is different but:
    Code:
    02:02:28 [SEVERE] Could not load 'plugins/IronBoots.jar' in folder 'plugins':
    
    java.lang.reflect.InvocationTargetException
    
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:173)
    
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:199)
    
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:122)
    
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:118)
    
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:89)
    
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:52)
    
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:132)
    
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:335)
    
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    Caused by: java.lang.NoClassDefFoundError: org/bukkitcontrib/event/inventory/InventoryListener
    
    at java.lang.ClassLoader.defineClass1(Native Method)
    
    at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
    
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
    
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
    
    at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
    
    at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
    
    at java.security.AccessController.doPrivileged(Native Method)
    
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
    
    at me.schooley.ironboots.IronBoots.<init>(IronBoots.java:16)
    
    ... 13 more
    
    Caused by: java.lang.ClassNotFoundException: org.bukkitcontrib.event.inventory.InventoryListener
    
    at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    
    at java.security.AccessController.doPrivileged(Native Method)
    
    at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
    
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:315)
    
    at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
    
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
    
    ... 27 more
     
  18. Offline

    schools

    Wow, thanks for letting me know. I've uploaded a working version now. I thought it would work if the user didn't have BukkitContrib installed but I didn't quite have it all configured properly. It will definitely work now, and I tested it to make sure it would. I'm heading to bed now but I'll be able to work on it some more in the morning.
     
  19. Offline

    G1R Productions

    Alrighty, for some reason the config file isn't being created. Also when bobbing up and down if I push the jump button (space bar) it cancels the bobbing.

    And another error:
    Code:
    02:43:47 [SEVERE] Error occurred while disabling IronBoots v0.21 (Is it up to date?): null
    java.lang.NullPointerException
        at me.schooley.ironboots.IronBoots.onDisable(IronBoots.java:66)
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:128)
        at org.bukkit.plugin.java.JavaPluginLoader.disablePlugin(JavaPluginLoader.java:878)
        at org.bukkit.plugin.SimplePluginManager.disablePlugin(SimplePluginManager.java:280)
        at org.bukkit.plugin.SimplePluginManager.disablePlugins(SimplePluginManager.java:273)
        at org.bukkit.plugin.SimplePluginManager.clearPlugins(SimplePluginManager.java:301)
        at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:329)
        at org.bukkit.command.SimpleCommandMap$ReloadCommand.execute(SimpleCommandMap.java:281)
        at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:290)
        at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  20. Offline

    schools

    That's being caused by one line of code which I forgot to remove since I was already working on the next version as I tried to fix this one for you. It shouldn't interfere with the actual plugin for now so I'll work on the config and then upload the next version. As for the space bar, all that should do is evoke a client-side bob so it doesn't cancel it out but it creates a more glitchy effect. Once I fine tune the variables in the next version I'll be able to detect a velocity and tell the plugin not to bob again. I also forgot to mention that this plugin is NOT going to work on laggy servers and will only be a nuisance. I'll look into other methods but I don't think this is going to be very avoidable.
     
  21. Offline

    G1R Productions

    Im prob just going to disable the bobbing and use it for the iron boots and looking forward to the update.

    EDIT: also it spams the boots equipped when in water.
     
  22. Offline

    schools

    Just a quick note- sorry to those who have been waiting for an update- I'm surprised of how many downloads I've received. Yesterday and the day before that I got tonsillitis but thanks to the doc now I'm healed. I'll try to push out an update tonight so check back later, but I can guarantee an update tomorrow.

    I need to finish 2 things I'm working on:
    1. Implementing scheduleAsyncRepeatingTask coexistence with Player Events via HashMaps for fastest response.
    2. Basic Config - Yay!

    Once those are done we'll be smooth sailing towards many features.

    Sorry about the guarantee- having problems. If you're a developer feel free to look at my current source and tell me why I can "get" data from a Hashmap from my listener class after I "put" it (it's not there in the current code, I just tried it and it worked), but not from my main class...
     
  23. Offline

    feildmaster Retired Staff

    You can not format the spoiler tag, or it will break. When using spoilers, highlight the line and click the "remove formatting" eraser.
     
  24. Offline

    schools

    Just so any fans know, this mod is not in active development anymore. I haven't had any spare time to work on it, and I was frustrated with the latest attempt to get it working which is why I posted my source on GitHub for anybody who may wish to continue development. Sorry guys! I will pick up work in the future (maybe), most likely after I create many other mods which I am more interested in implementing than this one. I might jump back on it if a bunch of people want it to be improved, but for now I don't see any inspiration since I don't even like it in my own server.

    R.I.P. IronBoots.
     

Share This Page