Productive Bees

Productive Bees

10M Downloads

[1.16.3] Weird null errors in console? (On a server)

Gbergz opened this issue · 24 comments

commented

Minecraft: 1.16.3
Forge: 34.1.42
Productive Bees Version: 0.4.1.4
BumbleZone Version: 2.2.2

Some of the spam in the logs: https://hatebin.com/nhudpqldaq

Any ideas?

- Gbergz

commented

Yes sure! Here they are: (too big for paste sites, 10mb)
debug.log

Breaking Comb blocks doesnt drop a comb block back it just poofs, its texture is also missing upon mining it:
image

And when placing a comb from your inventory then breaking it, a ghost block will appear like this:
image

The tooltip of that block and many others:
image

This started to happen when I added BumbleZone to my modpack TNP Limitless 3.

- Gbergz

commented

I had that issue happen when I used nbt based combs/blocks. Seems as though the nbt tags set must not be correct.

commented

I had that issue happen when I used nbt based combs/blocks. Seems as though the nbt tags set must not be correct.

These are combs from an update before adding BumbleZone, they got currupt somehow, or rather.. got unconfigured as the tooltip says.

commented

Yeah the “unconfigured” aspect indicates they don’t have the proper nbt. My guess is that the tile entity where the nbt is being saved is doesn’t exist for some reason

commented

I’m on mobile and that aws link won’t let me select text for some dumb reason but I see this before the spam
E4C62F8C-15EB-4C6B-A584-F11BB2B8423F

commented

You looked through a 10mb file on your mobile? :D

java.lang.NullPointerException: null at net.minecraft.nbt.StringNBT.func_229705_a_(StringNBT.java:40) ~[?:?] at net.minecraft.nbt.CompoundNBT.func_74778_a(CompoundNBT.java:150) ~[?:?] at cy.jdkdigital.productivebees.tileentity.CombBlockTileEntity.func_189515_b(CombBlockTileEntity.java:52) ~[productivebees:1.16.3-0.4.1.4] at net.minecraft.item.BlockItem.func_179224_a(BlockItem.java:165) ~[?:?] at net.minecraft.item.BlockItem.func_195943_a(BlockItem.java:100) ~[?:?] at net.minecraft.item.BlockItem.func_195942_a(BlockItem.java:65) ~[?:?] at net.minecraft.item.BlockItem.func_195939_a(BlockItem.java:39) ~[?:?] at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:603) ~[forge:?] at shadows.apotheosis.deadly.asm.DeadlyHooks.onItemUse(DeadlyHooks.java:121) ~[apotheosis:4.4.1] at net.minecraft.item.ItemStack.func_196084_a(ItemStack.java) ~[?:?] at net.minecraft.server.management.PlayerInteractionManager.func_219441_a(PlayerInteractionManager.java:350) ~[?:?] at net.minecraft.network.play.ServerPlayNetHandler.func_184337_a(ServerPlayNetHandler.java:889) ~[?:?] at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:36) ~[?:?] at net.minecraft.network.play.client.CPlayerTryUseItemOnBlockPacket.func_148833_a(SourceFile:10) ~[?:?] at net.minecraft.network.PacketThreadUtil.func_225383_a(SourceFile:21) ~[?:?] at net.minecraft.util.concurrent.TickDelayedTask.run(SourceFile:18) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(SourceFile:144) ~[?:?] at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:730) ~[?:?] at net.minecraft.server.MinecraftServer.func_213166_h(MinecraftServer.java:156) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(SourceFile:118) ~[?:?] at net.minecraft.server.MinecraftServer.func_213205_aW(MinecraftServer.java:713) ~[?:?] at net.minecraft.server.MinecraftServer.func_213168_p(MinecraftServer.java:707) ~[?:?] at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(SourceFile:103) ~[?:?] at net.minecraft.server.MinecraftServer.func_213202_o(MinecraftServer.java:692) ~[?:?] at net.minecraft.server.MinecraftServer.func_240802_v_(MinecraftServer.java:642) ~[?:?] at net.minecraft.server.MinecraftServer.lambda$startServer$0(MinecraftServer.java:229) ~[?:?] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251]

@Gbergz Did you do an upgrade of one of the mods after generating the bumblezone dimension or is it fresh after installing the mod?

commented

damn that image is much larger on pc than it was on my phone LOL. yeah it took a while to filter through bs at the bottom but I managed to do it.

commented

It's a fresh dimension after installing the mod.

commented

Here is how Bumblezone is setting the Tile Entity which is the same way vanilla sets mob spawner's Tile Entity

https://github.com/TelepathicGrunt/Bumblezone/blob/b02babfff998b21d19c5e92ab85e3a373a118e34/src/main/java/com/telepathicgrunt/the_bumblezone/features/BzBEOreFeature.java#L122-L127

I can try moving the bzBEOreFeatureConfig.type != null to be before the block placing completely but it shouldnt be null in the first place. hmm

commented

@TelepathicGrunt is this from BZ?

commented

Maybe it is when a tile entity is placed out of bounds that the game does that. Not sure. I can experiment maybe tomorrow to see if I can reproduce it but I haven’t seen it before in my dev environment or when testing

commented

@Gbergz can you provide a full debug.log from the server to help with the investigation?

commented

You can close this here as this is an issue on my end. Getting TEs after the bock is placed seems to fail when the chunk is in a certain phase of worldgen which is mega weird. Although the TEs seem to be fine but the log spam is annoying so i gotta do something about it anyway

commented

It could be because not all entries in PB_DATA has valid combs, there's a config option to not make configurable combs for the bee.

https://github.com/JDKDigital/productive-bees/blob/dev-1.16.3/src/main/resources/data/productivebees/productivebees/blazing.json#L4

commented

It seems the Ender combs are possibly throwing the error.
image
image

I did make the assumption that all entries in PB_DATA are valid combs but if they are not, how would I check?

Currently I am doing:

PB_DATA = new HashMap<>(BeeReloadListener.INSTANCE.getData());
PRODUCTIVE_BEES_LIST = PB_DATA.keySet().stream().map(ResourceLocation::toString).collect(Collectors.toList());
VALID_COMB_TYPES = new HashSet<>(PB_DATA.keySet());
commented

Ender bees don't have comb generation enabled, so that might be it. Do other combs like Gold and Iron work?

commented

yep all other combs appears to be working fine

commented
CompoundNBT nbt = PB_DATA.get(...);
nbt.getBoolean("createComb")
commented

Thanks!
VALID_COMB_TYPES = PB_DATA.keySet().stream().filter(rl -> PB_DATA.get(rl).getBoolean("createComb")).collect(Collectors.toSet());
what a line lol.

Does productive bees also allow for disabling bees but keeping honeycombs as well?

commented

Looks right :)

There's no handling of bees being removed or in other ways missing from the list.

commented

Seems comb still have a missing texture upon mining & don't drop anything at all. Is this intended or is this also a bug?

GIF: https://gyazo.com/b7847998fd2fbd7ab7a917baaa1e6f2b

commented

It's fixed in dev

commented

Looks like its fixed in this version, atleast the block drops: productivebees-1.16.3-0.4.2.0.jar.

commented

Yes, I put it in the small release yesterday, 1.15.2 and 1.16.1 will have to wait.