In certain modded environments, all loot tables appear to be empty
unilock opened this issue ยท 5 comments
Mod Loader
Quilt (possibly also Fabric)
Minecraft Version
1.20.1
Botania version
1.20.1-443
Modloader version
Quilt Loader 0.23.0 + QFAPI 7.4.0 / Fabric API 0.90.0
Modpack info
N/A
The latest.log file
https://gist.github.com/unilock/102676f783706c3df48a78b89980b897
Issue description
Under very certain conditions (namely, the exact set of mods installed), all loot tables appear to be empty - blocks drop nothing, slain mobs drop nothing, etc.
Steps to reproduce
- Install Quilt Loader 0.23.0
- Install the exact set of mods listed below
- Start the game, create a new superflat world in survival mode with cheats enabled
- Try breaking a Grass Block by hand; nothing is dropped
/give <username> minecraft:netherite_sword
/summon minecraft:sheep
- Kill the Sheep with the Netherite Sword; nothing is dropped
Other information
This issue does not occur reliably across all modded environments; rather, it seems dependent on which mods are installed at the time. I suspect this is due to the mod loading order being semi-random on Fabric / Quilt; I'm guessing it's deterministic based on the current mod set. My theory is that some loot-related mixin is being applied before / after some other loot-related mixin in an incompatible manner, ultimately causing the issue.
Due to this issue being so random, it's been very difficult to narrow down the mod set to only those related to the issue. Here is the smallest set of mods I've been able to reproduce the issue with thus far:
badpackets-fabric-0.4.3.jar
balm-fabric-1.20.1-7.2.1.jar
*Botania-1.20.1-443-FABRIC.jar
*can-i-mine-this-block-1.4.0.jar
Crafty-Crashes-1.0.jar
ctrlq-fabric-mc1.19.3+-1.9.jar
emi-1.0.29+1.20.1+fabric.jar
macos-input-fixes-1.6.jar
mixintrace-1.1.1+1.17.jar
modmenu-7.2.2.jar
MouseTweaks-fabric-mc1.20-2.25.jar
Patchouli-1.20.1-84-FABRIC.jar
porting_lib-2.1.1175+1.20.1.jar
*qfapi-7.4.0_qsl-6.1.2_fapi-0.90.0_mc-1.20.1.jar
*quilt-kotlin-libraries-2.1.3+kt.1.9.10+flk.1.10.10.jar
trinkets-3.7.1.jar
wthit-quilt-8.4.3.jar
Mods marked with a *
are noted to have a mixin targetting net/minecraft/world/level/storage/loot/LootTable
(Mojmap) / net/minecraft/loot/LootTable
(Yarn).
I'm fairly certain this issue is caused by, or at least related to Botania, as removing Botania results in the issue resolving itself, even after several other changes to the mod set.
I have had issues with porting_lib in the past - my understanding is it drastically changes the vanilla loot system. Does this happen without it?
Removing Porting Lib (and all mods that depend on / embed it) does also appear to "fix" the issue. However, it's used by quite a few large mods in the modpack I'm working with, so removing it is not much of an option, in my case.
This leads me to believe that this is an incompatibility between Botania and Porting Lib. That being said, I believe this specifically affects Quilt (Loader / API), as I have in the past used a Fabric-based 1.20.1 modpack with Botania and Porting Lib without ever encountering this issue.
Although... another Fabric-based 1.20.1 modpack, All of Fabric 7, appears to have also had this issue after adding Botania and Create (and thus Porting Lib): TeamAOF/All-of-Fabric-7#66
...but I guess it's since been resolved? I have no idea what they might've done to fix it, though...
I checked All of Fabric's Discord guild, and apparently this is a recurring issue - though it seems to only occur after their AOF7 server(s) have been running for a while (instead of immediately), and is usually fixed by restarting the server. Neither is the case for me...
Links to some relevant messages in the Discord guild: 2024-01-07, 2024-01-04, 2024-01-04, 2023-12-31 (with some relevant discussion)