Inactive [MECH] DropChest v0.8.3 - Chests that absorb dropped items [1.1-R3]

Discussion in 'Inactive/Unsupported Plugins' started by narrowtux, Feb 9, 2011.

  1. Offline


    DropChest - Chests that absorb dropped items
    Version 0.8.2
    Important! When migrating from 0.6 to any above version, you have to move the DropChest.txt from server/plugins/DropChest.txt to server/plugins/DropChest/DropChest.txt
    This is because I have to follow the Bukkit plugin saves guidelines.

    This plugin automatically adds dropped items to near chests. That is very useful for automatic farming and monster traps that gather loot.
    • automatically suck dropped items that are near a chest to that chest
    • customizable warning if the chest is nearly full
    • list your DropChests and watch how much percent is still free
    • Permissions
    • Filter
    • Storage Minecart support
    • Dispenser and Furnace support
    • Item information
    • Chest protection
    • Automatic Owner tracking
    • Double-Chest support

    GitHub Project (Source Download)
    Download development version

    Donate, if you want to support me ;)


    Show commands (open)

    To add a chest to the "watchlist", type
    /dropchest add [radius]
    After that, rightclick the chest that you want to add. Radius is the radius in which the Chest should suck items. Default value is 2.

    To remove a chest from the "watchlist", just type
    /dropchest remove chestid
    where chestid is the number of the chest that you get when you call /dropchest list

    You can list the chests that are on the watchlist via
    /dropchest list
    You can adjust the radius of a chest via
    /dropchest setradius chestid radius
    You can check which id and radius the Chest in front of you has:
    /dropchest which
    after that, rightclick on the Chest to get information about it.
    If you are sitting in front of the console, or don't want to rightclick, you can use
    /dropchest info chest
    It will generate the same output as /dc which.

    You can teleport to a chest via
    /dropchest tp chestid
    where chestid is the ID of the dropchest

    You can set the name of a DropChest via
    /dropchest setname {chestid} {newname}
    The name is displayed in chest is full warnings, and in the DropChest list!

    If you migrate from 0.6 to 0.7, you can set the owner of a dropchest by typing:
    /dropchest setowner {chest} {newowner}
    You can protect a chest by typing
    /dropchest protect {chest} {on|off}
    You can always use /dc instead of /dropchest if you are lazy.

    Another very helpful command is /dcitem:
    /dcitem [NAME|id]
    This can be used to obtain the name of an item by it's id or get an id of the item-name.
    This doesn't work with all names, though.

    Use the new command /chestinfo {name|id} to get info about what's inside the chest.
    Omit the argument and rightclick on any chest to get info about that.
    >/dcitem 4
    >/dcitem cobblestone

    Show Configuration (open)

    You can configure DropChest by pasting the contents of the following block to plugins/DropChest/dropchest.cfg
    #Should the dropchest drop items when it gets a redstone signal?
    #How long should the dropchest not suck items after it has dropped them
    #Should users be able to protect chests like in LWC?
    #Which is the default radius if you omit the radius argument in /dropchest add?
    #Which should be the maximum radius for players that have not dropchest.setBig and aren't ops?
    #At which fill-status should the chest warn you?
    #Which message should appear as warning?
    #You can use this variables (example):
    # $owner : the owner of the chest (narrowtux)
    # $name  : the name of the chest (my superduper mobtower chest/#42)
    # $fill  : The fill status, in percent (81)
    warnmessage=$owner, your chest $name is nearly full($fill%).

    Filter / Storage Minecarts
    Show Filter/Storage Minecarts (open)

    Filters have changed in version 0.6. There are now 3 seperate filters that are for sucking items, pulling items from passing minecarts and pushing them to passing minecarts.
    You can now set the filters by either using commands or using the interactive mode. Let me show you the interactive mode first:
    to begin, type
    /dropchest filter {suck|push|pull}
    Note: choose one of suck, push or pull, please (for example /dropchest filter suck)
    Then you will enter the interactive mode. In this mode you can edit the selected filter by hitting the chest with the desired item in your hand.
    To edit another filter, type the above command again.
    To finish your filter, type
    /dropchest filter finish
    Commands mode:
    /dropchest filter {suck|push|pull} {chestid} {itemid|itemtype|clear}
    Call the filter-command like above, as second argument, use the chest-ID, and as third argument, either type the item-ID, the name of the item (as they appear here: org.bukkit.Material) or type clear to clear this filter.
    Please note! The suck filter acts different from the Pull/Push-Filter when it's empty. When the suck-filter is empty, the chest will suck every item. When a Pull/Push filter is empty, it won't take or give any items to a passing minecart.

    Show Permissions nodes (open)

    You can use these nodes:
    • dropchest - To get the right to use DropChest
    • dropchest.create - To call /dropchest add
    • dropchest.remove - To call /dropchest remove chestid
    • dropchest.radius.set - To set the radius of a Chest to something else than 2
    • dropchest.radius.setBig - To have unlimited radius
    • dropchest.which - To have access to the /dropchest which command
    • dropchest.teleport - To be able to teleport via /dropchest tp chestid
    • dropchest.filter - To set or reset filters
    • dropchest.filter.set - To set filters in interactive mode
    • dropchest.filter.reset - To reset filters in interactive mode (click with nothing in hand)
    • dropchest.list - To have access to /dc list and /dc info
    • dropchest.destroy - To be able to break a dropchest without removing it before.
    • dropchest.protect - To be able to protect a chest
    • dropchest.moderator - To be able to modify a dropchests properties even if you're not the owner. Also, ops and the console can do that.
    You can use these variables:

    • dropchestmaxradius - To adjust the maximum radius for a group or a user
    How to use variables:

          dropchestmaxradius: 1000
    This is just an example and this also works with groups!

    Version 0.8.2
    • Fixed the loading issue.
    Version 0.8.1
    • Supports SuperPermissions (when no Permissions plugin was found)
    • Fixed show stopping bugs.
    • Use YAML as persistence storage. You can find the new file at plugins/DropChest/dropchests.yml
    Show Changelog (open)

    Version 0.8
    • Performance improvements
    • Fixed a bug that caused dropchest to eat stacks in storage minecarts (thanks @Tenebria )
    • Implemented per-chest delay (thanks @Gibbers )
    • Made /dc list per player. Use /dc list {pagenum} all to see all showcases (works without all in the console)
    Version 0.7.9
    • Fixed bug where items were lost when a chest/minecart was full on pushing/pulling
    • Little code cleanup
    Version 0.7.8
    • Fixed a bug where, for example, if you had several ItemStacks of 1 block each, only 1 ItemStack would be pulled to the chest or pushed to the MineCart, the others would be deleted.
    • Minecarts can now be over/under DropChests to be handled
    Thanks M-Type!
    Version 0.7.7
    • Double Chest support
    Version 0.7.6

    • Fixed some issues when using a Permissions implementation that is not complete (in this case EssentialsGroupManager as reported by @Kartus )
    Version 0.7.5

    • you can add all items to a filter by using the keyword "all" instead of the material-type
    • you can obtain info about a dropchest without having to rightclick (/dc info {chest}). However, the output is the same as when you would have called /dc which
    Version 0.7.4

    • warnfillstatus=-1 now disables the "chest is full"-warning
    Version 0.7.3

    • Fixed a bug that came with a new Bukkit release
    Version 0.7.2

    • /dc which now says something again, thanks to @Liger_XT5.
    Version 0.7.1

    • Removed debug messages :D
    Version 0.7

    • Configuration added
    • DropChests can drop their contents when a redstone input is present
    • Now, only the owner of a dropchest can adjust it's properties
    • The owner of a dropchest can protect the chest. So other players can't open it.
    • Customizable warning message and fill threshold.
    • Warnings will now be displayed to the owner of a chest, if he is online.
    • And made compatible to Minecraft 1.5_01. Older versions of craftbukkit won't work!
    Version 0.6.9

    • /dc which even more fancy
    • Removed debug message reported by @Reterg
    • Implemented the /item command which tells you what item this id is or vice-versa.
    Version 0.6.8

    • /dc which now looks fancy and shows the filtered items, too.
    Version 0.6.7

    • Added dropchest-id to the /dc which output.
    Version 0.6.6

    • Fixed NullPointerException on startup
    Version 0.6.5

    • Fixed /dc which
    • Refactored some code
    • You can now also use names of dropchests in the commands.
    Version 0.6.4

    • Fixed chunk unload that results in crash
    Version 0.6.3

    • Updated to bukkit-version 602
    • Tried to fix Thread-Exceptions. Breaking DropChests still not fixed, maybe happens later this day ;)
    Version 0.6.2

    • Permissions not required anymore.
    • Thread-Safe. No more ConcurrentModificationCheck Exceptions!
    Version 0.6.1

    • Fixed loading issues. You have to move your old DropChest.txt to the folder DropChest/ in your plugin directory!
    Version 0.6

    • Seperate filters for sucking, pushing to minecarts, pulling from minecarts
    • Multiple users can add dropchests at the same time now!
    • Added a name to the DropChests
    • Fixed Minecraft 1.3-Bug (method net.minecraft.server.Entity.q() was not available any more)
    I'm working on extended furnace handling, that fuels automatically go to the fuel slot and so on. This is still buggy so I didn't released it, it comes in the next version.

    Version 0.5.1
    • Multiworld works now
    • Paginated /dc list
    • Persistent DropChest IDs
    Version 0.5

    • Added support for Storage Minecarts
    • Added support for Dispensers and Furnaces
    Version 0.4.2

    • Fixed bug that Tearlow described.
    Version 0.4.1

    • Fixed loading bug when migration from versions 0.3 or below
    Version 0.4

    • Added filters.
    Version 0.3.1

    • Multiple world support
    • Since the Craftbukkit version from feb, 13 at 12:00 CET, Chests that are destroyed by Players are rebuilt
    • Worked around NullPointerException when Permissions is not loaded properly
    • Files now hosted on github ;) that non-members also can download DropChest
    Version 0.3

    • Permissions support.
    • Configure the maximum radius for each single user or group (via Permissions)
    • Fixes bug with unhandled Exception in the EntityWatcher-Timer.
    • /dropchest can be called via /dc for short
    • /dropchest without arguments just lists the commands that the user can execute, as well as his maximum radius.
    • Oh, and I corrected the Pythagoras formula for radius calculation. Shame on me...
    Version 0.2.3

    This is quite a huge bugfix update. Permissions come next ;)
    • Broken DropChests are now automatically removed from the list
    • changed package name from com.bukkit.narrowtux.DropChest to com.narrowtux.DropChest to prevent not loading issues coming up next monday
    • Added command "which", that allows you to see which id a chest has and if it is already a dropchest.
    • Linked against the most recent versions of Bukkit and Craftbukkit. The Bukkit guys have fixed a lot of bugs that affected this plugin. In my tests, there were no more nullPointerExceptions or similar errors. Also, DropChest now also works on very fresh placed Chests
    • And a currently constant maximum radius of 20 blocks
    Version 0.2.2

    • DropChest are now removed when you call /dropchest remove chestid
    • DropChest now have a minimum radius of 2
    • Fixed some saving issues
    Version 0.2.1

    • Fixed a problem where the radius has not been saved
    Version 0.2

    • Added a radius
    Version 0.1

    • First Release of DropChest
  2. Offline


    It's world.dropItemsNaturally(ItemStack, Location)
  3. Offline


    Ok 2 issues when powering chests to make them drop their items:

    1. When using a double box it only drops items in one half of the bigger box. Doublechest inventory will fix that when it's done i suppose.

    2. Alot of items get lost.. i've tried it a couple of times but when ejecting multiple stacks (of 64), it seems to register only one stack. The rest is simply lost.
  4. Offline


    You should add dropchest.cfg creation on first ever run of plugin to make it easier for users to edit the configuration without having to worry about making typo's or typing in the wrong CaSe when creating the .cfg file manually. Otherwise, great plugin!
  5. Offline


    We already knew about the first, it's because it's not real double chest implementation. What it does is to push stuff to chest next to it if it is full. It will be solved when a double chest is considered as a dropchest. See my earlier posts to see more info.
    @EdTheLoon narrowtux already told us he will make it.
  6. Offline


    Yeah i've read something was up with that. But the first point is actually a bonus as long as the other problem still takes place. Otherwise i would have lost the complete content of a double chest! (apart from 1 stack)

    Am i the first that encounters this by the way? Ejecting items from a chest to only give one stack, no matter how many were in the chest? (and the other stacks being gone)
  7. Offline


    I think I don't have that problem. Maybe it matters if the stacks are next to each other, because I haven't tried to fill a chest with only one kind of item(but I have tried with multiple stacks of same item, just not next to each other).

    It looks like the code will go trough a quite big revamp.
  8. Offline


    How do u set it to take minecarts that are on a rail?
  9. Offline


    /dropchest filter pull [ChestID] [What to pull]
    To push to storage minecart : /dropchest filter push [ChestID] [What to push]
  10. Offline


    i have a little Feature Request.

    We use your plugin now over 2 month, and everone is busy to make a Mobtrap, or automated Farming system basicly realy nice.
    BUT, Now if a player does not come online for a while. Or does not empty his chest. This keeps these items lie on the ground. This is very bad for the server performance.

    Could you build a function that makes a 100% fully automatic box blank so that items can never lie on the ground.

    If the player makes his chest is not empty, it's his own fault.

    Is there a way for Iconomy/EssentialEconomy support?
    somthing like:
    - pay <amount> for creation,
    - pay <amount> per Stack,
    - pay <amount> per 80% full

    I hope there are also Admins which find this Idea quite useful.
  11. Offline


    So you want all overflow to be deleted?Or a command that deletes all chest content? And if Iconomy is installed it should pay him money when deleting?

    Why is it bad for performance having the items lying on ground? It's only for 2 minutes. Or are the mob traps so effective that there are too many items?

    Until that feature gets implemented (if it gets) you could just lead a redstone wire to each chest and have them to empty it in to lava.
  12. Offline


    i mean automaticly Clear the Chest (reset to emty). with no command, and no payment. This way the Player has to be a little aktive for his Chest/Money.

    About Performance, Mobtraps alone are rarly the big problem. But Big Sugarfarms with Pistons. with hunderts of Item drops.
    With DropChest - No problem, but with full Chest a painfull to the CPU ;)

    Now, about Economy. I think this DropChest is a Nice thing and so the Player have to Pay for this Feature..

    I think there are diference ways.
    - Pay per /dropchest add
    - pay per nearly full Chest.
    - pay per collected Stack (of corse a smaller price)

    The goal here is that the box is using more targeted and more carefuly.

    i have a small server of 20 Slots and 5-10 players online per Day but up to 200 dropchests... i like to stop the spaming of Dropchest.

    btw, is there a way to make a limit to the amount of Dropchests per Player?
  13. Offline


    How is the clear the chest going to be initiated(clear all by command/do after time(like 18.00 all saturdays)/when not looked in for a time/or what I think you mean if it is full)?

    Right now there are no way to limit the amount of Dropchests per player as far as I know.
    Can't you just tell everyone to not create so many dropchests? Open the dropchest.txt file in word and search for a player name and see how many times it occur. If it is over your restriction delete all their chests.

    The Economy feature seems possible for @narrowtux as he have other plugins with it.

    But I can't promise anything as I'm not the leader of this project, I'm just helping a little.
  14. Offline


    I plan on adding the Register API to my NarrowtuxLib-Plugin, which will soon be included by DropChest, too.
    Your ideas about paying for DropChest, @blackbinary , are very good, I think I can implement all of them easily.
    The only big thing is that automatic DropChest clearing. But that's also not impossible ;)
  15. Offline


    wat do u mean by wat to pull/push
  16. Offline


    It's the item that you want to pull or push. write all if you want to pull or push all items
  17. Offline


    I would be very happy! Unfortunately I can not judge what is possible in the programming and what is not. I speak only from a practical view. Of course there are other routes, as Zalastax also says.

    However, I can imagine that a large server can not count on the rationality of the players. These rules must be fixed.

    As an alternative I see is that large farms should be prohibited by a Server Rule, which in turn means manual effort. (control)

    sorry for my bad english :(
  18. Offline


    Any chance at getting an option to have the chest pickup things till it is full but then still clears the drops in an around the chest to keep lag down... the reason:

    I made an auto cactus farm that makes ~a stack every 5 mins or so and it is more for looks as it is a creative server, so the warning for the chest being full or close to full, but as it is just for looks, and the major lag comes from when you hit a button and the sugarcane farm and 400 pistons move.... and then~400 dropped cane starts moving, and if it was picked up as it hit the end, the lag would not build up.

    This plugin looks like it will fill the role that i need to stop the server memory from capping and just make it a well oiled machine, rather then a lag producer
  19. Offline


    that is also a good idea: any new item after the chest is full should be killed.

    about Cactus farming, we hade farms that make a stack cacuts ~ 15-20 sec

    thats why cactusfarming is no longer allowed on our server..

    @perfomance, the memory was never a problem at our server. (4GB Ram to a 20 slot server) - But the CPU. (two Cores of a QuadCore CPU 2,55 GHZ)
  20. Offline


    Hi all. I recently took out dropchest because it would spam the console, and lately I got a big looking error. Here it is...

    2011-07-14 02:58:03 [INFO] Block is not accepted!
    2011-07-14 02:58:03 [INFO] Block is not accepted!
    2011-07-14 02:58:03 [SEVERE] Problem with line -38.0,64.0,-2.0,15,world,,NORMAL,121,,youxinche95,false;SUCK;PULL;PUSH
    2011-07-14 02:58:03 [INFO] Block is not accepted!
    2011-07-14 02:58:03 [SEVERE] Problem with line -37.0,66.0,-1.0,15,world,,NORMAL,122,,youxinche95,false;SUCK;PULL;PUSH
    2011-07-14 02:58:03 [INFO] Block is not accepted!
    2011-07-14 02:58:03 [INFO] Block is not accepted!
    2011-07-14 02:58:03 [SEVERE] Problem with line -231.0,38.0,80.0,6,world_skylands,,NORMAL,143,,Johnthebaron,false;SUCK;PULL;PUSH
    Oh yeah, here are my current plugins...

    03:47:59 [INFO] Plugins: WeatherSync, EasyBan, ColoredSigns, Flight, Towny, Permissions, ConfigurationAttributeProvider, Jail, iConomy, mcbans, LavaFurnace, ServerInfo, AuctionHouse, LWC, BorderGuard, Tombstone, BukkitContrib, SafeStop, BedRespawn, Tips, WorldEdit, CFUKPistonBlocker, MultiVerse, Dungeon, Residence, AuthDB, Minequery, RemoteToolkitPlugin, MinecraftViewer, Essentials, EssentialsChat, CommandSigns, OffLine, BigBrother, WorldGuard, HeroicDeath, iConomyChestShop, WurkIt, LogBlockQuestioner, ServerTime, EssentialsGeoIP, EssentialsSpawn, LogBlock, MobArena, Factions, NoCheat
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 8, 2016
  21. Offline


    This error occurs when dropchest loads. It says that it hasn't found chests at the given coordinates. Maybe you've deleted some of them while the plugin was not enabled.
  22. Offline


    I also got this error 936 times since it was installed a few days ago...

    [SEVERE] Could not pass event VEHICLE_MOVE to DropChest
  23. Offline


    That was because the chest didn't exist and there for was null (zero)
    If you can delete the faulty lines in dropchest.txt it will be solved, or you can do /dropbox remove [faulty chest id]
    If you don't know which one is wrong just delete the whole txt, but you will loose all dropchests and need to enable them all by hand.
  24. Offline


    I don't think he likes deleting them all, because he also set them up with many filters :D
  25. Offline


    #953, dc 0.7.9
    server.log error when i destroy a dc with diamond axe. the dc also doesn't remove from /dc list.
    2011-07-17 13:09:32 [SEVERE] null
    org.bukkit.command.CommandException: Unhandled exception executing command 'dc' in plugin DropChest v0.7.9
        at org.bukkit.command.PluginCommand.execute(
        at org.bukkit.command.SimpleCommandMap.dispatch(
        at org.bukkit.craftbukkit.CraftServer.dispatchCommand(
        at net.minecraft.server.NetServerHandler.handleCommand(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.Packet3Chat.a(
        at net.minecraft.server.NetworkManager.b(
        at net.minecraft.server.NetServerHandler.a(
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(
    Caused by: java.lang.NumberFormatException: For input string: "1'0"
        at java.lang.NumberFormatException.forInputString(Unknown Source)
        at java.lang.Integer.parseInt(Unknown Source)
        at java.lang.Integer.valueOf(Unknown Source)
        at com.narrowtux.DropChest.DropChest.onCommand(
        at org.bukkit.command.PluginCommand.execute(
        ... 12 more
  26. Offline


    seems you just wrote something like 1'0 into chat. That won't be parsed corretcly ;)
  27. Offline


    ah, probably i wante to /dc list 10 an then wrote "/dc list 1'0". the dc also remove now when i destroy chest. all works fine, haha :) thx
  28. Offline


    my plugin doesn't create a config file o.ô
  29. Offline


    It doesn't do it because it isn't implemented (yet).
  30. Offline


    if u mean that i startet it only once then it's false i startet it 8 times and everytime he couldn't find the config and even doesn't make one
  31. Offline


    It doesn't matter how often you restart, it will never ever create a config file itself in the current version.

Share This Page