FTBTeam / FTB-Unstable-1.14

FTB Unstable-1.14 Issue tracker is now closed, use https://github.com/FTBTeam/FTB-Modpack-Issues
4 stars 0 forks source link

Chests generated with structures appear to have broken loot tables. #28

Open Ilusionz opened 5 years ago

Ilusionz commented 5 years ago

I've found a few chests now and each one of them has been completely empty.

I have currently only found mineshaft chests with minecarts, & dungeon chests.

Ilusionz commented 5 years ago

Found the culprit.

PotionCapsule is messing loot tables up, upon removing the mod everything works as it should.

Sunekaer commented 5 years ago

Hi, Awesome you found the issue, have you reported this to PotionCapsule?

NoBar94 commented 5 years ago

Removing PotionCapsule worked for most chests (that I know of) but for some reason certain chests still did not populate. The chests in sunken ships that generally has food and leather type armor in it is empty.

hm-ysjiang commented 5 years ago

I am the author of PotionCapsule, and I recently received a report about this issue. Sorry for causing these to happen.

This problem is because some of the mods forgot to set the injected pool's name, including mine. Thus the entire loot table goes down when another mod is trying to add its own pool.

The modlist of problematic mods can be found in this issue and the detail of the problem can be found here. And this bug is fixed in PotionCapsule 1.1.1.

noobanidus commented 5 years ago

To be fair, Loot Pools are not generally named in Vanilla and the only reason they have names at all is because Forge dynamically assigns them when reading the JSON file. When injecting into the loot table using the standard "reference to another loot table", the Builder works fine without a name, but the actual Forge code patched into LootTable::addPool specifically checks name.isEqual() which causes a null pointer and then causes the loading of the table to fail.

How Forge deals with this issue is really what counts; the good thing is that knowing this, you can just do .name("my loot pool") before running build.

hotdog95 commented 4 years ago

I have found that worlds generated with Biomes O' Plenty generation will not have shipwreck loot. I have not reported the issue as I have tested BOP on it's own and the issue does not exist, it must be a conflict with some other mod (I am not sure which one) and only when the world gen type is set to BOP.

Just as a side note, BOP worlds are poor on memory, I only assigned 4G ram for my instance and lagged a lot in the BOP world but not the standard gen world.

noobanidus commented 4 years ago

Generally there'll be an "unable to load loot table XYZ" due to a null pointer error. It won't say specifically what mod caused it, but it'll at least give an indication that something has gone awry.