Create

Create

86M Downloads

Unable to remove autogenerated shapeless recipe

Coach-mdl opened this issue ยท 3 comments

commented

Description

Sorry for the repost. I was unaware that if you press enter on the game log section, it just uploads the issue immediately with zero confirmation from the user. I also couldn't find a way to edit the entire post, just the description.

This is going to get a bit messy. Create auto generates recipes for crafting recipes added by other mods. Due to the incompatibility with NBT data and automated shapeless crafting, it has created a recipe that I cannot remove due to it not having an output. Since the recipe has no output, there is no way JEI can give me the recipe ID since for whatever reason, the JEI devs decided it would be wise to put the very important data on the output that very well has a chance to not appear if something goes wrong.

The reason I wish to remove this recipe is due to it causing a crash that can lock you out of your world until the recipe is removed, the crash log of which I have provided in the game log section along with my log from my current test instance. The crash log is from a different modpack, but it has the same offending mods. I created a separate instance with the same mods and was able to recreate this same crash.

2024-09-06_18 49 40
2024-09-06_18 49 52
2024-09-06_18 54 59
Above is how salting is supposed to be crafted and the offending recipe that doesn't want to leave my instance no matter how many lines of "Please go away" I feed into KJS. Seemingly trying to filter by input and mod: 'create' doesn't want to work. I could just be exceptionally dense, I'm not the brightest when it comes to coding. The issue isn't that the recipe doesn't work, it's that I can't remove it. What usually happens when you try to craft this recipe in a mixer is that it voids the output, because there isn't one. It does work as intended with mechanical crafters though.

The crash was caused when a mixing recipe added through KJS to make firmalife butter was attempted. Firmalife butter is crafted with one salt and 1000mb of firmalife cream. Should you happen to fill the basin with cream fast enough and dump a bunch of salt in there, it will crash the game. Butter can be salted and suffers from the same issues the raw beef did in the above images. I imagine it crashed due to the multiple outputs but since these items are still in the basin, it repeatedly crashes that world until the recipe is removed.

Sorry if this is a non-issue but if this points to something in the underlying code that can be fixed, I'm willing to potentially post a pointless issue to help.

Game Log

https://mclo.gs/rjp51AH (Link to the log of my test environment) https://mclo.gs/R37cDie (Crash log of the other instance)

Debug Information

Client Info
Create:
	Mod Version: 0.5.1h
	Forge Version: 47.2.6
	Minecraft Version: 1.20.1

Graphics:
	Flywheel Version: 0.6.11-13
	Flywheel Backend: OFF
	OpenGL Renderer: NVIDIA GeForce GTX 1050 Ti/PCIe/SSE2
	OpenGL Version: 4.6.0 NVIDIA 555.99
	Graphics Mode: options.graphics.fancy

System Information:
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 17.0.11, Oracle Corporation
	JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8096m -Xms256m
	Memory: 1644600984 bytes (1568 MiB) / 4760535040 bytes (4540 MiB) up to 8489271296 bytes (8096 MiB)
	Total Memory: 14721933312 bytes (14034 MiB) / 17122893824 bytes (16323 MiB)
	CPU: AMD Athlon(tm) X4 860K Quad Core Processor @ 3.69 GHz; 2 cores / 4 threads on 1 socket(s)
	Graphics card #0: NVIDIA GeForce GTX 1050 Ti (NVIDIA (0x10de)); 4095.00 MB of VRAM

Other Mods:
	Panda's Falling Tree's: 0.12.7
	Kiwi Library: 11.6.2
	Rhino: 2001.2.3-build.6
	KumaAPI: 20.1.8
	Together We Thrive: 2001.6.5-build.14
	TrashSlot: 15.1.0
	TFC Water Flasks: 3.0.3
	FTB Library: 2001.2.4
	Wooden Cog: 1.0.3-1.20.1
	TFCGyres-OreHints: 2.1
	Barrels 2012: 2.1
	Just Enough Items: 15.17.0.76
	Visual Workbench: 8.0.0
	Simple RPC: 3.3.2
	KubeJS Addditions (Forge): 4.3.2
	PonderJS: 1.4.0
	Rubidium (Embeddium): 0.7.1
	Waystones: 14.1.5
	Controlling: 12.0.2
	Placebo: 8.6.2
	ModernFix: 5.19.4+mc1.20.1
	Citadel: 2.6.0
	Configured: 2.2.3
	MixinExtras: 0.2.0-rc.2
	World Border: 4.7
	CraterLib: 2.0.3
	Caelum: 1.20.1-2.0.0.0
	Balm: 7.3.9
	Toast Control: 8.0.3
	TerraFirmaCraft: 3.2.7
	What Are They Up To: 1.20.1-1.1.3
	Puzzles Access Api: 8.0.7
	Cloth Config v10 API: 11.1.118
	FTB Teams: 2001.3.0
	FTB Chunks: 2001.3.1
	Embeddium: 0.3.31+mc1.20.1
	Corpse: 1.20.1-1.0.14
	EMI: 1.1.12+1.20.1+forge
	FTB XMod Compat: 2.1.1
	Moonlight Library: 1.20-2.12.17
	Mouse Tweaks: 2.25.1
	Wildfire's Female Gender Mod: 1.20.1-3.0.1
	Jade: 11.11.1+forge
	KubeJS TFC: 1.2.0
	PandaLib: 0.4.2
	Kotlin For Forge: 4.11.0
	TFC Ambiental: 1.20.1-3.3.1
	Curios API: 5.10.0+1.20.1
	Patchouli: 1.20.1-84-FORGE
	Oculus: 1.7.0
	Collective: 7.84
	Searchables: 1.0.3
	Resourceful Lib: 2.1.29
	CoroUtil: 1.20.1-1.3.7
	KubeJS Create: 2001.2.5-build.2
	Architectury: 9.2.14
	Ferrite Core: 6.0.1
	Cupboard utilities: 1.20.1-2.7
	Puzzles Lib: 8.1.22
	Firmalife: 2.1.9
	Lychee Tweaker: 5.1.14
	TFC Vessel Tooltip: 1.1
	ProbeJS: 6.0.1
	TFC Caelum: 1.2
Server Info
Create:
	Mod Version: 0.5.1h
	Forge Version: 47.2.6
	Minecraft Version: 1.20.1

System Information:
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 17.0.11, Oracle Corporation
	JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx8096m -Xms256m
	Memory: 1644600984 bytes (1568 MiB) / 4760535040 bytes (4540 MiB) up to 8489271296 bytes (8096 MiB)
	Total Memory: 14721933312 bytes (14034 MiB) / 17122893824 bytes (16323 MiB)
	CPU: AMD Athlon(tm) X4 860K Quad Core Processor @ 3.69 GHz; 2 cores / 4 threads on 1 socket(s)
	Graphics card #0: NVIDIA GeForce GTX 1050 Ti (NVIDIA (0x10de)); 4095.00 MB of VRAM

Other Mods:
	Panda's Falling Tree's: 0.12.7
	Kiwi Library: 11.6.2
	Rhino: 2001.2.3-build.6
	KumaAPI: 20.1.8
	Together We Thrive: 2001.6.5-build.14
	TrashSlot: 15.1.0
	TFC Water Flasks: 3.0.3
	FTB Library: 2001.2.4
	Wooden Cog: 1.0.3-1.20.1
	TFCGyres-OreHints: 2.1
	Barrels 2012: 2.1
	Just Enough Items: 15.17.0.76
	Visual Workbench: 8.0.0
	Simple RPC: 3.3.2
	KubeJS Addditions (Forge): 4.3.2
	PonderJS: 1.4.0
	Rubidium (Embeddium): 0.7.1
	Waystones: 14.1.5
	Controlling: 12.0.2
	Placebo: 8.6.2
	ModernFix: 5.19.4+mc1.20.1
	Citadel: 2.6.0
	Configured: 2.2.3
	MixinExtras: 0.2.0-rc.2
	World Border: 4.7
	CraterLib: 2.0.3
	Caelum: 1.20.1-2.0.0.0
	Balm: 7.3.9
	Toast Control: 8.0.3
	TerraFirmaCraft: 3.2.7
	What Are They Up To: 1.20.1-1.1.3
	Puzzles Access Api: 8.0.7
	Cloth Config v10 API: 11.1.118
	FTB Teams: 2001.3.0
	FTB Chunks: 2001.3.1
	Embeddium: 0.3.31+mc1.20.1
	Corpse: 1.20.1-1.0.14
	EMI: 1.1.12+1.20.1+forge
	FTB XMod Compat: 2.1.1
	Moonlight Library: 1.20-2.12.17
	Mouse Tweaks: 2.25.1
	Wildfire's Female Gender Mod: 1.20.1-3.0.1
	Jade: 11.11.1+forge
	KubeJS TFC: 1.2.0
	PandaLib: 0.4.2
	Kotlin For Forge: 4.11.0
	TFC Ambiental: 1.20.1-3.3.1
	Curios API: 5.10.0+1.20.1
	Patchouli: 1.20.1-84-FORGE
	Oculus: 1.7.0
	Collective: 7.84
	Searchables: 1.0.3
	Resourceful Lib: 2.1.29
	CoroUtil: 1.20.1-1.3.7
	KubeJS Create: 2001.2.5-build.2
	Architectury: 9.2.14
	Ferrite Core: 6.0.1
	Cupboard utilities: 1.20.1-2.7
	Puzzles Lib: 8.1.22
	Firmalife: 2.1.9
	Lychee Tweaker: 5.1.14
	TFC Vessel Tooltip: 1.1
	ProbeJS: 6.0.1
	TFC Caelum: 1.2
commented

Please append _manual_only to your recipe id, this should fix your issue

commented

https://github.com/TerraFirmaCraft/TerraFirmaCraft/blob/1.20.x/src/main/resources/data/tfc/recipes/crafting/salting.json is the salting recipe, but the jei-visible recipe doesn't actually exist as something to reference via KubeJS/CraftTweaker or datapack (as I read it from a quick scan):

if BasinRecipe.apply gets passed a non-basin recipe (such as a crafting recipe, including salting) it calls recipe.getResultItem(...)

recipeOutputItems.add(recipe.getResultItem(basin.getLevel()
.registryAccess()));
if (recipe instanceof CraftingRecipe craftingRecipe) {
for (ItemStack stack : craftingRecipe
.getRemainingItems(new DummyCraftingContainer(availableItems, extractedItemsFromSlot)))
if (!stack.isEmpty())
recipeOutputItems.add(stack);
}
}

Which for tfc's advanced shapeless recipes looks to be an empty item stack as they use their custom ItemStackProvider
https://github.com/TerraFirmaCraft/TerraFirmaCraft/blob/733e80905db0420a951875a6d96d02f33d9a77cd/src/main/java/net/dries007/tfc/common/recipes/AdvancedShapelessRecipe.java#L28-L44
So that would require some custom compat.

But indeed what Attack8 just mentioned, you should be able to append _manual_only to a copy of the salting recipe and replace the original with to disable the creation of this automatic recipe while still having salting.

{
  "conditions": [
    {
      "type": "forge:false"
    }
  ]
}
commented

Ideally it shouldn't generate recipes for void/invalid outputs