TwistedGate / ImmersivePetroleum

Oil and oil processing for Immersive Engineering
https://minecraft.curseforge.com/projects/immersive-petroleum
31 stars 31 forks source link

Datapack does not override recipes and files #148

Closed jmarchant22 closed 1 year ago

jmarchant22 commented 1 year ago

Minecraft Version

1.18.2

Immersive Engineering Version

8.4.0-161

Immersive Petroleum Version

4.1.0-19

Current Behaviour

When a datapack is loaded with either KubeJS, Openloader, or the Minecraft built-in datapack loader, files in the datapack that are structured to override files in Immersive Petroleum's internal datapack file structure, will not override. Tested with both recipe JSONs and Structure NBT data.

Expected Behaviour

Files are supposed to override properly and recipes and/or structures should be changed accordingly.

Reproduction Steps

  1. Create a datapack for Minecraft 1.18.2 that has inside it the same datapack file structure that the Immersive Petroleum Jar has.
  2. Create a recipe JSON with the same name and function as a recipe JSON in the same corresponding file location in the Immersive Petroleum Jar.
  3. Modify the recipe JSON to differentiate it from the original recipe JSON it is intended to override.
  4. Load the datapack into Minecraft.
  5. View the target recipe in JEI to see if it changed accordingly.

Debug Crash Log

https://gist.github.com/jmarchant22/95f915007fc21a8d235283bfda90a0f9

Information for the reader.

mindforger commented 1 year ago

can you add an example of a changed datapack for testing? (including exact location where you put it and a screenshot "how" you have enabled it inside the client)

TwistedGate commented 1 year ago

can you add an example of a changed datapack for testing? (including exact location where you put it and a screenshot "how" you have enabled it inside the client)

this

jmarchant22 commented 1 year ago

Yes, Here is a test datapack to use. https://github.com/jmarchant22/Immersive-Petroleum-Custom-Datapack-JAM-28APR23.git The oil distillation tower should be changed, and the lubricant cracking and naphtha cracking hydrotreater recipes should also be changed. The distillation tower multiblock should be changed to using silver sheetmetal instead of iron sheetmetal.

jmarchant22 commented 1 year ago

troubleshoot1 troubleshoot2 troubleshoot3

TwistedGate commented 1 year ago

Full paths of every folder inside that data folder in text form please...

Edit: And make sure everything is lower-case

jmarchant22 commented 1 year ago

Distillation Tower Oil Recipe:

"~\data\immersivepetroleum\recipes\distillationtower\oil.json"

Hydrotreater Recipes:

"~\data\immersivepetroleum\recipes\hydrotreater\lubricant_cracking.json"

"~\data\immersivepetroleum\recipes\hydrotreater\naphtha_cracking.json"

Distillation Tower NBT Structure:

"~\data\immersivepetroleum\structures\multiblocks\distillationtower.nbt"

TwistedGate commented 1 year ago

Thats on your end. (Probably KubeJS being the fault, try removing that) I've got it working on my end without having done anything to the datapack you provided.

And the HPRU's secondary_input only accepts tag and not fluid. (Hydrotreater) Those wont even work because of it and will drop a com.google.gson.JsonSyntaxException: Missing tag, expected to find a string error in the logs.

PS: Structure files require either a full game restart or world-reload btw

jmarchant22 commented 1 year ago

Confirmed, it is one of my KubjeJS scripts. Will add one more comment which will show the solution, in case anyone stumbles upon this in the future.

jmarchant22 commented 1 year ago

All my KubeJS scripts appear to be fine, and the structure is now loading properly. Closing this issue.