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

    narrowtux

    DropChest - Chests that absorb dropped items
    Version 0.8.2
    [​IMG]
    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.
    Features
    • 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
    Download

    DropChest.jar
    GitHub Project (Source Download)
    Download development version

    Donate, if you want to support me ;)

    Video



    Usage
    Commands
    Show commands (open)

    To add a chest to the "watchlist", type
    Code:
    /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
    Code:
    /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
    Code:
    /dropchest list
    You can adjust the radius of a chest via
    Code:
    /dropchest setradius chestid radius
    You can check which id and radius the Chest in front of you has:
    Code:
    /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
    Code:
    /dropchest info chest
    It will generate the same output as /dc which.

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

    You can set the name of a DropChest via
    Code:
    /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:
    Code:
    /dropchest setowner {chest} {newowner}
    You can protect a chest by typing
    Code:
    /dropchest protect {chest} {on|off}
    You can always use /dc instead of /dropchest if you are lazy.

    Another very helpful command is /dcitem:
    Code:
    /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.
    Example:
    Code:
    >/dcitem 4
    4 is COBBLESTONE
    >/dcitem cobblestone
    COBBLESTONE is 4
    

    Show Configuration (open)

    You can configure DropChest by pasting the contents of the following block to plugins/DropChest/dropchest.cfg
    Code:
    #Should the dropchest drop items when it gets a redstone signal?
    droponredstone=true
    #How long should the dropchest not suck items after it has dropped them
    waitafterdrop=10
    #Should users be able to protect chests like in LWC?
    usercanprotectchest=true
    #Which is the default radius if you omit the radius argument in /dropchest add?
    defaultradius=2
    #Which should be the maximum radius for players that have not dropchest.setBig and aren't ops?
    fallbackradius=15
    #At which fill-status should the chest warn you?
    warnfillstatus=90
    #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
    Code:
    /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
    Code:
    /dropchest filter finish
    Commands mode:
    Code:
    /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:

    Code:
    users:
      narrowtux:
        info:
          dropchestmaxradius: 1000
    
    This is just an example and this also works with groups!

    Changelog
    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. Double chests acts like 2 double chests so you need to do /dropchest add twice and same thing with right clicking with minecart on it. Is it supposed to be like that ?
     
  3. Offline

    Simanova

  4. Offline

    Seldzar

    @Simanova
    You mean V0.5 which Added support for Storage Minecarts.

    I hope there is a way to use this 2 Plugins together ö.ö
     
  5. Offline

    narrowtux

    You have to rightclick on a chest with a minecart in your hand to activate the Storage Minecart functionality for each Chest. If you don't do this, no Chest will push or pull the loot/cargo to/from passing minecarts.

    It's no bug, it's a feature! :D

    I see that MinecartMania also has this function but not everyone wants to use it. If you think that Minecart Mania does its job better in sucking items out of Storage Minecarts, you don't have to enable this function. You can still use DropChest like before...
    Also, the current version is 0.5 and this is in which I added Minecart functionality.
    --- merged: Feb 17, 2011 9:39 PM ---
    Yeah, I still don't know how the plugin should handle double chests. Should it apply all the filters and minecart options to the other chest or not...
     
  6. Offline

    Seldzar

    Uhm sorry, but in the moment the Station-Addon sucks better ... they put Stacks with the same Item in Stacks with max. Cap. *point to postings above* :p

    Hum, i think, a DoubleChest should handel as an DoubleChest ... also DC aplly the Settings to the other chest and double the cap in /dc list i thought ... i hope you know what I mean.

    PS: I mentioned that English is not my first language? <.<
     
  7. I think there needs to be a second filter for Furnaces and Chests, which would be specific to Minecarts.

    For Chests, filter 1 could be for pulling items from minecarts, and filter 2 could be for pushing items into minecarts. This enables kind of an all-in-one style chest, which would be great for a single-access point to a dropchest minecart loop. This is less important than the following suggestion, but makes use of a second filter that is required for the second. In short, Chests need the ability to push AND pull at the same time, with filters for both.

    For Furnaces, filter 1 would be for fuel, and filter 2 for item inputs. Furnaces would also definitely benefit from the two-way minecart access, because there definitely needs to be some way to load and unload them.

    Furthermore, I also believe that Dropchests should have some kind of RedStone support. The redstone should probably toggle between an on and off state, or it could flip the input filters and output filters. This would probably need some slight modifications to get it to work uniformly across all dropchests.

    I believe these suggestions could greatly improve on the functionality of dropchests.
     
  8. Offline

    RustyDagger

    I think i am on version 0.4 It dose not play nice with Lwc And thats not cool also i keep getting random Chest destroyd messages When i am in other worlds

    Why was the multi world crossed out on the Op?

    This plugin has gone to trash it has more bugs than a bug farm things work weird has potential, I think i have to remove the Plugin And Wait for some 1 else to make a plugin like this or this gets the major fix it needs.

    Fyi Doubble chests should act as 1 chest with twice the space and only have to set 1 of them up with the filter etc.
    Multi world stuff needs sorting and the filters should really be commands
    Yes i said filters.

    i don't know why you would expand to dispensers and minecrarts when the base of it was clearly unstable and had problems.

    At least make a config file where these extras can be completely turned off server wide. (not even ops could use it if its disabled)

    Just my 2 cents and i dont care what you have to say if you dont like it no need to start a flame war i know some of you wont like it and i wont be replying to any 1 that thinks that they need to point that out.
     
  9. Offline

    Kartus

    I request dropchest redstone support. so i can turn on/off dropchest sucking by redstone. possible?
     
  10. Offline

    narrowtux

    You are free to not use this awesome plugin. But you just started a flame war yourself. You have not paid for the plugin, nor you gave me something else for it. If you'd report the bugs without this overall negativeness, I wouldn't say anything.
    Use it or not use it, it's your decision. But don't flame in this Thread, please!

    I crossed Multiworld because it's not working. I didn't had the time to test it yet. LWC does not work, because I didn't implemented it!
    --- merged: Feb 18, 2011 7:36 AM ---
    Thats possible, I already implemented a redstone signal that goes on when the DropChest interacts with passing minecarts. To receive it, you have to build a lever directly below the chest and grab it's signal:
    [cobble][chest][cobble]
    [cobble][stick]--------

    [stick] = Lever
    - = Redstone Wire
     
  11. Offline

    decarthado

    I really like the concept of this plugin, especially since there are people on my server who go looking for dungeons specifically to build monster traps. The problem I've run into, however, is that it really lags the server when it's active. Is there something you can do to help with that problem? Make the chests check their radii every few seconds or something, maybe? I don't really know how your code works, I haven't looked.

    Also, for the sake of putting it out there, we're not running LWC and we still get random 'chest destroyed' messages.

    Is there something you can do about chest notifications in the way of making them send only to the user who created them? Adding per-user chest numbers would also be awesome, that way it'd notify user ABC that their personal dropchest #2 is full, or whatever the situation would warrant.

    Forgive me if you've already announced your intentions for some of this stuff. I haven't read the entire thread.
     
  12. Offline

    narrowtux

    I think the lag results from the rapid calling of the Vehicle_Move_Event. I should unregister it if no Chest uses Minecarts to save CPU Power.
     
  13. Offline

    decarthado

    Could you also include a config option as to whether the server should allow known lag-inducing functions like minecart storage? I'm sure some people would love to have it, but I try to keep lag to a minimum.
     
  14. Offline

    Joeyy

    Whenever you leftclick a dropchest, it spams you with green text telling you that all items will be accepted + the item you are holding in your hand. Can we turn this off?

    There are also some problems with double chest, the radius isn't working properly, here is a screenshot.
    [​IMG]
    The boxes I drawed are getting sucked by the chests, the rest is not. The 3 on the boxes is the radius.
     
  15. Offline

    narrowtux

    Yeah the radius calculation is still not very accurate. Have you activated dropchest on the right one too? Because at the moment, Doublechests aren't supported.
     
  16. Offline

    grinch843

    Yeah, an adjustable timer would be a good idea.....
     
  17. Offline

    Kevin Forte

    Is it possible to make permissions optional as opposed to necessary? I would love to use this but don't know how to configure permissions. ):
     
  18. Offline

    narrowtux

    You don't actually have to use Permissions. If Permissions is not detected, everything is allowed.
     
  19. Offline

    forgottenkane

    I crash (not the server) whenever I try to use any of the commands, please help?
     
  20. Offline

    RustyDagger

    Some how i don't think that is what he meant if there is a lever under the chest you cant remotely change that to stop the chest working fully and then turn it on to make the whole chest work it would need to check the state of the torch and only work when the torch is on.

    Atm What you made i assume is turning the lever on every time the chest dose some thing thats good for an indicator but not good for controlling the chest.
     
  21. Offline

    narrowtux

    Oh I didn't mean it like that. I meant, that it's possible to implement, and that at the moment it is already possible to receive redstone signals from the chest ;)
    --- merged: Feb 19, 2011 12:03 AM ---
    I read something on twitter that Craftbukkit kicks Players whenever they issue commands. This may have been fixed now, try to use the latest version ;)
     
  22. Offline

    forgottenkane

    Yes, when I told my server hoster he updated the server, it did nothing. But then I just did "/dropchest add 2"... I crashed. So I decided to use just "/dropchest add"... Low and behold it works. What happened to the radius entry?
     
  23. Offline

    narrowtux

    I don't know. But you could try to set it after that via /dc setradius

    Also, can you see any exceptions in the server log when calling /dc add 2 ?
     
  24. Offline

    asdaarg

    I really begin to like this plugin, especially with the last changes with dispensers, furnaces and minecarts. I would like to request another feature though: to be able to control whether a chest/furnace/dispense pushes or pulls items from minecarts, either using redstone or by allowing you to designate which direction it should push from or which to pull from. Without it, I don't think I can have a fully automated warehouse.
     
  25. Well there's such a function, have a minecart in your hand and right click the dropchest until it has the mode you want :D
     
  26. Offline

    Seldzar

    And this can you switch with RedStone or the direction of the Minecart passing bye? [​IMG]
     
  27. Offline

    narrowtux

    No, at the moment, there's nothing with redstone signals.
     
  28. Offline

    Zankou666

    I less than three you. This is the best plug-in ever.
     
  29. Offline

    narrowtux

    Thank you :)
    --- merged: Feb 20, 2011 3:48 PM ---
    I released version 0.5.1, which fixes multiworld loading issues. Also, a paginated /dc list and persistent ChestIDs have been added!
     
  30. Offline

    Kevin Forte

    The multiworld loading issues of which you speak... is that where, upon going through a portal, your drop chests would appear to be taking items (they would disappear when dropped) and the list would show the items were taken, but the chest contained nothing? If not, then I think you might want to look into that, it keeps eating all of my loot [​IMG]
     
  31. Offline

    narrowtux

    No, I think that has been fixed in version 0.3, this one fixes that you can create DropChests in other words. But when DropChest loaded it's files again, the Chests in other worlds would not be loaded.
     

Share This Page