Better Animals Plus

Better Animals Plus

24M Downloads

Transporting multi-textured mobs with other mods breaks their textures

Partonetrain opened this issue ยท 10 comments

commented

Describe the bug (Required)
Picking up certain tameable mobs (Feral Wolf and Lammergier) with [https://www.curseforge.com/minecraft/mc-mods/carry-on](Carry On) and placing them back down makes them invisible. They are still there, fully functional, just not visible. They are still invisible after reloading the world.

Picking up one of the BA+ mobs that can have multiple textures and placing them back down either resets their texture or makes them invisible.

To Reproduce (Required unless not known)
Steps to reproduce the behavior:

  1. Spawn a mob with multiple textures
  2. Use mob with Ender-Farmer's Lead from Apotheosis or CarryOn
  3. Rclick on ground

Expected behavior
Mob gets placed down, fully visible.

Screenshots

image

image
(oddly, wolf still has its eyes and outline)

~~Versions:

  • Forge Version: 28.1.1
  • MC Version: 1.14.4
  • Mod Version: BA+ 7.1.2 CarryOn 1.12.3

Additional context
May be a CarryOn problem, but given there isn't a crash I can't tell.~~

commented

@itsmeow Found out that this happens with Apotheosis's Ender-Farmer's Lead as well - it's possible that that mod's NBT serialization is also broken, but I believe it is more likely that BA+ mobs are not acting like these mods expect. What do you think?

commented

I don't know enough about how CarryOn works to comment but I'm using pretty much the same code as the vanilla wolf for sitting, so.... I don't know.

commented

Sorry, I should've specified that I've narrowed it down to any mobs with multiple textures (I thought it was just tameables, but both the feral wolf and lammergeier do have several textures). Also, I've noticed there doesn't seem to be any texture field when I use /data entity get <press tab to get the mob I'm looking at> on a BA+ goat/feral wolf/lammergeir/songbird. This makes me believe BA+ isn't saving the texture number to the entity?

I'd like to re-open the issue but I can't because I didn't close it myself.
Thanks for the support!

commented

They use NBT to save the texture number under an integer field called TypeNumber

commented

I have an idea. Maybe it's because I use writeUnlessRemoved and not writeAdditional to save the data. Also gonna say this issue is connected to #100 since that is also an issue with CarryOn. Tschipp commented that carryon is not stable on 1.14, so I don't think this should be reopened.

commented

is there any log output?

commented

No log output.

Songbirds have their textures set to the default when picked up too - maybe CarryOn doing something to the mob's data?

commented

Seems so.

commented

Was messing around with other mobs and it just NPEs Loading entity NBT with vanilla foxes. Tschipp/CarryOn#191
I think this is a result of a carryon bug

commented

Yeah, the texture types are serialized to NBT so I assume their NBT serialization is broken. Closing this for now. Reopen if CarryOn says something is wrong here.