{"id":60378,"date":"2026-06-03T15:29:54","date_gmt":"2026-06-03T12:29:54","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/"},"modified":"2026-06-03T15:29:54","modified_gmt":"2026-06-03T12:29:54","slug":"dynamickeepinv","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/","title":{"rendered":"DynamicKeepInv"},"content":{"rendered":"<p># DynamicKeepInv<\/p>\n<p>![Java](https:\/\/img.shields.io\/badge\/Java-17%2B-orange) ![Server](https:\/\/img.shields.io\/badge\/Server-Paper%20%7C%20Spigot%20%7C%20Folia-blue) ![License](https:\/\/img.shields.io\/badge\/License-Apache%202.0-green)<\/p>\n<p>**DynamicKeepInv** is a sophisticated plugin that revolutionizes how the keepInventory gamerule works on Minecraft servers. Instead of a simple global toggle, it dynamically controls inventory loss based on in-game time, death causes, territory protection, and economy.<\/p>\n<p>It is designed for modern servers (1.20.4+) and features full native support for **Folia** region threading.<\/p>\n<p>&#8212;<\/p>\n<p>## Why use DynamicKeepInv?<\/p>\n<p>Vanilla Minecraft forces server administrators to choose between &#8220;Too Easy&#8221; (keepInventory true) or &#8220;Too Hard&#8221; (keepInventory false).<\/p>\n<p>**DynamicKeepInv** bridges this gap by offering a configurable balance:<br \/>\n* **Day\/Night Cycle:** Players feel safe during the day but must survive the night without protection.<br \/>\n* **PvP vs PvE:** Make PvP high-stakes (drop items) while keeping PvE casual (keep items), or vice-versa.<br \/>\n* **Economy Sink:** Allow players to pay a fee to save their items upon death via an interactive GUI.<br \/>\n* **Land Integration:** Respects claims from Lands and GriefPrevention (e.g., keep items in your own base).<\/p>\n<p>&#8212;<\/p>\n<p>## Key Features<\/p>\n<p>### Time-Based Rules<br \/>\n* Automatically enables keepInventory during the day.<br \/>\n* Disables it at night based on configurable start and end ticks.<br \/>\n* Plays sounds and sends titles when the status changes.<\/p>\n<p>### Advanced Death Rules<br \/>\n* **PvP vs PvE:** Configure separate rules for Item Loss and XP Loss based on the killer.<br \/>\n* **By World:** Set different rules for the Overworld, Nether, and End.<br \/>\n* **Permission Bypass:** Players with `dynamickeepinv.bypass` never lose items.<\/p>\n<p>### Economy &#038; Death GUI<br \/>\n* **Death Confirmation GUI:** When a player dies, a GUI appears asking them to **PAY** to keep items or **DROP** them.<br \/>\n* **Auto-Pay:** Players can toggle `\/dki autopay` to automatically deduct the fee and skip the GUI.<br \/>\n* **Persistence:** If a player disconnects while dead, their pending death is saved to a database and the GUI reopens upon rejoin.<br \/>\n* *(Requires Vault)*<\/p>\n<p>### Player Statistics<br \/>\n* Tracks death history for every player.<br \/>\n* **In-Game GUI:** Run `\/dki stats` to view:<br \/>\n    * Total Deaths, Saved Deaths, and Lost Deaths.<br \/>\n    * Money spent on keeping inventory.<br \/>\n    * Death cause breakdown (Day, Night, PvP, etc.).<br \/>\n* **PlaceholderAPI:** Display these stats on scoreboards or chat.<\/p>\n<p>### Plugin Integrations<br \/>\n* **Lands:** Configure rules for &#8220;Own Land&#8221;, &#8220;Enemy Land&#8221;, and &#8220;Wilderness&#8221;.<br \/>\n* **GriefPrevention:** Similar support for claims.<br \/>\n* **GravesX \/ AxGraves:** If a player chooses to drop items (or cannot afford to pay), they are placed into a Grave instead of scattering on the ground.<br \/>\n* **Folia:** 100% thread-safe region scheduling.<\/p>\n<p>&#8212;<\/p>\n<p>## Logic Hierarchy<\/p>\n<p>When a player dies, the plugin decides whether to keep or drop items based on this priority order (highest to lowest):<\/p>\n<p>1.  **Bypass Permission** (`dynamickeepinv.bypass`)<br \/>\n    * *If player has this permission, they always keep items.*<br \/>\n2.  **Claim Protection** (Lands \/ GriefPrevention)<br \/>\n    * *Is the player in their own claim? Use claim settings.*<br \/>\n3.  **Death Cause** (PvP \/ PvE)<br \/>\n    * *Did another player kill them? Use PvP settings.*<br \/>\n4.  **Wilderness Settings**<br \/>\n    * *If enabled, use specific settings for unclaimed land.*<br \/>\n5.  **Time-Based** (Day \/ Night)<br \/>\n    * *Fallback: Is it currently Day or Night?*<\/p>\n<p>&#8212;<\/p>\n<p>## Installation<\/p>\n<p>1.  Download the latest JAR from the Releases page.<br \/>\n2.  Place it into your server&#8217;s `plugins\/` folder.<br \/>\n3.  **(Optional)** Install Vault and an Economy plugin for paid features.<br \/>\n4.  Restart the server.<\/p>\n<p>&#8212;<\/p>\n<p>## Commands &#038; Permissions<\/p>\n<p>| Command | Permission | Description |<br \/>\n| :&#8212; | :&#8212; | :&#8212; |<br \/>\n| `\/dki status` | `dynamickeepinv.admin` | View current status (Time, World, Enabled). |<br \/>\n| `\/dki reload` | `dynamickeepinv.admin` | Reload configuration and messages. |<br \/>\n| `\/dki toggle` | `dynamickeepinv.admin` | Toggle the plugin on\/off globally. |<br \/>\n| `\/dki stats [player]` | `dynamickeepinv.stats` | View death statistics GUI. |<br \/>\n| `\/dki confirm` | `dynamickeepinv.use` | Re-open the Death Confirmation GUI (if pending). |<br \/>\n| `\/dki autopay` | `dynamickeepinv.use` | Toggle auto-payment mode. |<\/p>\n<p>**Other Permissions:**<br \/>\n* `dynamickeepinv.bypass`: User always keeps inventory.<br \/>\n* `dynamickeepinv.stats.others`: View other players&#8217; stats.<\/p>\n<p>&#8212;<\/p>\n<p>## Configuration<\/p>\n<p>A snippet of `config.yml` demonstrating the advanced economy mode:<\/p>\n<p>&#8220;`yaml<br \/>\nadvanced:<br \/>\n  enabled: true<\/p>\n<p>  # Economy Settings<br \/>\n  economy:<br \/>\n    enabled: true<br \/>\n    cost: 100.0<br \/>\n    mode: &#8220;gui&#8221; # Options: charge-to-keep, charge-to-bypass, gui<br \/>\n    gui:<br \/>\n      timeout: 30 # Seconds to decide<br \/>\n      expire-time: 300 # Seconds to save data on disconnect<\/p>\n<p>  # Death Cause Rules<br \/>\n  death-cause:<br \/>\n    enabled: true<br \/>\n    pvp:<br \/>\n      keep-items: false<br \/>\n      keep-xp: false<br \/>\n    pve:<br \/>\n      keep-items: true<br \/>\n      keep-xp: true<br \/>\n&#8220;&#8220;<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>## Placeholders<\/p>\n<p>Requires **PlaceholderAPI**.<\/p>\n<p>  * `%dynamickeepinv_isday%` &#8211; Returns `true` or `false`.<br \/>\n  * `%dynamickeepinv_period%` &#8211; Returns &#8220;Day&#8221; or &#8220;Night&#8221;.<br \/>\n  * `%dynamickeepinv_stats_save_rate%` &#8211; Player&#8217;s save percentage.<br \/>\n  * `%dynamickeepinv_economy_cost%` &#8211; Current death cost.<\/p>\n<p>&#8212;&#8211;<\/p>\n<p>## License<\/p>\n<p>This project is licensed under the Apache 2.0 License.<\/p>\n<p>&#8220;`<br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dynamically controls keepInventory based on day\/night cycle, protection plugins, and death causes.<\/p>\n","protected":false},"featured_media":60379,"template":"","meta":{"_minecraft_slug":"dynamickeepinv","_minecraft_project_id":"mLgWaMK8","_minecraft_author":"alexisbinh","_minecraft_license":"Apache-2.0","_minecraft_downloads":93,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"dynamickeepinv.zip","_minecraft_size_bytes":520173,"_minecraft_version_count":12,"_minecraft_updated_at":"2026-05-15T19:50:42.488421Z","_minecraft_date_created":"2025-11-22T10:10:50.107477Z","_minecraft_date_modified":"2026-03-26T15:42:51.768045Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/dynamickeepinv","_minecraft_icon_attachment_id":60379,"_minecraft_imported_at":"2026-06-03T12:29:55+00:00","_minecraft_import_hash":"4aed9dee58221587d7dbabe2e3104c82","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[125,89,90,127,129,92],"mod_loader":[131,132,134],"minecraft_version":[94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-60378","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-folia","mod_category-game-mechanics","mod_category-optimization","mod_category-paper","mod_category-spigot","mod_category-utility","mod_loader-folia","mod_loader-paper","mod_loader-spigot","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DynamicKeepInv - 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\/dynamickeepinv\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DynamicKeepInv - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Dynamically controls keepInventory based on day\/night cycle, protection plugins, and death causes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\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=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/\",\"name\":\"DynamicKeepInv - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif\",\"datePublished\":\"2026-06-03T12:29:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif\",\"width\":256,\"height\":256},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/dynamickeepinv\\\/#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\":\"DynamicKeepInv\"}]},{\"@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":"DynamicKeepInv - 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\/dynamickeepinv\/","og_locale":"en_US","og_type":"article","og_title":"DynamicKeepInv - Minecraft","og_description":"Dynamically controls keepInventory based on day\/night cycle, protection plugins, and death causes.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/","name":"DynamicKeepInv - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif","datePublished":"2026-06-03T12:29:54+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/dynamickeepinv-icon-17052b24a041c7d46c83573c16ccd5321177263b.gif","width":256,"height":256},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/dynamickeepinv\/#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":"DynamicKeepInv"}]},{"@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\/60378","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\/60379"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=60378"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=60378"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=60378"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=60378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}