Carry On not writing variant data properly
Anatheras opened this issue ยท 2 comments
Describe the bug
If you pick up any animal from the mod the game stops rendering the entity while you are carrying it and upon dropping it down it doesnt render the model (only the shadow). If you reload the world the animal in question disappears even if it was a nametagged entity.
To Reproduce
- Have "Carry On(mod version:1.12.4)"
- Pickup any entity from the mod
- Drop down the entity that you are holding
- Model stops rendering and entity disappears after reloading world (even if tagged)
- New error shows up in console but doesnt crash the world.
Log output/error
An Entity type net.minecraft.entity.EntityType@2a8e30e3 has thrown an exception trying to write state. It will not persist. Report this to the mod author
java.lang.NullPointerException: Null string not allowed
at java.util.Objects.requireNonNull(Objects.java:228)
at net.minecraft.nbt.StringNBT.(StringNBT.java:18)
at net.minecraft.nbt.CompoundNBT.func_74778_a(CompoundNBT.java:117)
at its_meow.betteranimalsplus.common.entity.util.IVariantTypes.writeType(IVariantTypes.java:36)
at its_meow.betteranimalsplus.common.entity.EntityBearNeutral.func_184198_c(EntityBearNeutral.java:82)
at net.minecraft.entity.Entity.func_70039_c(Entity.java:1349)
at net.minecraft.world.chunk.storage.ChunkSerializer.func_222645_a(ChunkSerializer.java:319)
at net.minecraft.world.server.ChunkManager.func_219229_a(ChunkManager.java:674)
at net.minecraft.world.server.ChunkManager.lambda$save$9(ChunkManager.java:349)
at net.minecraft.world.server.ChunkManager$$Lambda$4244/567474163.accept(Unknown Source)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at net.minecraft.world.server.ChunkManager.func_219177_a(ChunkManager.java:346)
at net.minecraft.world.server.ServerChunkProvider.func_217210_a(SourceFile:319)
at net.minecraft.world.server.ServerWorld.func_217445_a(ServerWorld.java:746)
at net.minecraft.server.MinecraftServer.func_213211_a(MinecraftServer.java:513)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:107)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:622)
at java.lang.Thread.run(Thread.java:745)
Expected behavior
Pick up entity, drop it down somewhere and still be there.
Versions:
- OS: Windows 10 Pro version:1903 build:18362.720
- MC Version: 1.14.4
- Mod Version: 9.0.0
- Forge Version: 28.2.3
Additional context
I disabled every other mod i had and only left behind Carry On and Better Animals Plus then created a new world. Coyotes for some reason are the only exception to this bug that i have found, you can pick them up normally and drop them down without error and they stay after reloading the world
Coyotes do not have variants. That is why. I don't know why, but whatever weird things CarryOn is doing is breaking the NBT code for reading and writing variant IDs.