[MECH] UndroppableDroppables V1.16 [16/06/2011] - make building and rebuilding easier [1000]

Discussion in 'Inactive/Unsupported Plugins' started by icomeinpieces, May 25, 2011.

?

Does this plugin seem usefull to you

  1. Yes it does and is going/is on my servr

    51 vote(s)
    50.0%
  2. It does seem useful but is lacking a feature I require

    7 vote(s)
    6.9%
  3. It does seem useful but is causing errors on my server

    1 vote(s)
    1.0%
  4. it looks good, keep up the good work but my users are happy without it

    32 vote(s)
    31.4%
  5. nope seemed like it was a worst of your time

    11 vote(s)
    10.8%
  1. Offline

    icomeinpieces

    UndroppableDroppables
    Version: v1.16 <-- Next version will have a wget friendly link, stayed tuned I can not find a good place to host files that will allow me to update files and retain the link AND as well track the amount of downloads. (p.s. i tried the downloads feature of github, however despite meeting my needs feature wise, the site requires an absurd amount of time to update the link to the new file) any suggestions post here or pm me

    REQUEST: please, submit comments, bugs(wither it be stack errors or weird glitches I have not mentioned yet), constructive criticism, feature requests, or well anything else you can think of to mention. Made a video using custom settings that you think is interesting/humorous? Great post it and I'll make a note of it in my videos section.

    Ever find it annoying how you are making a awesome creation only to find out you messed up the staircase royally? All those stairs now need to be broken, remade, and replaced, causing a (sometime significant) drain on resources and time. Well my plugin aims to remedy situations like that by removing the remaking part. My plugin takes blocks such as stairs or glass and makes them drop themselves when broken instead of something else or nothing and respects build rules from Permissions and WorldGuard. Something I found with similar plugins was that there seemed to be not one plugin that handled more than one or two of the blocks out of the blocks my plugin handles, forcing me to check and update 4 plugins. Plus none of the plugins I found respected WorldGuard or Permissions’s antibuild setting allowing my users to break Glowstone when they had no permission from their user group or from a region. So I made this simple and easy to use plugin, just pop it in your plugins folder and it will handle the rest, no config files or any weird in game setup, just plug and play :)

    Config Instructions

    Show Spoiler
    * The config file is written to upon server shutdown. save your changes to the config file after a server shutdown or saves your changes before server shutdown, use the udreload command then preform a server shutdown (if needed to begin with)
    * When the plugin is run for the first time it will generate a config file under [SERVER DIRECTORY]/plugins/UndroppableDroppables/UndroppableDroppables.cfg
    * the available setting options are written in the config file, which are 0, 1, and 2
    * use option 0 to disable UndroppableDroppables influence on a given block
    * use option 1 to enable UndroppableDroppables influence on a given block
    * use option 2 to enable modified behavior such as option 2 on a bookcase would give back the resources that made that bookcase or glass which would give back one sand. all option 2 settings are explained in the config file.




    Permission nodes

    Show Spoiler
    assign a node to drop a specified block in accordance to what is set in the config file
    without the permission the drops are back to minecraft default.
    permission nodes will show up in the config file for reference after a server shutdown with versions 1.11 and above installed.
    * ud.drop.* to allow all drops
    * ud.drop.bookcase
    * ud.drop.woodenstairs
    * ud.drop.cobblestonestairs
    * ud.drop.glowstone
    * ud.drop.glass
    * ud.drop.ice
    * ud.drop.grass
    * ud.drop.boat
    * ud.admin.reload <-- for the udreload command




    Command

    Show Spoiler
    * udreload - for use ingame or through console, this command will reload the config file without the need to restart the server.




    Upgrade instructions <-- please read.
    * In most cases if there is to be a new "something" in the config file simply install the new update start the server and shut it down and the config file will update. i'll post the new "something"s in the change log in case you wish to input the values manually.

    Full list of blocks what they used to drop and what they now drop with the use of my plugin.
    Show Spoiler
    Item in question – what they used to drop – what my plugin makes them drop with option 1 enabled


    Wooden Stairs - Wooden planks - Wooden stairs
    Cobblestone Stairs - Cobblestone block - Cobblestone stairs
    Glowstone - Glowstone dust - Glowstone item
    Glass - nothing - Glass item
    Bookcase - nothing - Bookcase item
    Ice - nothing(unless you include water) - Ice item
    Grass - Dirt item - Grass item
    Boat - 3 wooden planks and 2 sticks - Boat


    Features
    * ingame/console command refer to commands section
    * Permissions support <-- not required, reverts to OP for admin nodes and everyone for drop nodes. I recommend the 3.x version

    * Creates a drop out of the following items: Wooden Stairs, Cobblestone Stairs, Glowstone, Glass, Bookcase, Ice, Grass(not Dirt), boats
    * Respects the anti-build setting of Permissions
    * Respects WorldGuard regions
    * A config file now generates upon first run. This will allow disabling certain drops if you wish or select the 3rd option for a different kind of behavior.

    download Link <Edit by Moderator: Redacted mediafire url>

    Coffee and food helps me code faster.
    [​IMG]

    Bugs/Issues
    * breaking a either type of stairs with signs on them does not give back the proper item.
    * boats will default to normal behavior if you crash into something and break the boat that way. I can not find any hooks to detect that scenario :(

    * possible issue with inf loot from Magic Carpet plugin, using UndroppableDroppables 1.14 and Magic Carpet 1.5.5 I have been unable to produce this bug, but has been reported, people please confirm this? <-- i could not reproduce this bug with 1.15 of my plugin, solved?

    * with option 1 or 2 for glowstone in the config will allow a player to still get a drop wither a player holds a pick axe or not, unlike the new default behavior that notch implemented in 1.6.6 which now requires a pickaxe to receive resources.
    * item dupe dug <-- introduced in 1.14
    * Big Brother issue not registering block breaks properly


    TODO

    * add multi world config - med
    * add option to change mining speed for certain block (ie. stairs) - low
    * commands for adjusting settings in game or console - med
    * permission support to allow setting options via permissions instead of using the global values present in the config - low

    * leaves drop when hacked <-- in minecraft now as of 1.7, use shears :)
    * allow snow slabs and blocks? yes i got this idea from Juze's DropPlugin or rather a friend brought it to my attention. - high

    * command control to reload plugin without server restart
    * add boats <-- partial, check bugs/issues
    * permissions support for fine grain control?
    * add config file

    Changelog
    1.16
    * added backup code in case permissions 2.7.4 is installed, not permissions 3.x <-- optional update if you already use permissions 3.x. nothing new otherwise.

    Old News



    Show Spoiler
    1.15
    * upgraded permissions support to permissions 3.x
    * fixed Big Brother block break detection, for good this time.
    * fixed item dupe bug from 1.14
    * some code cleanups and a small optimization.
    * cleaned up some permission bugs that seemed to crop up from time to time
    * made the plugin default to OP when permissions is not present for admin permission nodes and everyone for drops.
    * changed behavior of grass drops with option 2, it will now drop a seed and a dirt block instead of just seed (made sense to me, comment if you hate this change)

    1.14
    * fixed the bug that was preventing big brother from properly detecting blocks that were broken (namely ice that kept rolling back to water)
    * improved how my plugin handles the water that tries to spawn from breaking ice.

    1.13
    * added the command (for ingame and console control) "/udreload". this allows for reloading the config file without the need of a server restart. the permission node for this command is "ud.admin.reload"

    1.12
    * fixed a bug that when a player didn't have a build permission due to permissions or worldguard, the plugin would spam console messages

    1.11
    * added permissions support (refer to permissions section for details)
    * loads of code clean up (figured out how to do something differently)
    * fixed a bug that was still dropping one glowstone dust with option 0 despite the new way notch has reprogrammed glowstone to drop more (option 0 properly reverts to minecraft defaults now)

    1.10
    * added options for boats. option 0: default behavior, option 1: drops a boat, option 2: drops 5 wooden planks to use right away type boat=[option 0,1, or 2]

    1.09
    * added a config file for additional configurations

    1.08
    * Fixed the bug preventing UndroppableDroppables from starting if WorldGuard or Permissions were not present. The plugin should now work properly wither or not WorldGuard or Permissions is present.

    1.07
    * Added checks to disable plugin in the event the required permissions and worldedit are not present, a bug introduced in the last 2 versions

    1.06
    * Introduced permissions integration so that UndroppableDroppable listed blocks are now properly protected via he build permissions

    1.05
    * Introduced WorldGuard integration so that UndroppableDroppable listed blocks are now properly protected via regions

    1.04
    * Added dropping grass blocks not dirt when grass is broken

    1.03
    * Fixed (hopefully) the spawning water problem and some code clean up

    1.02
    * Added dropping Ice

    1.01
    * Added dropping Glowstone
    * Added dropping Wooden/Cobblestone Stairs
    * Added dropping Glass

    1.00
    * Initial release - supported dropping Bookcases only



    sorry for my poll looking the way it does, i accidentally submitted the thread before i could proof read the poll Q&A and now i can't figure out how to fix it.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Nov 27, 2016
    Travis_Hironak likes this.
  2. Offline

    maino

    No, I get 2 Drops from one Item, 1 grass and 1 dirt

    Edit: I am Using CB 819
     
  3. Offline

    Joy

    Yep I did.

    And I can't think of any plugin conflicting, but that must be the case, seeing it works perfectly fine for you :/
     
  4. Offline

    icomeinpieces

    it was working fine for me when i was testing the hell out of it the other day but now it's doing the same in my test server, i should have a fix today or tomorrow, for now here is <Edit by Moderator: Redacted mediafire url>

    sorry guys the issue, you will encounter similar problems with the stair types and glowstone as well and i know what's causing it :mad: i should have a fix in the next 48 hours (hopefully).
     
    Last edited by a moderator: Nov 27, 2016
    maino likes this.
  5. Offline

    icomeinpieces

    ok so i had to rework almost all of my code just so i could handle the previous big brother issues AND prevent the new bug that is cause extra drops with my 1.14 version.

    however for some reason when i updated my bukkit (and craftbukkit for my test server) files to build 716 (CB 860 fr server) permissions 2.7.4 started having severe errors and all around breaking horribly. so i'm now having to build against permissions 3.x . if this is a problem for anyone, speak now and i will post a version that still uses 2.7.4 code. otherwise it will be just the one 3.x file. however if i do post a 2.7.4 there will be no support that requires me to "test" with 2.7.4, I will though try to answer questions if i can "on the spot" only.

    sorry for any inconvenience this may cause, I did try my best to stick to 2.7.4 but we all knew someday it would break.

    i thought what i would do is give an update on my progress thus far.
    I have resolved the water spawning from breaking ice so that big brother can properly detect broken ice and not respawn water where it shouldn't

    i have made it so that no matter what is set in the config file for glowstone you need to use a pickaxe to get anything from it, this is a rule set forth by Notch, so I'm just rolling with it. If Notch ever changes this again my plugin should be able to roll with the changes.

    CraftBukkit required build will be 860, this is necessary as the hooks that i was needing to make this plugin work were just introduced (like the CraftBukkit team was reading my mind, SPOOKY)

    permissions support has been redone somewhat, it's built against permissions 3.x (refer to previous post on explanation)

    fixed the item dupe bug that i accidentally introduced into 1.14

    changed how option 2 for grass drop works, it now drops one dirt and one seed (just seemed right to me)

    what's left to do:

    test Big Brother compatibility (i'm not near my SQL server at the moment)

    test and tweak boat options. <-- i can only detect when a player destroys a boat sorry guys

    test build permissions (node permissions seem to be working fine)

    possibly eliminate a couple more things on my TODO list :)

    that is all that has and will change so far, any comments or suggestions let me know ASAP before 1.14 is released, otherwise it will go on my TODO list for a little bit for a later version.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  6. Offline

    icomeinpieces

    version 1.15 is released.
    enjoy the many improvements i put into it.
    please, at least read the stuff in bold in the OP, some of it is not to important, just new stuff, but the notices at the top are important.

    also if there are any plugins (namely anti grief plugins) that no longer seem to be doing their job in reversing damage due to my plugin, please let me know, the fixes introduced to fix the big brother bugs "should" apply to most (if not all) other plugins like it due to how i handled events that are shot towards my plugin during run time.

    i realize I am re-quoting your post, but I thought i should mention that I now have 1.15 out that seems to be holding steady. i tested it against MC 1.5.5 with my 1.15 version and all seems to be working out pretty well. In short I tried the /mc command floated around for a few whacking the glass every so often and nothing. the only glass that did produce a drop while using the MC was glass that was already down that the MC surrounding as i flew around. (which i assume is an intended result).

    test this out if you wish and let me know how it works out for you.

    upgrade your CB to 860 and update your copy of UndroppableDroppables to v 1.15 and run again. all seems to be working. please read at least the bolded test in the OP before using.

    looking forward to any feedback you or anyone can offer me to help improve this plugin.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  7. Offline

    Joy

    On 1.15, a minute after people started logging in after enabling:

    Code:
    10:09:31 [SEVERE] Could not pass event BLOCK_BREAK to UndroppableDroppables
    java.lang.NoSuchMethodError: com.nijiko.permissions.PermissionHandler.canUserBuild(Ljava/lang/String;Ljava/lang/String;)Z
            at com.icomeinpieces.UndroppableDroppables.UDBlockListener.checkPB(UDBlockListener.java:189)
            at com.icomeinpieces.UndroppableDroppables.UDBlockListener.onBlockBreak(UDBlockListener.java:35)
            at org.bukkit.plugin.java.JavaPluginLoader$35.execute(JavaPluginLoader.java:482)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:310)
            at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:160)
            at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:45)
            at net.minecraft.server.EntityPlayer.o_(EntityPlayer.java:107)
            at net.minecraft.server.World.entityJoinedWorld(World.java:1116)
            at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:62)
            at net.minecraft.server.World.playerJoinedWorld(World.java:1098)
            at net.minecraft.server.World.cleanUp(World.java:1075)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:395)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:309)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  8. Offline

    icomeinpieces

    it looks like you have the old version of permissions.
    please read the OP, I stressed that you will need to have CB860 and permissions 3.0
    if you can't use for whatever reason the 3.0 version, i can post a 2.7.4 permissions version of y plugin, but since i can not reliably test with 2.7.4 I won't be able to provide much support for it.

    if this is not the case then please post your CB version, permissions version, your permissions config and your UndroppableDroppables config
     
  9. Offline

    icomeinpieces

    try the 1.16 version just posted. it has fall back code for permission 2.7.4, you shouldn't get this error anymore, or at least i didn't.
     
  10. Offline

    icomeinpieces

    stuff to look forward to in the next version:
    wget friendly link (will submit link to CraftBukkitUpToDate plugin)
    multiworld config file
    config file will be yaml (and yes you will need to copy over your values [most likely])
    (hopefully) no more need for reload command the plugin will refer to the file for most checks, so just save config and go
    snow blocks and snow slab drops
    leaf drops (from breaking only not decay)
    (possibly depends on time) add ability to change options via commands.
    anything else that might get suggested after this post and before release (maybe)
     
  11. Offline

    khamseen_air

    @icomeinpieces
    Hey, not sure if this has been reported or not. I've found a bug with the wooden stairs, we put signs on the side of them to make chairs and if you destroy a wooden stair with signs on the side, it gives you back a wooden plank, not stairs, if you remove the sign first it gives you back stairs.
     
  12. Offline

    icomeinpieces

    hmmm that's an interesting bug, that's never been reported before, i'll look into it, perhaps it does the same with cobblestone as well.
     
  13. Offline

    khamseen_air

    I have no idea why I didn't think to check that at the time, but just did and yes you are correct, same thing with cobblestone stairs.
     
  14. Offline

    icomeinpieces

    I thought so, it's on my bug list now, I have a pretty good idea how to tackle the problem as well.
     
  15. Offline

    khamseen_air

    Awesome news! The first time it happened I actually thought I'd imagined it, then when it happened a couple of days later I was like "ohh.... that's what it's doing". :)
     
  16. Offline

    khamseen_air

    @icomeinpieces
    Hey man, I know there isn't an RB yet for Bukkit, but was just wondering if you plan on adding support for the new stair types (stone brick and red brick)? :)
     
  17. Offline

    icomeinpieces

    eventually yes
     
  18. Offline

    khamseen_air

    Awesome, shall keep checking back! :)
     
  19. Offline

    icomeinpieces

    k i know i have not been very active lately, part in due to school. work, and a slow decline in interest in minecraft.

    however with the recent updates to minecraft, I have more or less abandoned my other games (borderlands, starcraft 2, and a few other steam games.) so in the next week roughly i should have an update if not sooner for the new block types and a few bugs addressed. cheers and thnx for the support/feedback.
     
  20. Offline

    khamseen_air

    Really glad to hear there's an update coming! I can sympathise on how difficult it is to pull yourself away from StarCraft II. :)
     
  21. Offline

    icomeinpieces

    lol indeed it is. I have all except except 1 campaign achivement lol. missing normal under 8 hours.
     
  22. Offline

    khamseen_air

    Nice one! My campaign achievements are seriously neglected. I played it through the first time cheating I must admit simply because I'd waited so long for the story more than anything that I wanted to see it through. I've only gotten about 3/4 of the way through it without cheating and then started playing mostly MP sessions haha.
     
  23. Offline

    icomeinpieces

    i feel the same way in terms of waiting for the story. I tell you completing the final mission on hard while only using the artifact ONCE and only once was damn hard lol. fyi that was one of the achievements. :)

    expect a serious lack of attention on my plugins when heart of the swarm is released. :)
     
  24. Offline

    khamseen_air

    Haha yeah I can imagine it would be pretty difficult! Now I really want to finish my second play through. I really enjoyed the continuation of the story, though I'm still not sure I'd trust Kerrigan ever again.

    Don't worry, I wont notice if the plugin lapses a bit when Heart of the Swarm is released as I'll be too busy playing that too! :D
     
  25. Offline

    icomeinpieces

    I think it would be interesting if Kerrigan with her restored humanity still managed to retain her ability to control zerg. :) Just a hope. perhaps we can have a couple games on SC2 one of these days.
     
  26. Offline

    khamseen_air

    Yeah, that's the way I'm kind of expecting it to go. I mean, they may have made her look mostly human again, but the changes to her mind were extensive and I don't think it's that easy somehow haha. :) That'd be pretty cool!
     
  27. Offline

    icomeinpieces

    hmmm it seems i have been so out of touch with craftbukkit that the permissions system i use is no longer around.
    i'll be adding permissionsBukkit support soon. till then a quick load of permissionsBukkit and the superPermsBridge plugins on my test server seems to indicate that that setup works for now.
     
  28. Offline

    khamseen_air

    Yeah, I've been using PermissionsBukkit with the SuperPermsBridge for a while with it and it's all ok. Not a long term fix, but it works well enough for now haha. :)
     
  29. Offline

    khamseen_air

    @icomeinpieces Hey man, any luck getting this updated at all?
     
  30. Offline

    khamseen_air

    @icomeinpieces

    Hey man, not sure if you're still checking this but I thought I'd let you know this fails to load on the latest RB (#1988), giving the following error in the log;
    Code:
    [SEVERE] Could not load 'plugins\UndroppableDroppables.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidPluginException: java.lang.NoClassDefFoundError: org/bukkit/event/vehicle/VehicleListener
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:148)
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:287)
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:211)
    at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:206)
    at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:182)
    at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigurationManager.java:53)
    at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:147)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:407)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
    Caused by: java.lang.NoClassDefFoundError: org/bukkit/event/vehicle/VehicleListener
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(Unknown Source)
    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$000(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:41)
    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 com.icomeinpieces.UndroppableDroppables.UndroppableDroppables.<init>(UndroppableDroppables.java:45)
    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:144)
    ... 8 more
    Caused by: java.lang.ClassNotFoundException: org.bukkit.event.vehicle.VehicleListener
    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:41)
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:29)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 27 more
     
  31. Offline

    icomeinpieces

    i realize i have been inactive for some time.
    with me being in full time studies and other commitments, it's been hard to get back into the swing of things.
    plus I kinda lost interest in minecraft, part due my friends ditching it for other games and part that i got sick of maintaining my servers, which was one of the reasons for me making a plugin.

    however I have regained my "youthful" vigor in seeing my creative talents flourish again, mostly due to the recent news that craftbukkit team is now working with Mojang to provide mod support for both server and client side modding (as i understand recent news).
    In response to that, I have loaded my servers up and wish to start programming plugins again.

    it will be a little while before i can release an update as this plugin is WWAAYY behind the times and is why it is not working worth crap right now. i'll be looking into this plugin after i have updated my other plugin if there is enough interest in this plugin of course. when i do release a new version i'll make a new place for it and link to it from here for people who have been watching this plugin.

    Again, i apologize for the lack of commitment on my part.
     
    khamseen_air likes this.

Share This Page