The Vegan Option

The Vegan Option

53.9k Downloads

Cross-mod conflict (Pam's HC) causing reproducible crash

Opened this issue ยท 10 comments

commented

With just The Vegan Option (1.10.2-0.2.1) and Pam's Harvestcraft (and JEI), attempting to place a bucket of mod fluid in any crafting table will cause a crash. If the bucket is already in a table that keeps it's contents (such as the Tinkers' Construct crafting station) attempting to open the GUI will crash the game.

Reported at MatrexsVigil/harvestcraft#1

Edit: Had wrong crash log.

----- Minecraft Crash Report ----

WARNING: coremods are present:
ASMPlugin (VeganOption-mc1.10.2-0.2.1.jar)
Contact their authors BEFORE contacting forge

// You should try our sister game, Minceraft!

Time: 7/26/17 11:34 AM
Description: Rendering screen

java.lang.NullPointerException: Rendering screen
at net.minecraft.client.renderer.RenderItem.func_180453_a(RenderItem.java:418)
at net.minecraft.client.gui.inventory.GuiContainer.func_146977_a(GuiContainer.java:267)
at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:96)
at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)
at net.minecraft.client.renderer.EntityRenderer.func_181560_a(EntityRenderer.java:1094)
at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1076)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:371)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

A detailed walkthrough of the error, its code path and all known details is as follows:

-- Head --
Thread: Client thread
Stacktrace:
at net.minecraft.client.renderer.RenderItem.func_180453_a(RenderItem.java:418)
at net.minecraft.client.gui.inventory.GuiContainer.func_146977_a(GuiContainer.java:267)
at net.minecraft.client.gui.inventory.GuiContainer.func_73863_a(GuiContainer.java:96)
at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:382)

-- Screen render details --
Details:
Screen name: net.minecraft.client.gui.inventory.GuiCrafting
Mouse location: Scaled: (203, 95). Absolute: (812, 697)
Screen size: Scaled: (480, 270). Absolute: (1920, 1080). Scale factor of 4

-- Affected level --
Details:
Level name: MpServer
All players: 1 total; [EntityPlayerSP['scribbler957'/380, l='MpServer', x=-248.97, y=73.00, z=233.87]]
Chunk stats: MultiplayerChunkCache: 539, 539
Level seed: 0
Level generator: ID 00 - default, ver 1. Features enabled: false
Level generator options:
Level spawn location: World: (-204,64,248), Chunk: (at 4,4,8 in -13,15; contains blocks -208,0,240 to -193,255,255), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Level time: 932 game time, 932 day time
Level dimension: 0
Level storage version: 0x00000 - Unknown?
Level weather: Rain time: 0 (now: false), thunder time: 0 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false
Forced entities: 98 total; [EntityPlayerSP['scribbler957'/380, l='MpServer', x=-248.97, y=73.00, z=233.87], EntitySkeleton['Skeleton'/47, l='MpServer', x=-324.50, y=44.00, z=286.50], EntitySheep['Sheep'/48, l='MpServer', x=-323.47, y=65.00, z=271.53], EntitySheep['Sheep'/49, l='MpServer', x=-319.50, y=66.00, z=276.96], EntitySheep['Sheep'/50, l='MpServer', x=-326.50, y=66.00, z=278.50], EntitySkeleton['Skeleton'/51, l='MpServer', x=-320.58, y=44.00, z=288.10], EntitySkeleton['Skeleton'/52, l='MpServer', x=-320.42, y=44.00, z=288.89], EntityBat['Bat'/61, l='MpServer', x=-317.40, y=22.14, z=163.00], EntityZombie['Zombie'/62, l='MpServer', x=-316.46, y=58.00, z=175.50], EntityZombie['Zombie'/63, l='MpServer', x=-309.50, y=56.00, z=174.50], EntityZombie['Zombie'/64, l='MpServer', x=-311.26, y=17.00, z=193.67], EntityEnderman['Enderman'/65, l='MpServer', x=-309.50, y=17.00, z=191.50], EntityBat['Bat'/66, l='MpServer', x=-305.06, y=19.78, z=188.33], EntitySkeleton['Skeleton'/67, l='MpServer', x=-309.50, y=56.00, z=176.50], EntitySkeleton['Skeleton'/70, l='MpServer', x=-313.50, y=17.00, z=192.50], EntitySpider['Spider'/71, l='MpServer', x=-308.01, y=17.00, z=192.50], EntitySpider['Spider'/72, l='MpServer', x=-305.91, y=17.00, z=192.50], EntityBat['Bat'/73, l='MpServer', x=-295.10, y=18.71, z=193.07], EntityCow['Cow'/74, l='MpServer', x=-307.50, y=65.00, z=192.09], EntityCow['Cow'/75, l='MpServer', x=-307.53, y=65.00, z=193.25], EntityCow['Cow'/76, l='MpServer', x=-306.50, y=64.00, z=197.09], EntityZombie['Zombie'/77, l='MpServer', x=-310.50, y=14.00, z=241.50], EntitySkeleton['Skeleton'/78, l='MpServer', x=-306.67, y=14.00, z=242.96], EntityZombie['Zombie'/79, l='MpServer', x=-313.50, y=14.00, z=244.50], EntityCreeper['Creeper'/80, l='MpServer', x=-307.48, y=14.00, z=245.16], EntityCreeper['Creeper'/81, l='MpServer', x=-306.50, y=14.00, z=245.50], EntityCreeper['Creeper'/82, l='MpServer', x=-307.49, y=14.00, z=243.91], EntityCreeper['Creeper'/83, l='MpServer', x=-304.50, y=14.00, z=241.50], EntityCreeper['Creeper'/84, l='MpServer', x=-305.50, y=14.00, z=242.50], EntityZombie['Zombie'/85, l='MpServer', x=-316.50, y=22.00, z=283.50], EntitySheep['Sheep'/86, l='MpServer', x=-317.51, y=65.00, z=278.55], EntitySkeleton['Skeleton'/87, l='MpServer', x=-308.93, y=20.00, z=298.42], EntitySpider['Spider'/88, l='MpServer', x=-312.78, y=21.00, z=292.00], EntitySkeleton['Skeleton'/89, l='MpServer', x=-319.50, y=33.00, z=290.50], EntityZombie['Zombie'/90, l='MpServer', x=-320.01, y=44.00, z=289.59], EntitySkeleton['Skeleton'/91, l='MpServer', x=-306.50, y=55.00, z=303.50], EntitySkeleton['Skeleton'/92, l='MpServer', x=-303.49, y=54.00, z=305.13], EntitySkeleton['Skeleton'/93, l='MpServer', x=-306.50, y=12.00, z=304.50], EntityBat['Bat'/99, l='MpServer', x=-303.74, y=17.86, z=188.56], EntityBat['Bat'/100, l='MpServer', x=-293.67, y=59.46, z=184.52], EntityCow['Cow'/101, l='MpServer', x=-303.50, y=64.00, z=197.50], EntitySpider['Spider'/102, l='MpServer', x=-297.50, y=15.00, z=238.50], EntitySkeleton['Skeleton'/103, l='MpServer', x=-296.50, y=15.00, z=239.50], EntityCreeper['Creeper'/104, l='MpServer', x=-299.50, y=14.00, z=242.50], EntitySheep['Sheep'/105, l='MpServer', x=-296.53, y=65.00, z=247.18], EntitySheep['Sheep'/106, l='MpServer', x=-292.81, y=64.00, z=254.32], EntitySheep['Sheep'/107, l='MpServer', x=-292.50, y=64.00, z=250.50], EntitySheep['Sheep'/108, l='MpServer', x=-288.66, y=64.00, z=257.18], EntitySheep['Sheep'/109, l='MpServer', x=-291.50, y=74.00, z=285.50], EntitySheep['Sheep'/110, l='MpServer', x=-294.04, y=76.00, z=285.67], EntityCreeper['Creeper'/111, l='MpServer', x=-302.50, y=29.00, z=298.50], EntitySheep['Sheep'/112, l='MpServer', x=-289.50, y=75.00, z=293.56], EntityBat['Bat'/125, l='MpServer', x=-269.07, y=65.58, z=171.52], EntitySheep['Sheep'/126, l='MpServer', x=-287.50, y=81.00, z=285.50], EntityBat['Bat'/127, l='MpServer', x=-273.87, y=40.11, z=297.13], EntityBat['Bat'/128, l='MpServer', x=-276.76, y=39.11, z=285.96], EntityZombie['Zombie'/129, l='MpServer', x=-275.50, y=36.00, z=305.50], EntityZombie['Zombie'/130, l='MpServer', x=-274.50, y=36.00, z=305.50], EntityBat['Bat'/137, l='MpServer', x=-269.25, y=44.10, z=293.75], EntitySheep['Sheep'/138, l='MpServer', x=-268.50, y=77.00, z=289.50], EntitySheep['Sheep'/139, l='MpServer', x=-269.48, y=78.00, z=290.88], EntitySheep['Sheep'/140, l='MpServer', x=-269.51, y=78.00, z=290.32], EntitySheep['Sheep'/141, l='MpServer', x=-271.27, y=80.00, z=291.47], EntityCreeper['Creeper'/149, l='MpServer', x=-244.50, y=23.00, z=156.50], EntityZombie['Zombie'/150, l='MpServer', x=-238.32, y=24.00, z=158.54], EntityCow['Cow'/151, l='MpServer', x=-247.96, y=72.00, z=220.53], EntityCow['Cow'/152, l='MpServer', x=-247.45, y=73.00, z=228.45], EntityCow['Cow'/153, l='MpServer', x=-248.50, y=72.00, z=226.50], EntityCow['Cow'/154, l='MpServer', x=-241.75, y=71.00, z=229.47], EntityCow['Cow'/156, l='MpServer', x=-246.69, y=66.00, z=240.67], EntityBat['Bat'/167, l='MpServer', x=-236.31, y=13.68, z=160.86], EntityCreeper['Creeper'/168, l='MpServer', x=-234.46, y=24.14, z=159.50], EntityBat['Bat'/170, l='MpServer', x=-235.93, y=26.66, z=158.69], EntitySheep['Sheep'/171, l='MpServer', x=-231.45, y=70.00, z=206.15], EntitySheep['Sheep'/172, l='MpServer', x=-231.21, y=70.00, z=216.57], EntityCow['Cow'/173, l='MpServer', x=-244.55, y=71.00, z=219.71], EntityCow['Cow'/174, l='MpServer', x=-229.80, y=70.00, z=232.36], EntityCow['Cow'/175, l='MpServer', x=-228.56, y=69.00, z=235.25], EntitySheep['Sheep'/189, l='MpServer', x=-212.26, y=82.00, z=206.45], EntitySheep['Sheep'/190, l='MpServer', x=-222.50, y=74.00, z=213.50], EntitySheep['Sheep'/191, l='MpServer', x=-212.47, y=77.87, z=214.50], EntitySheep['Sheep'/192, l='MpServer', x=-221.56, y=69.00, z=221.55], EntitySheep['Sheep'/193, l='MpServer', x=-212.55, y=82.00, z=207.38], EntitySheep['Sheep'/194, l='MpServer', x=-211.45, y=80.00, z=212.50], EntityCreeper['Creeper'/195, l='MpServer', x=-218.50, y=20.00, z=292.50], EntitySheep['Sheep'/196, l='MpServer', x=-210.50, y=71.00, z=301.50], EntityBat['Bat'/206, l='MpServer', x=-199.80, y=29.04, z=172.65], EntitySkeleton['Skeleton'/207, l='MpServer', x=-202.48, y=72.00, z=166.71], EntityCreeper['Creeper'/208, l='MpServer', x=-192.55, y=73.00, z=169.18], EntitySheep['Sheep'/209, l='MpServer', x=-203.51, y=72.00, z=296.81], EntitySheep['Sheep'/211, l='MpServer', x=-206.50, y=71.00, z=304.50], EntitySheep['Sheep'/212, l='MpServer', x=-205.52, y=71.00, z=311.26], EntityBat['Bat'/469, l='MpServer', x=-305.03, y=21.02, z=186.45], EntityCreeper['Creeper'/229, l='MpServer', x=-177.50, y=18.00, z=162.50], EntitySheep['Sheep'/230, l='MpServer', x=-178.21, y=93.00, z=175.23], EntitySheep['Sheep'/252, l='MpServer', x=-170.71, y=94.00, z=174.55], EntitySheep['Sheep'/253, l='MpServer', x=-169.69, y=94.00, z=174.50], EntitySheep['Sheep'/254, l='MpServer', x=-172.36, y=93.00, z=167.97]]
Retry entities: 0 total; []
Server brand: fml,forge
Server type: Integrated singleplayer server
Stacktrace:
at net.minecraft.client.multiplayer.WorldClient.func_72914_a(WorldClient.java:415)
at net.minecraft.client.Minecraft.func_71396_d(Minecraft.java:2660)
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:392)
at net.minecraft.client.main.Main.main(SourceFile:124)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

-- System Details --
Details:
Minecraft Version: 1.10.2
Operating System: Mac OS X (x86_64) version 10.12.5
Java Version: 1.8.0_101, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 668147584 bytes (637 MB) / 2343567360 bytes (2235 MB) up to 5726797824 bytes (5461 MB)
JVM Flags: 3 total; -Xmx6144m -Xms256m -XX:PermSize=256m
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
FML: MCP 9.32 Powered by Forge 12.18.3.2422 6 mods loaded, 6 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCHIJAAAA mcp{9.19} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{8.0.99.99} [Forge Mod Loader] (forge-1.10.2-12.18.3.2422.jar)
UCHIJAAAA Forge{12.18.3.2422} [Minecraft Forge] (forge-1.10.2-12.18.3.2422.jar)
UCHIJAAAA JEI{3.14.7.420} [Just Enough Items] (jei_1.10.2-3.14.7.420.jar)
UCHIJAAAA harvestcraft{1.10.2j} [Pam's HarvestCraft] (Pam's HarvestCraft 1.10.2j.jar)
UCHIJAAAA VeganOption{0.2.1} [The Vegan Option] (VeganOption-mc1.10.2-0.2.1.jar)
Loaded coremods (and transformers):
ASMPlugin (VeganOption-mc1.10.2-0.2.1.jar)
squeek.veganoption.asm.ClassTransformer
Launched Version: forge-12.18.3.2422
LWJGL: 2.9.2
OpenGL: NVIDIA GeForce GT 750M OpenGL Engine GL version 2.1 NVIDIA-10.17.5 355.10.05.45f01, NVIDIA Corporation
GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because ARB_framebuffer_object is supported and separate blending is supported.
Shaders are available because OpenGL 2.1 is supported.
VBOs are available because OpenGL 1.5 is supported.

Using VBOs: Yes
Is Modded: Definitely; Client brand changed to 'fml,forge'
Type: Client (map_client.txt)
Resource Packs: 
Current Language: English (US)
Profiler Position: N/A (disabled)
CPU: 8x Intel(R) Core(TM) i7-4770S CPU @ 3.10GHz

<\details>

commented

Update: There's no crash with the previous (11/3/16) version of HC (1.9.4-1.10.2h).

commented

One last update, on rolling back HC on my original world, I found that a bucket of IE creosote can yield 4 fresh milk in the crafting table, apparently this is related to #87.

commented

Yeah, we should probably push an update that just removes the plant milk oredict stuff temporarily until #87 can be properly resolved.

commented

Perhaps, for now, you could use regular milk but give the bucket of milk a description that said "100% plant milk."

commented

I would just comment out the custom fluid stuff and use basic milk for now. Unlike RL, there's no mechanical difference in the two. Or am I assuming? I've been using VO since 1.7.10 for a no-kill style so I'm not all that familiar with the working of the plant milk. (We won't discuss the ethics of chickens with uranium eggs or cows that produce molten iron.)

commented

That might be a pretty good solution, but it'd come with it's own quirks when a mod adds a 'milk' fluid (because then the Forge universal bucket takes over for the vanilla milk bucket).

commented

Aren't the descriptions per item? Or am I thinking of something else? You could just give the bucket of milk a name like in an anvil. It's a bit of a stopgap, but it's probably good enough.

commented

You're right, it would mostly work, and it's a better temporary solution than just removing plant milk's oredict.

Just wanted to point out that it's not a complete solution due to things like VO's plant milk fluid (which is producible using piston crafting), and we'd start having to solve some of the same problems we currently have.

commented

Minecraft's milk doesn't have a fluid by default. As far as Minecraft is concerned, the milk bucket is more similar to something like mushroom stew than a bucket of water.

Anyway, I'll look into this more tonight and get a new version released.

commented

Should be fixed in v0.2.2: https://github.com/squeek502/VeganOption/releases/tag/v0.2.2

Ended up going with your suggested fix, so thanks for that!