This plugin allows admin to set up chests that automatically restock based on configurable parameters. This will allow you to create special chests for a variety of situations. You could create a chest for people new to your server containing a set of starter gear that they can only loot once. Or make reward chests in dungeons where you don't have to worry about them being empty. All kinds of things are possible!


  • Automatically-restocking chests
  • Chests can either add to or replace their current stock
  • Configurable restock period
  • Can either be set to start timing based on the time a player last opened the chest or at fixed intervals
  • Can be set to preserve the position of the items in the chest
  • Restocking chests are indestructible by default
  • Limit # of times a player may loot each chest
  • Restock chest by command
  • Full multi-world support
  • Chest naming
  • Unique properties per chest (for any of the chest properties)
  • Global default settings for all chests and optionally world specific defaults
  • NEW in 2.0 Option for chests to have unique inventories per player (No loot theft!)
  • NEW in 2.0 Option for chests to redstock when they receive redstone power
  • NEW in 2.0 Commands are more dynamic
  • NEW in 2.0 Now works with ANY block based inventory (dispensers, crafting benches, etc)
  • NEW in 2.1 Option for chest to broadcast a global message when it restocks
  • NEW in 2.2 Randomized loot for chests!
  • NEW in 2.3 Command to restock all chests or chests with specific names and/or in specific worlds
  • NEW in 2.3 Ability to set all chests in a world to restock with what is currently inside of them (This is limited by default to NOT include newly created chests!)


  • Place ChestRestock.jar in your plugins folder.
  • Start your server.
  • Type
    while in game for a list of commands
  • Or target a chest and type
    /cr create
    This will set up the chest with default settings (adjustable in config.yml) and will restock with the items currently in the chest.


All permissions are default: OP

  • chestrestock.*: grants all permissions
    • chestrestock.cmd.*: grants all command permissions
      • chestrestock.cmd.<cmdname>: grants specific command permission
    • chestrestock.break.*: allows breaking any chest
      • chestrestock.break.<chestname>: allows breaking specific chest
    • chestrestock.bypass.lootlimit.*: allows unlimited looting of any chest
      • chestrestock.bypass.lootlimit.<chestname>: allows unlimited looting of specific chest

Further Help

  • Type /cr help for a list of commands.
  • Type /cr set while targeting a chest you have initialized with /cr create to see a list of properties you can set for it.
  • Type /cr set <propertyname> to see a description of what the property does.
  • Type /cr set <propertyname> <value> to set a value for a property.
  • global_defaults.yml contains default chest settings for when a world does not have a specific default.
  • defaults/<worldname>.yml contains default chest settings for specific worlds.
  • If a default setting is missing for a world, the default in global_defaults.yml will be used.
  • Loot Table Tutorial


First, go here:

Paste your loot table file into the left-hand box. If it says you have problems in the right-hand box, this is why it doesn't work for ChestRestock.

Yaml is a very particular file format and it doesn't like when you don't enter things correctly. Read a tutorial.


  • To post a comment, please or register a new account.
Posts Quoted:
Clear All Quotes

About This Project

  • Project ID
  • Created
    Mar 30, 2012
  • Last Released File
    Jul 16, 2017
  • Total Downloads
  • License



Recent Files