Inactive [MECH/EDIT] DispenserLoader v1.2 - Easily load large dispenser racks or chests (+permissions) [1060]

Discussion in 'Inactive/Unsupported Plugins' started by massacrer, Jun 15, 2011.

  1. Offline

    massacrer

    DispenserLoader 1.2 - For all your wall-of-death-related needs :)

    <font color="rgb(153, 204, 0)">Edit: now also supports chests!</font>
    <font color="rgb(153, 204, 0)">Also, apologies for being fairly inactive lately, I intend to stick to developement a bit more now :)</font>


    Download links (jar):
    <Edit by Moderator: Redacted mediafire url>
    SkyDrive
    Source code: github

    Dispenser Loader is a small project that I started working on for two reasons.

    Firstly, because it looked like a good opportunity for me to brush up on my Java skills.
    Secondly, because my friendly local server admin had an insatiable need to wire up racks of dispensers, load them with arrows and create massive walls of pure (often flaming) death.

    The problem we quickly found was with loading them. Put simply, it was tedious, loading 100+ dispensers with enough arrows to get a decent performance out of them, without having to reload them all every 2 minutes. Even with the "give" commands from various plugins, it was slow work. The admin asked me to see what I could do.

    This is the result.

    Dispenser Loader takes the unnecessary effort out of loading dispensers. It can operate in single-block mode, instantly filling a dispenser completely with an item of your choice, clearing them out just as quickly, or simply chucking a single apple or something into each one.
    Area mode, its second and most powerful mode of operation, is slightly different. Using it will be instinctive to anyone who has used sk89q's WorldEdit plugin or similar: the user selects two points by hitting them with the customisable tool (wooden spade by default), and then, with a single command, completely and customisably modifying every dispenser in the selection cuboid. For details of how the commands work, see the handy command reference below.

    The plugin currently allows server ops to use it no matter what, and incorporates basic support for the Permissions plugin. Again, see below.

    Any suggestions for features or improvements would be very welcome. Go easy with the criticism, as this is my first plugin, and please don't yell at me that this is a stupid idea. I know it will not suit every server by a long shot, but it has come in very handy on the private server I play on, and I wanted to release it to the community.

    Oh, and please at least skim-read the commands section before asking how it works. Thanks :)

    That's it for now, feel free to leave any suggestions or constructive criticism in the comments, and have fun with your walls of death :D
    Source code: github (also has an alternative command reference in the readme)

    Changelog
    * v1.1
    - First (public) release, modified area mode
    * v1.2
    - Fixed the passing of amount and material passing to area mode functions, implemented support for Chests (see the /dload mode command)
     
    Last edited by a moderator: Nov 27, 2016
    chris132 and The PC Tech Guy like this.
  2. Offline

    The PC Tech Guy

    Nice! Now I can reload my Anti-Ghast system with ease! Maybe you can add a feature where non-admins can use it, but must have the arrows provided in their inventory.

    (I despise Mediafire for its advertisements and popups... maybe you can use FileDropper, SkyDrive, or Dropbox?)
     
  3. Offline

    massacrer

    Hey, hope you enjoy using the plugin :) If you find any bugs, as I said, just let me know and I will try to get them fixed quickly. Also, that is a good suggestion, I will probably have to look into making a simple config file for finer control over the options, thanks for the idea.
    On the topic of Mediafire, I already have a Live account so I will set up a SkyDrive link to reduce frustration. Again, have fun with your walls of death :D
     
  4. Offline

    The PC Tech Guy

    Yay! First person I know who uses SkyDrive! :D And the way I found this plugin was by chance as well, when I was looking at the profile of the developer of the TimeRank plugin. (In which I found that plugin by chance as well.)
     
  5. Offline

    Plague

    changelog missing
     
  6. Offline

    massacrer

    Currently coding up v1.2, which fixes an issue with the additional arguments for area commands and implements a properties file and some extra options, should be uploaded soon. Also totally not a bump.
     
  7. Offline

    ratman150

    does it support like infinite loading? never runs out.
     
  8. Offline

    massacrer

    Ratman, unfortunately not, it is a good idea but it would probably require a database and a fair amount more coding, and I am not sure I would be able to do that and implement it well enough to actually work properly.
     
  9. Offline

    marvinody

    Thank you so much!
    I'll be uploading a video soon of my 'monster' in action and "behind the scenes" with credit given.

    314 dispensers in total (According to plugin)
    10 levels high
    Flaming lava wall
    Extreme Lag
    I'll make a video and a short tut on how to use your plugin if you would like!
     
  10. Offline

    massacrer

    Haha, nice one marvinody :) glad you had fun, and yes, a video would be great if you could make it (I'm bad with videos). Whatever you want to do with it would be good, consider placing a lot of animals / monsters in the target area for effect :) Cheers!
     
  11. Offline

    marvinody

    I was just planning on suicide, but mass genocide of farm animals sounds like it would get more attention, huh? xD
     
  12. Offline

    marvinody

  13. Offline

    ffrogman

    Is it possible to load a dispenser with coloured wool?
     
  14. Offline

    marvinody

    I can't tell you how much this actually helps me reload the new one wall I'm working on. I can switch between eggs for testing and arrows for an actual in a few seconds and that's great considering I have 2500 dispensers in my wall and that would take like 2 hours to load...
    Anyway, hope to see a new update soon!!
     
  15. Offline

    srsdude

    OH MAN, I need this so bad!
    Suggestion: more permission nodes? <3
     
  16. Offline

    massacrer

    Hey everyone, as I mentioned in the main post edit, sorry for being inactive for a while, but I'm back now and sticking to developement more closely. Marvin I saw your video, nice job there :) and @ffrogman not right now, but I will look into implementing it. @srsdude I agree, permissions are good in general but some specific ideas for permissions would help a bit. Also, a config file: necessary? useful? Opinions and ideas are welcome as always and remember to use your walls of death safely. Most of the time.
     
  17. Offline

    NemDiggers

    I'm trying to use your plugin but I'm getting nowhere, it seems. (BTW: Thanks for this, saved me a ton)

    When I try /dload mode nothing happens, no errors, nothing.

    Any ideas? Thanks.
     
  18. Offline

    woodzy

    could u please add support for furnces as well?
    /dlload fuel
    /dlload smelt
    maby that could work
     
  19. Offline

    Miningdude

    Awesome. :)
     
  20. Offline

    olha2

    could u also add like a protection?
    becouse i don't like to protect my dispensers with sign becouse theres no room for that but if u could protect them the World edit way (selecting 2 points) it wou;d be verry handy
     
  21. Offline

    rooligan

    Hy there, i am really happy that u made this plugin, but it doesn't work! i get this error:

    [SEVERE] Could not load 'plugins\DispenserLoader.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:153)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:305)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:230)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:222)
    at org.bukkit.craftbukkit.CraftServer.reload(CraftServer.java:565)
    at org.bukkit.Bukkit.reload(Bukkit.java:183)
    at org.bukkit.command.defaults.ReloadCommand.execute(ReloadCommand.java:21)
    at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:168)
    at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:492)
    at org.bukkit.craftbukkit.CraftServer.dispatchServerCommand(CraftServer.java:488)
    at net.minecraft.server.DedicatedServer.ah(DedicatedServer.java:248)
    at net.minecraft.server.DedicatedServer.q(DedicatedServer.java:213)
    at net.minecraft.server.MinecraftServer.p(MinecraftServer.java:474)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:406)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    Caused by: java.lang.NoClassDefFoundError: org/bukkit/event/player/PlayerListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:44)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at me.Massacrer.DispenserLoader.DispenserLoader.<init>(DispenserLoader.java:31)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:149)
    ... 14 more
    Caused by: java.lang.ClassNotFoundException: org.bukkit.event.player.PlayerListener
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:34)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 33 more
     

Share This Page