From f521adef15efa136c6ee67c33e21d17c442181ec Mon Sep 17 00:00:00 2001 From: Sergeant Acoustic Date: Tue, 31 Mar 2026 22:33:05 +0100 Subject: [PATCH] Add + configure Better Keep Inventory datapack --- CHANGELOG.md | 1 + modrinth.index.json | 15 ++ .../data/bki/function/drop/item.mcfunction | 23 +++ .../data/bki/function/drop/xp.mcfunction | 0 .../bki/function/reset_numbers.mcfunction | 21 +++ .../data/bki/function/reset_safe.mcfunction | 135 ++++++++++++++++++ 6 files changed, 195 insertions(+) create mode 100644 overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/item.mcfunction create mode 100644 overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/xp.mcfunction create mode 100644 overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_numbers.mcfunction create mode 100644 overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_safe.mcfunction diff --git a/CHANGELOG.md b/CHANGELOG.md index b0f8c8e..c517882 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added enchantment's exclusive sets to their descriptions - Added [Language Reload](https://modrinth.com/mod/language-reload) +- Added [Better Keep Inventory](https://modrinth.com/datapack/better-keep-inventory-datapack) ### Fixed diff --git a/modrinth.index.json b/modrinth.index.json index fbfa70b..34edba8 100644 --- a/modrinth.index.json +++ b/modrinth.index.json @@ -1267,6 +1267,21 @@ "sha512": "39dfb0490a26baea1f79e0e86116f89ff85213df1e528c2727ea84c64f6e6b889817089d5faa4b15a4648393787ec5305b96eed29ce506d9129aa4b7a50b66b1" }, "path": "mods/language-reload-1.7.6+1.21.1.jar" + }, + { + "downloads": [ + "https://cdn.modrinth.com/data/WzVQCdgr/versions/5VkorMHZ/bKeepInv_1.3_1.20.5-26.1.zip" + ], + "env": { + "client": "required", + "server": "required" + }, + "fileSize": 87114, + "hashes": { + "sha1": "060e9f774f3f9a26012f4dee6937e45112444fc8", + "sha512": "7bc3e0d6dbbd660775d1eb6364911deed8b8385cd3160317842cbed8be57f4a8b4bec0c4c558f4bb15936067af96dbca924d11a6c4d7da41f8b1ccf9e48aedab" + }, + "path": "resources/common/required/bKeepInv_1.3_1.20.5-26.1.zip" } ] } diff --git a/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/item.mcfunction b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/item.mcfunction new file mode 100644 index 0000000..ce94c37 --- /dev/null +++ b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/item.mcfunction @@ -0,0 +1,23 @@ +# Change from original file: Removed item spread +# Summon and clear singular slot + +$summon item ~ ~ ~ {Age:$(age)s,Item:$(item)} +# Normally after Age:6000 ticks (5 minutes) the item is destroyed +# Starting with age -6000 gives it 10 minutes before it disapeares + +# Clear the item from the inventory +# This part doesn't do anything for already cleared items so it can be also used for just summoning +$item modify entity @s $(type).$(Slot) {\ + "function": "minecraft:set_count",\ + "count": {\ + "type": "minecraft:score",\ + "target": {\ + "type": "minecraft:fixed",\ + "name": "#item_count"\ + },\ + "score": "levels",\ + "scale": -1\ + },\ + "add": true,\ + "conditions": []\ +} diff --git a/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/xp.mcfunction b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/drop/xp.mcfunction new file mode 100644 index 0000000..e69de29 diff --git a/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_numbers.mcfunction b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_numbers.mcfunction new file mode 100644 index 0000000..6d71a5f --- /dev/null +++ b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_numbers.mcfunction @@ -0,0 +1,21 @@ +# XP kept by player (in %) +scoreboard players set #xp_left levels 100 + +# Percentage of lost xp that is dropped (in %) +scoreboard players set #xp_dropped levels 0 + + +# Percentage of items dropped, rounded down. +# Utleast 1 item is dropped, unless set to 0. +# If item has count 1 this value becomes the base for the random chance of it being dropped. +scoreboard players set #items_dropped levels 100 + +# Item and xp lifetime (in minutes). +# How long before they despawn. +scoreboard players set #lifetime levels 5 + +# Show players settings for this datapack on theirs first join +scoreboard players set #show_fjoin levels 0 + +# Show settings +function bki:settings diff --git a/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_safe.mcfunction b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_safe.mcfunction new file mode 100644 index 0000000..79f4fbf --- /dev/null +++ b/overrides/resources/common/required/mc_rebalance_datapack/data/bki/function/reset_safe.mcfunction @@ -0,0 +1,135 @@ +# List of items that always remain after death +# Except for items with the nbt tag always_drop:1b, because this tag have higher priority +# The list formatting must always remain as shown in the example +# "minecraft:",\ + +data modify storage bki:bki safe.list set value [\ + "minecraft:elytra",\ + "minecraft:turtle_helmet",\ + "minecraft:wooden_shovel",\ + "minecraft:wooden_pickaxe",\ + "minecraft:wooden_axe",\ + "minecraft:wooden_hoe",\ + "mc_rebalance:wooden_paxel",\ + "minecraft:wooden_sword",\ + "minecraft:wooden_spear",\ + "minecraft:leather_helmet",\ + "minecraft:leather_chestplate",\ + "minecraft:leather_leggings",\ + "minecraft:leather_boots",\ + "minecraft:chainmail_helmet",\ + "minecraft:chainmail_chestplate",\ + "minecraft:chainmail_leggings",\ + "minecraft:chainmail_boots",\ + "minecraft:stone_shovel",\ + "minecraft:stone_pickaxe",\ + "minecraft:stone_axe",\ + "minecraft:stone_hoe",\ + "mc_rebalance:stone_paxel",\ + "minecraft:stone_sword",\ + "minecraft:stone_spear",\ + "minecraft:stone_helmet",\ + "minecraft:stone_chestplate",\ + "minecraft:stone_leggings",\ + "minecraft:stone_boots",\ + "minecraft:copper_shovel",\ + "minecraft:copper_pickaxe",\ + "minecraft:copper_axe",\ + "minecraft:copper_hoe",\ + "mc_rebalance:copper_paxel",\ + "minecraft:copper_sword",\ + "minecraft:copper_spear",\ + "minecraft:copper_helmet",\ + "minecraft:copper_chestplate",\ + "minecraft:copper_leggings",\ + "minecraft:copper_boots",\ + "minecraft:iron_shovel",\ + "minecraft:iron_pickaxe",\ + "minecraft:iron_axe",\ + "minecraft:iron_hoe",\ + "mc_rebalance:iron_paxel",\ + "minecraft:iron_sword",\ + "minecraft:iron_spear",\ + "minecraft:iron_helmet",\ + "minecraft:iron_chestplate",\ + "minecraft:iron_leggings",\ + "minecraft:iron_boots",\ + "minecraft:golden_shovel",\ + "minecraft:golden_pickaxe",\ + "minecraft:golden_axe",\ + "minecraft:golden_hoe",\ + "mc_rebalance:golden_paxel",\ + "minecraft:golden_sword",\ + "minecraft:golden_spear",\ + "minecraft:golden_helmet",\ + "minecraft:golden_chestplate",\ + "minecraft:golden_leggings",\ + "minecraft:golden_boots",\ + "minecraft:diamond_shovel",\ + "minecraft:diamond_pickaxe",\ + "minecraft:diamond_axe",\ + "minecraft:diamond_hoe",\ + "mc_rebalance:diamond_paxel",\ + "minecraft:diamond_sword",\ + "minecraft:diamond_spear",\ + "minecraft:diamond_helmet",\ + "minecraft:diamond_chestplate",\ + "minecraft:diamond_leggings",\ + "minecraft:diamond_boots",\ + "minecraft:netherite_shovel",\ + "minecraft:netherite_pickaxe",\ + "minecraft:netherite_axe",\ + "minecraft:netherite_hoe",\ + "mc_rebalance:netherite_paxel",\ + "minecraft:netherite_sword",\ + "minecraft:netherite_spear",\ + "minecraft:netherite_helmet",\ + "minecraft:netherite_chestplate",\ + "minecraft:netherite_leggings",\ + "minecraft:netherite_boots",\ + "minecraft:ender_chest",\ + "minecraft:clock",\ + "minecraft:compass",\ + "minecraft:recovery_compass",\ + "minecraft:shield",\ + "minecraft:white_bed",\ + "minecraft:orange_bed",\ + "minecraft:magenta_bed",\ + "minecraft:light_blue_bed",\ + "minecraft:yellow_bed",\ + "minecraft:lime_bed",\ + "minecraft:pink_bed",\ + "minecraft:gray_bed",\ + "minecraft:light_gray_bed",\ + "minecraft:cyan_bed",\ + "minecraft:purple_bed",\ + "minecraft:blue_bed",\ + "minecraft:brown_bed",\ + "minecraft:green_bed",\ + "minecraft:red_bed",\ + "minecraft:black_bed",\ + "minecraft:water_bucket",\ + "minecraft:bucket",\ + "minecraft:torch",\ + "minecraft:crafting_table",\ + "minecraft:pale_oak_boat",\ + "minecraft:oak_boat",\ + "minecraft:birch_boat",\ + "minecraft:spruce_boat",\ + "minecraft:jungle_boat",\ + "minecraft:dark_oak_boat",\ + "minecraft:acacia_boat",\ + "minecraft:mangrove_boat",\ + "minecraft:cherry_boat",\ + "minecraft:bamboo_raft",\ + "minecraft:pale_chest_oak_boat",\ + "minecraft:oak_chest_boat",\ + "minecraft:birch_chest_boat",\ + "minecraft:spruce_chest_boat",\ + "minecraft:jungle_chest_boat",\ + "minecraft:dark_chest_oak_boat",\ + "minecraft:acacia_chest_boat",\ + "minecraft:mangrove_chest_boat",\ + "minecraft:cherry_chest_boat",\ + "minecraft:bamboo_chest_raft"\ +]