Crock Pot

Crock Pot

328k Downloads

[bug]Putting vegetables into crockpot to fulfill receipt crashes client

khjxiaogu opened this issue ยท 1 comments

commented

When a receipt is fulfill, all nearby players keep crashing.
After removing CurrentReceipt tag of the coresponding crockpot, The problem resolved
stack trace:

[Render thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Client
com.google.gson.JsonSyntaxException: Unknown item tag 'forge:vegetables/onion'
	at net.minecraft.item.crafting.Ingredient.func_199803_a(Ingredient.java:223) ~[?:?]
	at net.minecraftforge.common.crafting.VanillaIngredientSerializer.parse(VanillaIngredientSerializer.java:41) ~[forge:?]
	at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:155) ~[forge:?]
	at net.minecraft.item.crafting.Ingredient.func_199802_a(Ingredient.java:189) ~[?:?]
	at com.sihenzhang.crockpot.utils.NbtUtils.readIngredient(NbtUtils.java:33) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementMustContainIngredient.deserializeNBT(RequirementMustContainIngredient.java:45) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementMustContainIngredient.<init>(RequirementMustContainIngredient.java:19) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementUtil.deserialize(RequirementUtil.java:23) ~[crockpot:1.5.2-release]
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_301]
	at java.util.Iterator.forEachRemaining(Unknown Source) ~[?:1.8.0_301]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:1.8.0_301]
	at com.sihenzhang.crockpot.recipe.Recipe.deserializeNBT(Recipe.java:97) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.Recipe.<init>(Recipe.java:43) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.tile.CrockPotTileEntity.func_230337_a_(CrockPotTileEntity.java:223) ~[crockpot:1.5.2-release]
	at net.minecraftforge.common.extensions.IForgeTileEntity.deserializeNBT(IForgeTileEntity.java:54) ~[forge:?]
	at net.minecraftforge.common.extensions.IForgeTileEntity.deserializeNBT(IForgeTileEntity.java:48) ~[forge:?]
	at com.sihenzhang.crockpot.tile.CrockPotTileEntity.onDataPacket(CrockPotTileEntity.java:198) ~[crockpot:1.5.2-release]
	at net.minecraft.client.network.play.ClientPlayNetHandler.func_147273_a(ClientPlayNetHandler.java:1145) ~[?:?]
	at net.minecraft.network.play.server.SUpdateTileEntityPacket.func_148833_a(SourceFile:55) ~[?:?]
	at net.minecraft.network.play.server.SUpdateTileEntityPacket.func_148833_a(SourceFile:11) ~[?:?]
	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:36) ~[?:?]
	at net.optifine.util.PacketRunnable.run(PacketRunnable.java:28) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(ThreadTaskExecutor.java:189) ~[?:?]
	at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(ThreadTaskExecutor.java:151) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(ThreadTaskExecutor.java:128) ~[?:?]
	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:947) ~[?:?]
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?]
	at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301]
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.1.62.jar:36.1]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?]
[Render thread/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Client
com.google.gson.JsonSyntaxException: Unknown item tag 'forge:vegetables/onion'
	at net.minecraft.item.crafting.Ingredient.func_199803_a(Ingredient.java:223) ~[?:?]
	at net.minecraftforge.common.crafting.VanillaIngredientSerializer.parse(VanillaIngredientSerializer.java:41) ~[forge:?]
	at net.minecraftforge.common.crafting.CraftingHelper.getIngredient(CraftingHelper.java:155) ~[forge:?]
	at net.minecraft.item.crafting.Ingredient.func_199802_a(Ingredient.java:189) ~[?:?]
	at com.sihenzhang.crockpot.utils.NbtUtils.readIngredient(NbtUtils.java:33) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementMustContainIngredient.deserializeNBT(RequirementMustContainIngredient.java:45) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementMustContainIngredient.<init>(RequirementMustContainIngredient.java:19) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.requirements.RequirementUtil.deserialize(RequirementUtil.java:23) ~[crockpot:1.5.2-release]
	at java.util.stream.ReferencePipeline$3$1.accept(Unknown Source) ~[?:1.8.0_301]
	at java.util.Iterator.forEachRemaining(Unknown Source) ~[?:1.8.0_301]
	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.copyInto(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.AbstractPipeline.evaluate(Unknown Source) ~[?:1.8.0_301]
	at java.util.stream.ReferencePipeline.forEach(Unknown Source) ~[?:1.8.0_301]
	at com.sihenzhang.crockpot.recipe.Recipe.deserializeNBT(Recipe.java:97) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.recipe.Recipe.<init>(Recipe.java:43) ~[crockpot:1.5.2-release]
	at com.sihenzhang.crockpot.tile.CrockPotTileEntity.func_230337_a_(CrockPotTileEntity.java:223) ~[crockpot:1.5.2-release]
	at net.minecraftforge.common.extensions.IForgeTileEntity.deserializeNBT(IForgeTileEntity.java:54) ~[forge:?]
	at net.minecraftforge.common.extensions.IForgeTileEntity.deserializeNBT(IForgeTileEntity.java:48) ~[forge:?]
	at com.sihenzhang.crockpot.tile.CrockPotTileEntity.onDataPacket(CrockPotTileEntity.java:198) ~[crockpot:1.5.2-release]
	at net.minecraft.client.network.play.ClientPlayNetHandler.func_147273_a(ClientPlayNetHandler.java:1145) ~[?:?]
	at net.minecraft.network.play.server.SUpdateTileEntityPacket.func_148833_a(SourceFile:55) ~[?:?]
	at net.minecraft.network.play.server.SUpdateTileEntityPacket.func_148833_a(SourceFile:11) ~[?:?]
	at net.minecraft.network.PacketThreadUtil.lambda$checkThreadAndEnqueue$0(PacketThreadUtil.java:36) ~[?:?]
	at net.optifine.util.PacketRunnable.run(PacketRunnable.java:28) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(ThreadTaskExecutor.java:189) ~[?:?]
	at net.minecraft.util.concurrent.RecursiveEventLoop.func_213166_h(SourceFile:23) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(ThreadTaskExecutor.java:151) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213160_bf(ThreadTaskExecutor.java:128) ~[?:?]
	at net.minecraft.client.Minecraft.func_195542_b(Minecraft.java:947) ~[?:?]
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:607) ~[?:?]
	at net.minecraft.client.main.Main.main(Main.java:184) ~[1.16.5.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_301]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_301]
	at net.minecraftforge.fml.loading.FMLClientLaunchProvider.lambda$launchService$0(FMLClientLaunchProvider.java:51) ~[forge-1.16.5-36.1.62.jar:36.1]
	at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:54) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:72) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.run(Launcher.java:82) [modlauncher-8.0.9.jar:?]
	at cpw.mods.modlauncher.Launcher.main(Launcher.java:66) [modlauncher-8.0.9.jar:?]
commented

I actually don't know why. But the bug disappeared after I first tried to use Supplier to delay the call of the method in the issue.
At first, I used Lazy provided by Forge, which is an implementation of Supplier that only fetches initially once. But this also caused the same bug in #34, so I switched it back to Supplier.