{"id":39414,"date":"2026-06-01T23:47:38","date_gmt":"2026-06-01T20:47:38","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/"},"modified":"2026-06-01T23:47:38","modified_gmt":"2026-06-01T20:47:38","slug":"chests-are-chests","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/","title":{"rendered":"Chests are Chests"},"content":{"rendered":"<p>Ever wondered why, when a chest is open, items don&#8217;t fall in?<br \/>\n&#8230; Okay, I&#8217;ll admit, me neither, not until I had this idea. But when you think of it&#8230;<br \/>\nIt just makes sense, right?<\/p>\n<p>So now, you can proudly say that **Chests are chests**! And enjoy making items fall into your storage<br \/>\ninstead of lamely putting them in by hand!<\/p>\n<p>But as items can fall *into* an open box&#8230; Shouldn&#8217;t they be able to fall *down* from one as well,<br \/>\nprovided it was open on the right side?<br \/>\nThus, you can make it so barrels, when open and facing down, drop *all* of their content to the ground!<\/p>\n<p>Going back to the chest, if you can open the lid to make items fall in, shouldn&#8217;t the lid throw items away<br \/>\nupon being opened?<br \/>\nThat&#8217;s right! With this mod, you can make it so opening a chest throws all the items standing on it upon opening!<br \/>\n(Limited to items only for the sake of one&#8217;s life preservation)<\/p>\n<p>Last but not least, since opening a container has always only been a manual task so far,<br \/>\nin order to allow you to automate these new options, opening a container can now be done<br \/>\nby activating an *empty* dispenser pointing at said container!<\/p>\n<p>Now the game will feel more natural, even just a little bit, won&#8217;t you agree?<\/p>\n<p>## Features<\/p>\n<p>* Inserting items in open containers<br \/>\n  * default: enabled<br \/>\n  * gamerule: `chests.insertOpen`<br \/>\n* Making item fall from open-from-below containers<br \/>\n  * default: disabled<br \/>\n  * gamerule: `chests.barrelFall`<br \/>\n  * Special item fall (e.g. snowballs falling as actual thrown snowballs)<br \/>\n    * default: enabled<br \/>\n    * gamerule: `chests.barrelFall.throwableSpecial`<br \/>\n    * item tag: `#chests_are_chests:special_fall`<br \/>\n* Making chest lids throw items<br \/>\n  * default: disabled<br \/>\n  * gamerule: `chests.lidFling`<br \/>\n  * entity type tag: `#chests_are_chests:flingable`<br \/>\n  * Horizontal flinging velocity<br \/>\n    * default: 0.25<br \/>\n    * gamerule: `chests.lidFling.horizontalPower`<br \/>\n  * Vertical flinging velocity<br \/>\n    * default: 0.6<br \/>\n    * gamerule: `chests.lidFling.verticalPower`<br \/>\n* Opening containers by powering empty dispensers<br \/>\n  * default: enabled<br \/>\n  * gamerule: `chests.dispenserOpen`<br \/>\n  * Automated opening duration (in world ticks)<br \/>\n    * default: 10<br \/>\n    * gamerule: `chests.dispenserOpen.duration`<\/p>\n<p>## Dependencies<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/RecraftorsMC\/.github\/main\/pictures\/unruled-badge.png\" alt=\"Requires Unruled API\" width=200 \/><\/p>\n<p>## Mod compatibilities<\/p>\n<p>### Internal compatibilities<br \/>\nWhile compatibilities are planned, direct implementation by the mods themselves would always be preferred.<br \/>\nHence, if a mod of yours is [planned](#planned), [being worked on](#being-worked-on), or even already implemented,<br \/>\ndon&#8217;t hesitate to [make your own](#make-your-own), and if need be, contact us either for help or to tell us<br \/>\nthat we have no need to keep our own compatibility.<\/p>\n<p>#### Implemented<br \/>\n* Anner&#8217;s Iron Chests<br \/>\n* Mythic Metals Decorations<br \/>\n* Reinforced Chests<br \/>\n* Expanded Storage<br \/>\n* Spectrum<\/p>\n<p>#### Natural<br \/>\n_Known mods that (should) have natural compatibility with this mod, with no extra implementation_<br \/>\n* Variant Chests<br \/>\n* Variant Barrels<br \/>\n* Chest Colorizer<br \/>\n* More Chests Variants<\/p>\n<p>#### Being worked on<br \/>\n* Lootr<\/p>\n<p>#### Planned<br \/>\n* myLoot<br \/>\n* More Chests<br \/>\n* Compact Storage<\/p>\n<p>#### Internally refused<br \/>\n* Iron Chests: Restocked<br \/>\n  Due to mod author names poorly registered, this mod cannot be easily be dealt with.<br \/>\n  Hence, it has been decided no to attempt implementing builtin compatibility.<\/p>\n<p>### Make your own<\/p>\n<p>#### Container implementation<\/p>\n<p>The mod tweaks the block entities&#8217; and item entities&#8217; behaviours.<br \/>\nIn order to implement compatibility with this mod, you need your custom block entity to implement<br \/>\nthe `mc.recraftors.chestsarechests.util.FallInContainer` interface.<\/p>\n<p>You may as well make use of other interfaces, such as `mc.recraftors.chestsarechests.util.BlockOpenableContainer`<br \/>\nor `mc.recraftors.chestsarechests.util.BooleanHolder`, which you can either use as you please, or can exploit<br \/>\nif you already extend the vanilla chest or barrel classes.<\/p>\n<p>Don&#8217;t hesitate to look at the<br \/>\nchest<br \/>\nand barrel<br \/>\nimplementations for a reference of how to handle block opening and orientation within the provided methods.<\/p>\n<p>Also don&#8217;t fear about more methods appearing with updates and your mod not implementing them, causing issues.<br \/>\nNo methods are planned for deletion, or would include a change of primary version. And all new method<br \/>\nwill _always_ come with a default implementation, to avoid pointless issues.<\/p>\n<p>#### Item implementation<\/p>\n<p>The mod enables for some item (registered in the appropriate item tag) to have a custom behaviour upon &#8220;falling&#8221;<br \/>\nfrom a container. In order to do that, the item itself must implement the<br \/>\n`mc.recraftors.chestsarechests.util.ContainerItemHelper` interface.<\/p>\n<p>This interface comes up with two methods to be implemented. The first one, optional, indicates the item fall directions.<br \/>\nThis allows to specify on which open side of a container can the item come out. (e.g. upwards-gravitated items may<br \/>\nspecify an upward fall direction)<\/p>\n<p>By default, this first method will return `DOWN`.<\/p>\n<p>The second one makes the actual implementation of a special fall behaviour. It should use the first method to know<br \/>\nwhether to run it or not, and execute what is intended. This method&#8217;s return value indicates whether the item stack<br \/>\nfell (and theoretically is consumed), or not, and therefore shouldn&#8217;t be bothered with attempting to make it fall<br \/>\nin the same direction, to avoid causing more runtime computing stress.<\/p>\n<p>Don&#8217;t hesitate to look at the<br \/>\narrow or<br \/>\nsnowball implementations<br \/>\nfor a reference of how to handle special item fall.<\/p>\n<p>Then again, don&#8217;t fear about more methods appearing with updates, for all new one will then again include a default<br \/>\nimplementation, if possible based on already existing methods.<\/p>\n<p>#### Examples<br \/>\nUp to date with version **0.5**<\/p>\n<details>\n<summary>Container implementation<\/summary>\n<p>&#8220;`java<br \/>\npublic class MyCustomBlockEntity extends BlockEntity implements FallInContainer {<br \/>\n    private boolean isOpen;<br \/>\n    private final int size;<br \/>\n    private final DefaultedList<ItemStack> content;<br \/>\n    private final Map<Integer, Integer> fallUpdateMap = new HashMap<>();<\/p>\n<p>    @Override<br \/>\n    public boolean chests$tryInsertion(ItemEntity entity) {<br \/>\n        return FallInContainer.chests$inventoryInsertion(this.content, entity, this::setStack);<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public boolean chests$isOpen() {<br \/>\n        return isOpen;<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public VoxelShape chests$InputAreaShape() {<br \/>\n        return FallInContainer.ABOVE;<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public void chests$forceOpen(ServerWorld world, BlockPos at, BlockState from) {<br \/>\n        this.isOpen = true;<br \/>\n        this.onOpen();<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public boolean chests$tryForceOpen(BlockState from) {<br \/>\n        ServerWorld serverWorld = (ServerWorld) this.getWorld();<br \/>\n        BlockPos blockPos = this.getPos();<br \/>\n        this.chests$forceOpen(serverWorld, blockPos, from);<br \/>\n        ChestsAreChests.scheduleTick(serverWorld, blockPos, duration);<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public boolean chests$forceClose() {<br \/>\n        this.isOpen = false;<br \/>\n        this.onClose();<br \/>\n    }<\/p>\n<p>    @Override<br \/>\n    public Map<Integer, Integer> getFallUpdateMap() {<br \/>\n        return this.fallUpdateMap;<br \/>\n    }<\/p>\n<p>    void onOpen() {<br \/>\n        \/\/ &#8230;<br \/>\n        \/\/ potential rendering stuff<br \/>\n        ChestsAreChests.ejectAbove(Direction.UP, this);<br \/>\n    }<br \/>\n}<br \/>\n&#8220;`<br \/>\n<\/details>\n<details>\n<summary>Item implementation<\/summary>\n<p>&#8220;`java<br \/>\npublic class MyCustomItem extends Item implements ContainerItemHelper {<br \/>\n    public Direction[] chests$getFallDirection(ItemStack stack) {<br \/>\n        return new Direction[]{Directions.UP};<br \/>\n    }<\/p>\n<p>    public boolean defaultOnOpenTick(ItemStack stack, FallInContainer container, Direction direction, World world, Vec3d pos, Vec3d velocity) {<br \/>\n        if (!ChestsAreChests.isInArray(direction, chests$getFallDirection(stack))) return false;<br \/>\n        MyGravitatedEntity entity = new MyGravitatedEntity(world, pos.x, pos.y, pos.z, stack.copy());<br \/>\n        entity.setVelocity(velocity);<br \/>\n        world.spawnEntity(entity);<br \/>\n        return true;<br \/>\n    }<br \/>\n}<br \/>\n&#8220;`<br \/>\n<\/details>\n<p>&#8212;<\/p>\n<p>### Showcase<\/p>\n<p><iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/YYWvP2HPn34\" title=\"Showcase video player\" frameborder=\"0\" allow=\"accelerometer; encrypted-media; web-share\" allowfullscreen><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Provides new functionalities to vanilla chests, barrels, and alike, along with some modded counterparts, to make them more immersive and fun to play with<\/p>\n","protected":false},"featured_media":39415,"template":"","meta":{"_minecraft_slug":"chests-are-chests","_minecraft_project_id":"qP5QBAsu","_minecraft_author":"Nerjal_Nosk","_minecraft_license":"GPL-3.0-or-later","_minecraft_downloads":5660,"_minecraft_follows":29,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"chests-are-chests.zip","_minecraft_size_bytes":25326119,"_minecraft_version_count":80,"_minecraft_updated_at":"2026-05-16T23:39:21.053121Z","_minecraft_date_created":"2023-11-30T22:27:26.477129Z","_minecraft_date_modified":"2024-04-15T22:34:36.217047Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/chests-are-chests","_minecraft_icon_attachment_id":39415,"_minecraft_imported_at":"2026-06-01T20:47:39+00:00","_minecraft_import_hash":"224a8ce4c586905c72fce436549a3708","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[43,97,104,89,1016,158,98,91,92],"mod_loader":[99,106,1017,160,100],"minecraft_version":[54,55,56,59,36,60,93,94],"class_list":["post-39414","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-cursed","mod_category-fabric","mod_category-forge","mod_category-game-mechanics","mod_category-liteloader","mod_category-neoforge","mod_category-quilt","mod_category-storage","mod_category-utility","mod_loader-fabric","mod_loader-forge","mod_loader-liteloader","mod_loader-neoforge","mod_loader-quilt","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Chests are Chests - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Chests are Chests - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Provides new functionalities to vanilla chests, barrels, and alike, along with some modded counterparts, to make them more immersive and fun to play with\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta property=\"og:image\" content=\"https:\/\/raw.githubusercontent.com\/RecraftorsMC\/.github\/main\/pictures\/unruled-badge.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/\",\"name\":\"Chests are Chests - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp\",\"datePublished\":\"2026-06-01T20:47:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp\",\"width\":96,\"height\":96},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/chests-are-chests\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Chests are Chests\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Chests are Chests - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/","og_locale":"en_US","og_type":"article","og_title":"Chests are Chests - Minecraft","og_description":"Provides new functionalities to vanilla chests, barrels, and alike, along with some modded counterparts, to make them more immersive and fun to play with","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/","og_site_name":"Minecraft","og_image":[{"url":"https:\/\/raw.githubusercontent.com\/RecraftorsMC\/.github\/main\/pictures\/unruled-badge.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/","name":"Chests are Chests - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp","datePublished":"2026-06-01T20:47:38+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/chests-are-chests-icon-72d7598a9c9a0974385d778e4fdc407238f5dcfa_96.webp","width":96,"height":96},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/chests-are-chests\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Chests are Chests"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/39414","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/39415"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=39414"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=39414"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=39414"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=39414"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}