Better Animals Plus

Better Animals Plus

22M Downloads

Missing loot table for badger

cheshyrp opened this issue · 7 comments

commented

According to Blame, the loot table for badgers is missing or incorrect.

****************** Blame Report 1.16.5-3.2.3-forge ******************

Found a Loot Table path that does not exist: betteranimalsplus:entities/badger
The path represented by this Loot Table is: data/betteranimalsplus/loot_tables/entities/badger.json
Loot Table method called at: net.minecraft.entity.LivingEntity.func_213354_a
net.minecraft.entity.MobEntity.func_213354_a
Most common cause is that the Loot Table file is not actually at that location.
Please let the mod author know about this so they can check to see if their Loot Table is correct.

commented

Yeah. The badger doesn't drop anything though, so I'm going to close this.

commented

Oh the missing LootTable thing. @cheshyrp the previous knowledge of programming languages isn’t relevant here lol. The missing loot table is more for debugging if the mob was suppose to drop something but the modder forgot to add a loot table. No loot table is a valid way to do it but also so is making an empty loot table like vanilla does with its bats. An empty loot table makes it explicit that it is intentionally empty instead of a possible missing loot table that was forgotten by accident. Also because I can’t really tell apart missing loot tables from container block entities vs mob drops vs other loot table stuff too due to where I hook to detect missing loot tables iirc.

@itsmeow I can Pr an empty loot table if you want later just to help signal to Blame and datapackers that the mob’s loot table is suppose to be empty by default. But no blame isn’t making up anything. It’s hooks into the loot table manager and checks to see if the resourcelocation cannot be resolved and is extremely useful for helping modders (like me) to know if a loot table for our structure chests has a typo. I don’t think I can make it stricter to detect mob loot tables and print a different message saying it could be intentional. Maybe I’ll edit the message rn to say if it is a mob drop loot table, it has a high chance of being intentional.
https://github.com/TelepathicGrunt/Blame/blob/ca0000cd986e819baca1c9e289acf81e83c6d6ab/src/main/java/com/telepathicgrunt/blame/mixin/LootTableManagerMixin.java#L36

Edit: pondering more about this and now I’m wondering how did missing loot tables become a standard for entities when vanilla doesn’t do that. It’s almost like implicit behavior to not drop loot but it is basically the same thing as a typoed loot table in a chest or a loot table file typoed in name. It’s kind of weird how it got so prevalent in modding when empty loot tables json should be encouraged for explicitness. Interesting

commented

I mean, modding has always had LootTweaker if anyone wanted to customize loot, which means even if a mob didn't have a loot table it could be added. Datapacks are less common. Even then, a datapack could just add a loot table to the badger and it would likely work. There's no point for me to put in the effort and make an empty loot table for 30+ entities, when the only issue that arises is Blame makes a little warning. It has no implications otherwise.

commented

The badger doesn't have a loot table. It should be null, and loot tables are also Nullable in general, so I'm confused how this happened. Can you send the full log instead of the blame? Also, please don't remove the template information as it's necessary for understanding the context of the problem.
I need:

  • Forge version (ex: 36.0.52)
  • Minecraft version (ex: 1.16.5)
  • Mod version (ex: 10.2.0)
  • Full crash report log
commented

Forge 36.2.2
Minecraft 1.16.5
Better Animals Plus 10.2.0

There is no crash log, as this isn't a crash. I gave you everything that Blame said about the missing loot table. It's a very common error, and the author of Blame has guides on correcting it. If you want a latest.log, I can provide that if I see another badger and the error is triggered. I doubt it will have any more data than what's above, though.

commented

I don't know enough about Minecraft modding to say one way or another. I have been a software developer since 1985, but that's C, Pascal, COBOL, FORTRAN, etc. No experience with modding other than my shop in Second Life. It seems to be that reporting missing loot tables is handy for debugging, even if it's not an actual bug. Especially if it's for something like dungeon loot or boss drops that really shouldn't be empty.

commented

Missing loot tables is not an error though, I really feel like Blame is making things up here... All entities receive a default "loot table path". Whether is exists or not is optional.