[ADL] Always Drop Loot (update)

Make mobs always drop exp and loot, regardless of cause of death.

Always Drop Loot

Unofficial continuation of Always Drop Loot for Fabric, Forge, and NeoForge.

In vanilla Minecraft, mobs killed by falls, lava, suffocation, campfires, drowning, entity cramming, and other non-player causes may lose experience or loot that depends on a player kill. This mod makes that behavior configurable so passive farms and automated systems can receive the expected drops.

Version compatibility

Each supported loader/series combination is distributed as one runtime JAR. For example, the Forge 1.21 JAR declares compatibility with the whole 1.21.x series; a separate JAR is not required for every patch release.

Minecraft series Fabric Forge NeoForge
1.16.x Not available Not available Not available
1.17.x Not available Not available Not available
1.18.x Not available Not available Not available
1.19.x Not available Not available Not available
1.20.x 1.20–1.20.6 1.20–1.20.6 1.20.1–1.20.6
1.21.x 1.21–1.21.11 1.21–1.21.11 1.21–1.21.11
26.1.x >=26.1 <26.2 >=26.1 <26.2 >=26.1 <26.2
26.2.x >=26.2 <26.3 >=26.2 <26.3 >=26.2 <26.3
26.3.x >=26.3 <26.4 >=26.3 <26.4 >=26.3 <26.4

Not available means that this repository does not provide a mod build for that series. NeoForge support in the 1.20 line starts at 1.20.1.

The ranges above are the compatibility ranges declared by each artifact. Each project uses one representative Minecraft version per series, listed below.

Project matrix

Loader Series Build target Loader/API target Java bytecode / target runtime
Fabric 1.20 1.20.6 Loader 0.16.10 / API 0.100.8 17 / version-dependent
Fabric 1.21 1.21 Loader 0.15.11 / API 0.100.4 21 / 21
Fabric 26.1 26.1 Loader 0.18.4 / API 0.144.0 22 / 25
Fabric 26.2 26.2 Loader 0.19.3 / API 0.154.2 25 / 25
Fabric 26.3 26.3 Loader 0.19.5 / API 0.160.6 25 / 25
Forge 1.20 1.20.6 Forge 50.2.10 17 / version-dependent
Forge 1.21 1.21 Forge 51.0.33 21
Forge 26.1 26.1 Forge 62.0.2 25
Forge 26.2 26.2 Forge 65.1.1 25
Forge 26.3 26.3 Forge 66.0.2 25
NeoForge 1.20 1.20.6 NeoForge 20.6.139 17 / version-dependent
NeoForge 1.21 1.21 NeoForge 21.0.167 21
NeoForge 26.1 26.1.2 NeoForge 26.1.2.95 25
NeoForge 26.2 26.2 NeoForge 26.2.0.59 25
NeoForge 26.3 26.3 NeoForge 26.3.0.3-beta 25

Minecraft 26.3 currently has Fabric and NeoForge projects only. NeoForge 26.3.0.3-beta is a beta loader. Both builds passed dedicated development server checks for passive XP, loot modes, equipment drops and gamerule persistence. Client and modpack compatibility have not been tested.

Installation

  1. Install Fabric Loader for your Minecraft version.
  2. Install Fabric API for the same version.
  3. Put the mod jar in your mods folder.
  4. Start the game or server.

This mod is server-side in practice, so it is useful both in singleplayer and on dedicated servers.

Configuration

The mod is configured with gamerules. Because they are world-specific, each save or server can have different behavior.

If cheats are disabled in a singleplayer world, you can temporarily enable access to gamerules by opening the world to LAN with cheats enabled.

always-drop-loot:always_drop_xp

Controls whether mobs may drop XP when they die without being killed by a player.

Default:

/gamerule always-drop-loot:always_drop_xp true

Behavior:

  • true: mobs can still drop XP when death happens by environment or automation.
  • false: vanilla-style XP behavior.

always-drop-loot:passive_xp_modifier

Controls the XP multiplier for mobs that die without a player kill.

Default:

/gamerule always-drop-loot:passive_xp_modifier 1.0

Behavior:

  • 1.0: non-player kills drop the mob's normal XP amount.
  • 0.5: non-player kills drop half XP.
  • 0.0: non-player kills drop no XP.
  • 2.0: non-player kills drop double XP.

This value only affects deaths that were not credited to a player. It does not change normal player-kill XP.

always-drop-loot:loot_drop_mode

Controls how loot tables interpret the killed_by_player condition.

Default:

/gamerule always-drop-loot:loot_drop_mode ALWAYS_AS_PLAYER

Available values:

  • ALWAYS_AS_PLAYER: always treat the mob as if a player killed it.
  • NEVER_AS_PLAYER: never treat the mob as a player kill.
  • VANILLA: use normal vanilla behavior.
  • VANILLA_INVERSE: invert vanilla behavior.

This rule is what affects loot-table based drops that depend on killed_by_player.

Example setups

Always drop normal XP and loot from automated farms:

/gamerule always-drop-loot:always_drop_xp true
/gamerule always-drop-loot:passive_xp_modifier 1.0
/gamerule always-drop-loot:loot_drop_mode ALWAYS_AS_PLAYER

Allow loot from farms, but reduce XP from automated kills:

/gamerule always-drop-loot:always_drop_xp true
/gamerule always-drop-loot:passive_xp_modifier 0.5
/gamerule always-drop-loot:loot_drop_mode ALWAYS_AS_PLAYER

Keep vanilla loot logic, but still allow some XP from passive farms:

/gamerule always-drop-loot:always_drop_xp true
/gamerule always-drop-loot:passive_xp_modifier 0.5
/gamerule always-drop-loot:loot_drop_mode VANILLA

Credits

Full credit for the original mod concept, implementation, and open-source release goes to sargunv.

This updated fork exists to keep the mod usable on newer Fabric 1.21.x versions while preserving the original idea and behavior as closely as possible.

License

This fork continues to respect the original project's Apache-2.0 license.

[ADL] Always Drop Loot (update) Team

profile avatar
  • 1
    Followers
  • 3
    Projects
  • 7.9K
    Downloads

More from OneDefauter