Chaos Drops

Every kill is a loot bag. Every block can be a gamble.

# Chaos Drops - KubeJS Addon

Chaos Drops turns progression into pure uncertainty.

Every player-killed entity drops a Chaos Loot Bag instead of its normal loot. Open the bag to receive a random item from the game, including modded and creative items, while debug and command-block/admin items are excluded by default.

Block mode is enabled by default and replaces player-broken block drops with random item drops too, making every block a gamble. To make the start gentler, each player receives 3 Stabilizer Charges once on first login. A Stabilizer Charge breaks one block with its normal drops instead of chaos drops, and it can also be crafted early game.

This is a KubeJS addon/customization, not a standalone Java mod and not a pure datapack.

## Requirements

- Minecraft 1.21.1
- NeoForge
- KubeJS for NeoForge

Built for All the Mods 10 / ATM10 using KubeJS `2101.7.2`. But should be used on any other modpack. Just a fun test to see if it could be completed with this tweak.

## Features

- Player-killed living entities drop `kubejs:chaos_loot_bag` instead of their normal drops.
- Entity loot tables are generated for living entities, so things like boats should not drop the bag when broken by a player. If they do drop, this its a bug. I wish you report what none-living thing dropped items. 
- Right-clicking a Chaos Loot Bag consumes it and gives one random item.
- Block mode is enabled by default and replaces player-broken block drops with one random item directly, not a bag.
- Block mode has exact block and tag blacklists for noisy blocks like grass, bushes, flowers, leaves, crops, and saplings.
- Block mode can be filtered by hand breaks, tool breaks, wrong-tool breaks, and blocks that require a correct tool.
- `kubejs:stabilizer_charge` is a one-use helper item. Right-click a block with it to break that block with normal drops instead of chaos drops.
- Players receive 3 starter Stabilizer Charges once on first login. Can be turned off.
- Fake players and machine-style block breaking are ignored by default.
- Player deaths are ignored so inventory drops are not replaced.

## Installation

Copy the contents of this zip into the root folder of your Minecraft instance or server.

The final layout should look like this:


<instance root>/kubejs/startup_scripts/random_loot_bag.js
<instance root>/kubejs/server_scripts/random_loot_bag.js
<instance root>/kubejs/client_scripts/random_loot_bag_tooltips.js
<instance root>/random_loot_config.json

Restart the game or server after installing. The custom items are registered during startup, so `/reload` is not enough for the first install.

## Configuration

Edit `random_loot_config.json` in the instance root.

Block mode:

"block_mode": {
  "enabled": true,
  "only_real_players": true,
  "require_recent_player_break": false,
  "only_blocks_with_normal_drops": true,
  "skip_block_entities": true,
  "tool_filters": {
    "allow_hand_breaks": true,
    "allow_tool_breaks": true,
    "allow_wrong_tool_breaks": true,
    "only_blocks_that_require_correct_tool": false,
    "exclude_blocks_that_require_correct_tool": false
  }
}

Set `"enabled": false` if you only want entity loot bags.

`"only_real_players": true` is the main safety gate that prevents machine and fake-player block drops from being randomized. `"require_recent_player_break"` is an extra strict gate and is off by default because some KubeJS event orderings do not mark the break before the drop event.

`"only_blocks_with_normal_drops": true` means chaos block drops only happen when the original block break would have dropped at least one item. This prevents no-drop blocks, such as unfinished amethyst buds, from becoming free random loot. Set it to `false` if you want every allowed player-broken block to roll chaos loot even when vanilla would drop nothing.

`"skip_block_entities": true` means blocks with block entities are not chaos-replaced. This protects containers and stateful blocks such as chests, shulker boxes, barrels, and many modded machines from losing their contents when broken.

Tool filters:

- `"allow_hand_breaks": false` stops hand-broken blocks from becoming chaos drops.
- `"allow_tool_breaks": false` stops any held-tool block break from becoming a chaos drop.
- `"allow_wrong_tool_breaks": false` stops blocks mined with the wrong tool from becoming chaos drops.
- `"only_blocks_that_require_correct_tool": true` makes chaos block drops apply only to blocks that need a correct tool for normal drops.
- `"exclude_blocks_that_require_correct_tool": true` makes chaos block drops skip blocks that need a correct tool for normal drops.

Block drop blacklist examples:


"random_drop_block_blacklist": [
  "minecraft:short_grass",
  "minecraft:tall_grass",
  "minecraft:dead_bush"
],
"random_drop_block_tag_blacklist": [
  "minecraft:flowers",
  "minecraft:leaves",
  "minecraft:crops"
]

Remove entries from these lists to let those blocks roll random drops again, or add more block IDs/tags to exclude them.

Starter player charges:


"stabilizer_charge_on_first_login": true,
"starter_stabilizer_charge_count": 3

`stabilizer_charge_on_first_login` is the intended starter option when Lootr is installed, because Lootr can replace the vanilla bonus chest loot path.

## Stabilizer Charge Recipe

The recipe makes 2 charges:


[  ][S][  ] 
[L][C][L]
[  ][R][  ] 

- `S` = String
- `L` = Leather
- `C` = Copper Ingot
- `R` = Redstone

## Textures

The package includes custom vanilla-style 16x16 textures for:

- `kubejs:chaos_loot_bag`
- `kubejs:stabilizer_charge`

Restart the game after changing item textures. `/reload` is enough for server script behavior, but not for startup-registered item model changes.

The Chaos Drops Team

HighCrafter tier frameprofile avatar
  • 8
    Followers
  • 13
    Projects
  • 1.1M
    Downloads

More from SirDizarmView all

  • Chestbound Sentinel project image

    Chestbound Sentinel

    Awaken a Dormant Core through an ancient ritual to obtain the Sentinel Core. Bind it to a chest and summon the Chestbound Sentinel, a stationary guardian that collects nearby items and destroys any mob that touches it.

    • 86
    • April 6, 2026
  • TradeKeepConverter project image

    TradeKeepConverter

    Adds a tool that allow zombie villagers to convert to still keep the "trade"

    • 32
    • February 19, 2026
  • Web Stripper project image

    Web Stripper

    Adds a block that can remove armor and items from most mobs on collision. Includes a configurable whitelist and blacklist.

    • 23
    • January 6, 2026
  • HatsAndStuff project image

    HatsAndStuff

    Hats and some other things

    • 219.2K
    • December 9, 2024
  • Chestbound Sentinel project image

    Chestbound Sentinel

    Awaken a Dormant Core through an ancient ritual to obtain the Sentinel Core. Bind it to a chest and summon the Chestbound Sentinel, a stationary guardian that collects nearby items and destroys any mob that touches it.

    • 86
    • April 6, 2026
  • TradeKeepConverter project image

    TradeKeepConverter

    Adds a tool that allow zombie villagers to convert to still keep the "trade"

    • 32
    • February 19, 2026
  • Web Stripper project image

    Web Stripper

    Adds a block that can remove armor and items from most mobs on collision. Includes a configurable whitelist and blacklist.

    • 23
    • January 6, 2026
  • HatsAndStuff project image

    HatsAndStuff

    Hats and some other things

    • 219.2K
    • December 9, 2024