Jump to content

Remove Vanilla Recipes


drok0920

Recommended Posts

Hello,

I have a need to remove vanilla recipes as i am changing the progression of the game.  I have tried to just remove them from RecipeManager.REGISTRY but there doesnt seem to be a way to remove item from it.  How can i remove them and in what event should i remove them.  I am currently doing it onWorldLoad and only on the server is this correct?

Link to comment
Share on other sites

You have to cast the registry during the Register<IRecipe> event to IForgeRegistryModifiable.

 

Note that straight removing the recipe will cause an error during advancement loading, as the advancement that unlocks the removed recipe will fail to deserialize.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

4 minutes ago, Draco18s said:

You have to cast the registry during the Register<IRecipe> event to IForgeRegistryModifiable.

 

Note that straight removing the recipe will cause an error during advancement loading, as the advancement that unlocks the removed recipe will fail to deserialize.

Can you explain what this Register(IRecipe) method is?  And advancements aren't and issue as i have removed them too.

Link to comment
Share on other sites

https://github.com/Draco18s/ReasonableRealism/blob/1.12.1/src/main/java/com/draco18s/ores/OreEventHandler.java#L39

12 minutes ago, drok0920 said:

Can you explain what this Register(IRecipe) method is?  And advancements aren't and issue as i have removed them too.

If you remove the recipe, the advancement fails to deserialize, you don't get a chance to remove it.

Edited by Draco18s

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Just now, drok0920 said:

Is there a way to prevent this other than manually overriding each recipe.

No.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

3 minutes ago, drok0920 said:

Can i at least turn off the error notifications for it?

No.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

The error occurs during startup. It has no impact during play.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

You can also override the recipes with dummy recipes that do nothing, as I do here. The DummyRecipe class is here.

 

This prevents the advancement errors, but instead spams the log with "Dangerous alternative prefix" warnings because you need to set the registry names of the dummy recipes to the registry names of the vanilla recipes they override. As LexManos said here, there's currently no way to avoid this.

  • Like 1

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

(Which is a "manually overriding each recipe" type solution)

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

18 minutes ago, Draco18s said:

(Which is a "manually overriding each recipe" type solution)

 

It is overriding each recipe, but I'd argue that's it no more manual than removing them. Either way you need to specify which recipes to override/remove, overriding them only requires one additional class; you don't need to create a class or JSON file per recipe or anything like that.

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

I have tried the method that Choonster stated but i am getting a null pointer exception when i use the following code.

 

@SubscribeEvent(priority = EventPriority.LOWEST)
	public static void removeRecipes(final RegistryEvent.Register<IRecipe> event) {
		if(ModConfig.overrides.recipes) {
			int recipesRemoved = 0;

			final IForgeRegistry<IRecipe> registry = ForgeRegistries.RECIPES;
			final List<IRecipe> toRemove = new ArrayList<>();
			
			for(IRecipe recipe : registry) {
				if(recipe.getRegistryName().getResourceDomain().equals("minecraft")) {
					toRemove.add(recipe);
					recipesRemoved++;
				}
			}
			
			POverhaul.logInfo("Overriding " + recipesRemoved + " recipes with dummy recipes, "
					+ "please ignore the following \"Dangerous alternative prefix\" warnings.");
			for(IRecipe recipe : toRemove) {
				final IRecipe replacement = new DummyRecipe().setRegistryName(recipe.getRegistryName());
				registry.register(replacement);
			}
		}
	}

 

 

and the error is:

[18:06:36] [main/FATAL]: Reported exception thrown!
net.minecraft.util.ReportedException: Updating screen events
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1879) ~[Minecraft.class:?]
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1171) ~[Minecraft.class:?]
	at net.minecraft.client.Minecraft.run(Minecraft.java:436) [Minecraft.class:?]
	at net.minecraft.client.main.Main.main(Main.java:118) [Main.class:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_121]
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_121]
	at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_121]
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97) [start/:?]
	at GradleStart.main(GradleStart.java:26) [start/:?]
Caused by: java.lang.NullPointerException
	at net.minecraft.client.gui.recipebook.GuiButtonRecipeTab.func_193919_e(GuiButtonRecipeTab.java:146) ~[GuiButtonRecipeTab.class:?]
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193949_f(GuiRecipeBook.java:210) ~[GuiRecipeBook.class:?]
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193014_a(GuiRecipeBook.java:97) ~[GuiRecipeBook.class:?]
	at net.minecraft.client.gui.inventory.GuiCrafting.actionPerformed(GuiCrafting.java:142) ~[GuiCrafting.class:?]
	at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:494) ~[GuiScreen.class:?]
	at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:361) ~[GuiContainer.class:?]
	at net.minecraft.client.gui.inventory.GuiCrafting.mouseClicked(GuiCrafting.java:124) ~[GuiCrafting.class:?]
	at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:611) ~[GuiScreen.class:?]
	at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:576) ~[GuiScreen.class:?]
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1866) ~[Minecraft.class:?]
	... 15 more
[18:06:36] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:630]: ---- Minecraft Crash Report ----
// I let you down. Sorry :(

Time: 10/7/17 6:06 PM
Description: Updating screen events

java.lang.NullPointerException: Updating screen events
	at net.minecraft.client.gui.recipebook.GuiButtonRecipeTab.func_193919_e(GuiButtonRecipeTab.java:146)
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193949_f(GuiRecipeBook.java:210)
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193014_a(GuiRecipeBook.java:97)
	at net.minecraft.client.gui.inventory.GuiCrafting.actionPerformed(GuiCrafting.java:142)
	at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:494)
	at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:361)
	at net.minecraft.client.gui.inventory.GuiCrafting.mouseClicked(GuiCrafting.java:124)
	at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:611)
	at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:576)
	at net.minecraft.client.Minecraft.runTick(Minecraft.java:1866)
	at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1171)
	at net.minecraft.client.Minecraft.run(Minecraft.java:436)
	at net.minecraft.client.main.Main.main(Main.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
	at GradleStart.main(GradleStart.java:26)


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.gui.recipebook.GuiButtonRecipeTab.func_193919_e(GuiButtonRecipeTab.java:146)
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193949_f(GuiRecipeBook.java:210)
	at net.minecraft.client.gui.recipebook.GuiRecipeBook.func_193014_a(GuiRecipeBook.java:97)
	at net.minecraft.client.gui.inventory.GuiCrafting.actionPerformed(GuiCrafting.java:142)
	at net.minecraft.client.gui.GuiScreen.mouseClicked(GuiScreen.java:494)
	at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:361)
	at net.minecraft.client.gui.inventory.GuiCrafting.mouseClicked(GuiCrafting.java:124)
	at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:611)
	at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:576)

-- Affected screen --
Details:
	Screen name: net.minecraft.client.gui.inventory.GuiCrafting

-- Affected level --
Details:
	Level name: MpServer
	All players: 1 total; [EntityPlayerSP['Player776'/264, l='MpServer', x=-139.87, y=66.00, z=-63.51]]
	Chunk stats: MultiplayerChunkCache: 625, 625
	Level seed: 0
	Level generator: ID 00 - default, ver 1. Features enabled: false
	Level generator options: 
	Level spawn location: World: (-124,64,88), Chunk: (at 4,4,8 in -8,5; contains blocks -128,0,80 to -113,255,95), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
	Level time: 82920 game time, 6000 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: 93 total; [EntityPig['Pig'/138, l='MpServer', x=-161.27, y=66.00, z=-111.39], EntityCreeper['Creeper'/139, l='MpServer', x=-145.73, y=18.00, z=-8.60], EntityZombieVillager['Zombie Villager'/140, l='MpServer', x=-145.50, y=18.00, z=-5.50], EntityPig['Pig'/272, l='MpServer', x=-114.24, y=66.00, z=-119.72], EntityPig['Pig'/273, l='MpServer', x=-141.61, y=67.00, z=-121.47], EntityChicken['Chicken'/275, l='MpServer', x=-147.61, y=67.00, z=-115.17], EntityItem['item.item.egg'/276, l='MpServer', x=-147.03, y=67.00, z=-116.00], EntityChicken['Chicken'/149, l='MpServer', x=-131.67, y=67.00, z=-108.17], EntityCreeper['Creeper'/151, l='MpServer', x=-132.60, y=18.00, z=-41.18], EntitySkeleton['Skeleton'/152, l='MpServer', x=-143.50, y=37.00, z=-29.50], EntityEnderman['Enderman'/153, l='MpServer', x=-127.61, y=36.00, z=-26.49], EntityCreeper['Creeper'/281, l='MpServer', x=-212.50, y=25.00, z=-126.50], EntityCreeper['Creeper'/154, l='MpServer', x=-143.53, y=18.00, z=-5.19], EntityZombie['Zombie'/155, l='MpServer', x=-141.50, y=18.00, z=-6.50], EntityZombie['Zombie'/156, l='MpServer', x=-142.50, y=18.00, z=-6.50], EntityBat['Bat'/157, l='MpServer', x=-152.41, y=18.39, z=-5.39], EntityBat['Bat'/33, l='MpServer', x=-218.86, y=33.10, z=10.76], EntityZombieVillager['Zombie Villager'/167, l='MpServer', x=-119.56, y=17.00, z=-37.75], EntityHorse['Horse'/168, l='MpServer', x=-115.61, y=66.00, z=-6.32], EntityCreeper['Creeper'/298, l='MpServer', x=-79.50, y=21.00, z=-127.50], EntitySkeleton['Skeleton'/299, l='MpServer', x=-70.54, y=15.00, z=-134.74], EntityBat['Bat'/300, l='MpServer', x=-64.65, y=13.87, z=-138.51], EntitySkeleton['Skeleton'/304, l='MpServer', x=-66.50, y=34.00, z=-129.50], EntityPig['Pig'/177, l='MpServer', x=-108.61, y=71.00, z=-98.19], EntityPig['Pig'/305, l='MpServer', x=-70.55, y=76.00, z=-132.55], EntityWolf['Wolf'/178, l='MpServer', x=-98.39, y=71.00, z=-93.27], EntityItem['item.item.egg'/434, l='MpServer', x=-160.62, y=42.00, z=-24.79], EntityBat['Bat'/179, l='MpServer', x=-108.36, y=27.20, z=-44.00], EntityHorse['Horse'/180, l='MpServer', x=-100.85, y=67.00, z=-22.07], EntityCreeper['Creeper'/308, l='MpServer', x=-89.56, y=21.00, z=-122.80], EntityHorse['Horse'/181, l='MpServer', x=-97.86, y=68.00, z=-10.11], EntitySheep['Sheep'/309, l='MpServer', x=-87.58, y=73.00, z=-139.11], EntityItem['item.item.egg'/437, l='MpServer', x=-162.15, y=66.24, z=-93.58], EntityWolf['Wolf'/183, l='MpServer', x=-82.51, y=73.00, z=-76.43], EntitySkeleton['Skeleton'/55, l='MpServer', x=-216.50, y=47.00, z=-65.50], EntityHorse['Horse'/184, l='MpServer', x=-91.71, y=69.00, z=-68.43], EntityHorse['Horse'/185, l='MpServer', x=-80.62, y=69.00, z=-36.02], EntityCreeper['Creeper'/57, l='MpServer', x=-214.50, y=47.00, z=-62.50], EntityHorse['Horse'/186, l='MpServer', x=-81.92, y=69.00, z=-23.96], EntitySkeleton['Skeleton'/58, l='MpServer', x=-215.50, y=45.00, z=-55.19], EntityWolf['Wolf'/314, l='MpServer', x=-101.73, y=64.00, z=-117.37], EntityHorse['Horse'/187, l='MpServer', x=-80.19, y=68.00, z=-15.08], EntityZombie['Zombie'/59, l='MpServer', x=-219.50, y=48.00, z=-61.50], EntityCreeper['Creeper'/60, l='MpServer', x=-208.50, y=48.00, z=-35.50], EntityChicken['Chicken'/61, l='MpServer', x=-215.78, y=74.00, z=-38.49], EntityWolf['Wolf'/190, l='MpServer', x=-68.44, y=81.00, z=-102.64], EntityWolf['Wolf'/191, l='MpServer', x=-60.48, y=79.00, z=-108.41], EntityCreeper['Creeper'/63, l='MpServer', x=-209.00, y=25.00, z=-27.50], EntityHorse['Horse'/192, l='MpServer', x=-72.06, y=70.00, z=-57.97], EntityBat['Bat'/193, l='MpServer', x=-70.42, y=41.20, z=3.92], EntityLlama['Llama'/66, l='MpServer', x=-218.91, y=86.00, z=16.36], EntitySkeleton['Skeleton'/202, l='MpServer', x=-61.50, y=58.00, z=-4.50], EntityChicken['Chicken'/75, l='MpServer', x=-207.64, y=67.00, z=-94.90], EntityPlayerSP['Player776'/264, l='MpServer', x=-139.87, y=66.00, z=-63.51], EntityChicken['Chicken'/77, l='MpServer', x=-192.49, y=65.00, z=-78.92], EntityChicken['Chicken'/78, l='MpServer', x=-206.54, y=64.00, z=-52.86], EntityZombie['Zombie'/80, l='MpServer', x=-208.49, y=26.00, z=-32.01], EntityLlama['Llama'/81, l='MpServer', x=-193.11, y=93.00, z=15.49], EntityChicken['Chicken'/86, l='MpServer', x=-171.71, y=64.00, z=-84.14], EntityChicken['Chicken'/87, l='MpServer', x=-185.12, y=64.00, z=-69.39], EntityItem['item.item.egg'/88, l='MpServer', x=-191.96, y=65.00, z=-79.80], EntitySkeleton['Skeleton'/89, l='MpServer', x=-190.50, y=12.00, z=-52.09], EntityCreeper['Creeper'/90, l='MpServer', x=-190.50, y=12.00, z=-52.70], EntityCreeper['Creeper'/91, l='MpServer', x=-190.50, y=12.00, z=-51.50], EntityHorse['Horse'/92, l='MpServer', x=-183.12, y=64.00, z=-48.56], EntityBat['Bat'/93, l='MpServer', x=-187.22, y=29.34, z=-30.49], EntityChicken['Chicken'/94, l='MpServer', x=-181.07, y=70.00, z=-34.42], EntityItem['item.item.egg'/95, l='MpServer', x=-180.43, y=70.00, z=-34.13], EntitySkeleton['Skeleton'/96, l='MpServer', x=-189.36, y=22.00, z=-23.74], EntityCreeper['Creeper'/97, l='MpServer', x=-186.50, y=17.00, z=-24.50], EntityChicken['Chicken'/98, l='MpServer', x=-181.51, y=73.00, z=-31.80], EntityItem['item.item.egg'/99, l='MpServer', x=-181.37, y=73.00, z=-31.86], EntityLlama['Llama'/100, l='MpServer', x=-184.49, y=90.00, z=-8.51], EntityLlama['Llama'/101, l='MpServer', x=-193.51, y=86.00, z=9.30], EntityChicken['Chicken'/108, l='MpServer', x=-162.50, y=66.00, z=-94.13], EntityChicken['Chicken'/109, l='MpServer', x=-162.84, y=65.00, z=-90.24], EntityItem['item.item.egg'/110, l='MpServer', x=-165.63, y=65.00, z=-92.36], EntityZombie['Zombie'/111, l='MpServer', x=-160.70, y=36.00, z=-37.49], EntityBat['Bat'/112, l='MpServer', x=-174.58, y=31.43, z=-35.56], EntityCreeper['Creeper'/113, l='MpServer', x=-167.50, y=15.00, z=-21.50], EntityZombie['Zombie'/114, l='MpServer', x=-165.50, y=13.00, z=-29.20], EntityCreeper['Creeper'/115, l='MpServer', x=-166.50, y=14.00, z=-20.50], EntityCreeper['Creeper'/116, l='MpServer', x=-175.18, y=18.00, z=-27.51], EntityChicken['Chicken'/117, l='MpServer', x=-160.87, y=42.00, z=-24.50], EntityChicken['Chicken'/118, l='MpServer', x=-168.59, y=41.00, z=-26.24], EntityItem['item.item.egg'/119, l='MpServer', x=-168.97, y=41.00, z=-26.61], EntityCreeper['Creeper'/120, l='MpServer', x=-165.50, y=20.00, z=-15.50], EntitySkeleton['Skeleton'/121, l='MpServer', x=-160.50, y=18.00, z=-12.50], EntityCreeper['Creeper'/122, l='MpServer', x=-171.50, y=72.00, z=-11.50], EntityZombie['Zombie'/123, l='MpServer', x=-171.50, y=72.00, z=-17.30], EntityCreeper['Creeper'/124, l='MpServer', x=-171.50, y=17.00, z=1.50], EntityLlama['Llama'/125, l='MpServer', x=-165.52, y=95.00, z=4.34], EntityLlama['Llama'/126, l='MpServer', x=-166.50, y=101.00, z=13.09]]
	Retry entities: 0 total; []
	Server brand: fml,forge
	Server type: Integrated singleplayer server
Stacktrace:
	at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:456)
	at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2879)
	at net.minecraft.client.Minecraft.run(Minecraft.java:457)
	at net.minecraft.client.main.Main.main(Main.java:118)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
	at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
	at GradleStart.main(GradleStart.java:26)

-- System Details --
Details:
	Minecraft Version: 1.12.1
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 1.8.0_121, Oracle Corporation
	Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
	Memory: 970590368 bytes (925 MB) / 1674575872 bytes (1597 MB) up to 3808428032 bytes (3632 MB)
	JVM Flags: 0 total; 
	IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
	FML: MCP 9.41 Powered by Forge 14.22.1.2478 5 mods loaded, 5 mods active
	States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

	| State     | ID        | Version      | Source                           | Signature |
	|:--------- |:--------- |:------------ |:-------------------------------- |:--------- |
	| UCHIJAAAA | minecraft | 1.12.1       | minecraft.jar                    | None      |
	| UCHIJAAAA | mcp       | 9.19         | minecraft.jar                    | None      |
	| UCHIJAAAA | FML       | 8.0.99.99    | forgeSrc-1.12.1-14.22.1.2478.jar | None      |
	| UCHIJAAAA | forge     | 14.22.1.2478 | forgeSrc-1.12.1-14.22.1.2478.jar | None      |
	| UCHIJAAAA | poverhaul | 1.12-0.0.1.0 | bin                              | None      |

	Loaded coremods (and transformers): 
	GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.5.0 NVIDIA 378.49' Renderer: 'GeForce GTX 970/PCIe/SSE2'
	Launched Version: 1.12.1
	LWJGL: 2.9.4
	OpenGL: GeForce GTX 970/PCIe/SSE2 GL version 4.5.0 NVIDIA 378.49, NVIDIA Corporation
	GL Caps: Using GL 1.3 multitexturing.
Using GL 1.3 texture combiners.
Using framebuffer objects because OpenGL 3.0 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: 4x Intel(R) Core(TM) i5-7600K CPU @ 3.80GHz
[18:06:36] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:630]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\Drok Sheepman\Desktop\Modding\MinecraftForge\ProgressiveOverhaul\run\.\crash-reports\crash-2017-10-07_18.06.36-client.txt
[18:06:36] [main/INFO] [FML]: Waiting for the server to terminate/save.
[18:06:36] [Server thread/INFO] [FML]: Applying holder lookups
[18:06:36] [Server thread/INFO] [FML]: Holder lookups applied
[18:06:36] [main/INFO] [FML]: Server terminated.
AL lib: (EE) alc_cleanup: 1 device not closed

 

Edit:

Is it deleting every recipe and that is why it is null?  If so how do i only remove the vanilla recipes and not my own.  Is there a specific way that i need to register my recipes so that they are not removed.

Edited by drok0920
Link to comment
Share on other sites

I haven't encountered that error before, but I haven't tried to remove every vanilla recipe.

 

My code doesn't delete any recipes, it just overrides them with new recipes that do nothing. Your code is only overriding vanilla recipes, it shouldn't be touching any mod recipes.

 

Set an exception breakpoint for NullPointerException and filter it to only include exceptions thrown from the GuiButtonRecipeTab class. When this exception is thrown on line 146, look at what's null (I think it can only be the list local variable) and what the value of GuiButtonRecipeTab#category is.

  • Like 1

Please don't PM me to ask for help. Asking your question in a public thread preserves it for people who are having the same problem in the future.

Link to comment
Share on other sites

On 10/7/2017 at 10:17 PM, Choonster said:

I haven't encountered that error before, but I haven't tried to remove every vanilla recipe.

 

My code doesn't delete any recipes, it just overrides them with new recipes that do nothing. Your code is only overriding vanilla recipes, it shouldn't be touching any mod recipes.

 

Set an exception breakpoint for NullPointerException and filter it to only include exceptions thrown from the GuiButtonRecipeTab class. When this exception is thrown on line 146, look at what's null (I think it can only be the list local variable) and what the value of GuiButtonRecipeTab#category is.

Although i struggled to get the breakpoint to work or to view the variable i believe it is null because there are no recipes for some tabs.  Do you have any idea why this is a problem or if it is even the actual problem.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.