Posted March 24, 20169 yr Hello, I am making a custom crafting table. I got it almost working, but it crashes with a new recipe. The crash report: net.minecraft.util.ReportedException: Updating screen events at net.minecraft.client.Minecraft.runTick(Minecraft.java:1774) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:376) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31] 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_31] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] Caused by: java.lang.NullPointerException at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139) ~[slotCrafting.class:?] at net.minecraft.inventory.Container.slotClick(Container.java:359) ~[Container.class:?] at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) ~[PlayerControllerMP.class:?] at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) ~[GuiContainer.class:?] at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) ~[GuiContainer.class:?] at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) ~[GuiScreen.class:?] at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) ~[GuiScreen.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) ~[Minecraft.class:?] ... 15 more [10:37:51] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: ---- Minecraft Crash Report ---- // Everything's going to plan. No, really, that was supposed to happen. Time: 3/24/16 10:37 AM Description: Updating screen events java.lang.NullPointerException: Updating screen events at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139) at net.minecraft.inventory.Container.slotClick(Container.java:359) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) at net.minecraft.client.Minecraft.run(Minecraft.java:376) at net.minecraft.client.main.Main.main(Main.java:117) 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:483) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:139) at net.minecraft.inventory.Container.slotClick(Container.java:359) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) -- Affected screen -- Details: Screen name: aidas.morestuff.client.gui.BigGui -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player568'/170, l='MpServer', x=172.67, y=66.00, z=278.58]] Chunk stats: MultiplayerChunkCache: 625, 625 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: 164.00,64.00,256.00 - World: (164,64,256), Chunk: (at 4,4,0 in 10,16; contains blocks 160,0,256 to 175,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 375270 game time, 1000 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: 69 total; [EntityBat['Bat'/128, l='MpServer', x=243.75, y=27.10, z=218.25], EntityBat['Bat'/129, l='MpServer', x=247.48, y=27.00, z=244.13], EntityBat['Bat'/130, l='MpServer', x=247.48, y=27.01, z=253.78], EntityZombie['Zombie'/131, l='MpServer', x=251.84, y=26.00, z=263.63], EntityZombie['Zombie'/133, l='MpServer', x=242.50, y=39.00, z=274.50], EntitySquid['Squid'/134, l='MpServer', x=234.47, y=60.59, z=274.38], EntitySkeleton['Skeleton'/137, l='MpServer', x=245.88, y=28.00, z=298.44], EntitySkeleton['Skeleton'/138, l='MpServer', x=247.50, y=12.00, z=305.50], EntityBat['Bat'/139, l='MpServer', x=246.60, y=33.67, z=307.04], EntitySkeleton['Skeleton'/140, l='MpServer', x=244.50, y=32.00, z=307.50], EntitySkeleton['Skeleton'/141, l='MpServer', x=247.50, y=33.00, z=310.09], EntityCreeper['Creeper'/142, l='MpServer', x=251.72, y=15.00, z=327.75], EntitySkeleton['Skeleton'/143, l='MpServer', x=250.50, y=15.00, z=327.50], EntityCreeper['Creeper'/144, l='MpServer', x=252.69, y=15.00, z=328.69], EntitySkeleton['Skeleton'/145, l='MpServer', x=249.81, y=18.00, z=341.69], EntityZombie['Zombie'/146, l='MpServer', x=251.50, y=18.00, z=341.50], EntityBat['Bat'/147, l='MpServer', x=242.75, y=23.10, z=341.41], EntitySpider['Spider'/148, l='MpServer', x=246.50, y=25.00, z=344.50], EntityCreeper['Creeper'/149, l='MpServer', x=247.50, y=25.00, z=347.50], EntityEnderman['Enderman'/26, l='MpServer', x=94.47, y=15.00, z=209.31], EntityCreeper['Creeper'/30, l='MpServer', x=107.72, y=14.00, z=218.16], EntityEnderman['Enderman'/31, l='MpServer', x=99.28, y=15.00, z=210.44], EntityCreeper['Creeper'/33, l='MpServer', x=109.50, y=11.00, z=276.50], EntityZombie['Zombie'/36, l='MpServer', x=128.47, y=20.00, z=202.03], EntityCreeper['Creeper'/40, l='MpServer', x=154.97, y=12.00, z=246.38], EntityChicken['Chicken'/51, l='MpServer', x=170.19, y=64.65, z=206.31], EntityCreeper['Creeper'/52, l='MpServer', x=168.50, y=12.00, z=227.50], EntityCreeper['Creeper'/53, l='MpServer', x=171.50, y=12.00, z=228.50], EntityCreeper['Creeper'/54, l='MpServer', x=166.56, y=13.00, z=231.03], EntityChicken['Chicken'/55, l='MpServer', x=160.22, y=65.47, z=244.34], EntityItem['item.item.egg'/56, l='MpServer', x=160.09, y=65.00, z=244.63], EntityZombie['Zombie'/60, l='MpServer', x=192.03, y=13.00, z=200.50], EntityRabbit['Rabbit'/61, l='MpServer', x=184.69, y=68.00, z=241.09], EntitySpider['Spider'/62, l='MpServer', x=191.50, y=14.00, z=298.50], EntityZombie['Zombie'/63, l='MpServer', x=183.50, y=17.00, z=326.50], EntityZombie['Zombie'/73, l='MpServer', x=192.69, y=13.00, z=201.66], EntitySpider['Spider'/74, l='MpServer', x=194.50, y=13.00, z=203.50], EntitySkeleton['Skeleton'/75, l='MpServer', x=199.91, y=37.00, z=230.44], EntitySkeleton['Skeleton'/76, l='MpServer', x=200.50, y=35.00, z=247.50], EntityCreeper['Creeper'/77, l='MpServer', x=207.59, y=33.00, z=247.81], EntitySquid['Squid'/78, l='MpServer', x=201.63, y=62.00, z=250.97], EntityCreeper['Creeper'/79, l='MpServer', x=201.50, y=30.00, z=274.50], EntityCreeper['Creeper'/80, l='MpServer', x=199.50, y=30.00, z=274.50], EntitySkeleton['Skeleton'/81, l='MpServer', x=206.41, y=47.00, z=283.06], EntityZombie['Zombie'/82, l='MpServer', x=205.09, y=47.00, z=280.25], EntityBat['Bat'/83, l='MpServer', x=207.05, y=48.56, z=282.00], EntitySpider['Spider'/84, l='MpServer', x=199.63, y=20.00, z=332.84], EntityBat['Bat'/85, l='MpServer', x=203.75, y=22.10, z=335.41], EntityRabbit['Rabbit'/97, l='MpServer', x=220.66, y=66.00, z=208.75], EntityCreeper['Creeper'/98, l='MpServer', x=208.47, y=32.00, z=249.06], EntitySquid['Squid'/99, l='MpServer', x=220.47, y=44.94, z=244.75], EntityBat['Bat'/228, l='MpServer', x=206.56, y=31.10, z=276.19], EntitySquid['Squid'/100, l='MpServer', x=215.84, y=60.84, z=256.69], EntityBat['Bat'/229, l='MpServer', x=210.00, y=30.02, z=274.53], EntitySquid['Squid'/101, l='MpServer', x=228.47, y=46.16, z=250.41], EntityCreeper['Creeper'/102, l='MpServer', x=218.91, y=32.00, z=269.47], EntitySquid['Squid'/103, l='MpServer', x=228.41, y=55.19, z=264.53], EntitySquid['Squid'/104, l='MpServer', x=222.56, y=53.00, z=267.81], EntitySquid['Squid'/105, l='MpServer', x=218.44, y=59.13, z=342.81], EntityPlayerSP['Player568'/170, l='MpServer', x=172.67, y=66.00, z=278.58], EntityChicken['Chicken'/108, l='MpServer', x=236.47, y=62.69, z=237.22], EntitySquid['Squid'/109, l='MpServer', x=232.16, y=46.81, z=244.47], EntitySquid['Squid'/110, l='MpServer', x=230.84, y=52.25, z=256.91], EntitySquid['Squid'/111, l='MpServer', x=220.34, y=48.72, z=250.44], EntitySquid['Squid'/112, l='MpServer', x=224.81, y=54.69, z=263.53], EntitySkeleton['Skeleton'/114, l='MpServer', x=227.50, y=37.00, z=316.50], EntityBat['Bat'/115, l='MpServer', x=236.53, y=26.10, z=345.34], EntityBat['Bat'/116, l='MpServer', x=235.25, y=24.10, z=344.56], EntityBat['Bat'/119, l='MpServer', x=228.20, y=22.05, z=353.16]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614) at net.minecraft.client.Minecraft.run(Minecraft.java:398) at net.minecraft.client.main.Main.main(Main.java:117) 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:483) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) The container code: package aidas.morestuff.guicontainer; import aidas.morestuff.blocks.MBlocks; import aidas.morestuff.items.MItems; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Blocks; import net.minecraft.inventory.Container; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCraftResult; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.inventory.Slot; import net.minecraft.inventory.SlotCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.util.BlockPos; import net.minecraft.world.World; public class BigContainer extends Container { /** The crafting matrix inventory (4x4). */ public InventoryCrafting craftMatrix = new InventoryCrafting(this, 4, 4); public IInventory craftResult = new InventoryCraftResult(); private World worldObj; private BlockPos field_178145_h; private static final String __OBFID = "CL_00001744"; public BigContainer(InventoryPlayer playerInventory, World worldIn, BlockPos p_i45800_3_) { this.worldObj = worldIn; this.field_178145_h = p_i45800_3_; this.addSlotToContainer(new SlotCrafting(playerInventory.player, this.craftMatrix, this.craftResult, 0, 124, 35)); int i; int j; int counter = 0; for (i = 0; i < 4; ++i) { for (j = 0; j < 4; ++j) { this.addSlotToContainer(new Slot(this.craftMatrix, counter++, 11 + j * 18, 5 + i * 18)); } } for (i = 0; i < 3; ++i) { for (j = 0; j < 9; ++j) { this.addSlotToContainer(new Slot(playerInventory, j + i * 9 + 9, 8 + j * 18, 84 + i * 18)); } } for (i = 0; i < 9; ++i) { this.addSlotToContainer(new Slot(playerInventory, i, 8 + i * 18, 142)); } this.onCraftMatrixChanged(this.craftMatrix); } /** * Callback for when the crafting matrix is changed. */ public void onCraftMatrixChanged(IInventory inventoryIn) { /*ItemStack out = CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj); if(out != null && out.getItem() == MItems.SeedRuby) {*/ this.craftResult.setInventorySlotContents(0, CraftingManager.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj)); //} } /** * Called when the container is closed. */ public void onContainerClosed(EntityPlayer playerIn) { super.onContainerClosed(playerIn); if (!this.worldObj.isRemote) { for (int i = 0; i < 16; ++i) { ItemStack itemstack = this.craftMatrix.getStackInSlotOnClosing(i); if (itemstack != null) { playerIn.dropPlayerItemWithRandomChoice(itemstack, false); } } } } public boolean canInteractWith(EntityPlayer playerIn) { return this.worldObj.getBlockState(this.field_178145_h).getBlock() != MBlocks.big_workbench ? false : playerIn.getDistanceSq((double)this.field_178145_h.getX() + 0.5D, (double)this.field_178145_h.getY() + 0.5D, (double)this.field_178145_h.getZ() + 0.5D) <= 64.0D; } /** * Take a stack from the specified inventory slot. */ public ItemStack transferStackInSlot(EntityPlayer playerIn, int index) { ItemStack itemstack = null; Slot slot = (Slot)this.inventorySlots.get(index); if (slot != null && slot.getHasStack()) { ItemStack itemstack1 = slot.getStack(); itemstack = itemstack1.copy(); if (index == 0) { if (!this.mergeItemStack(itemstack1, 10, 46, true)) { return null; } slot.onSlotChange(itemstack1, itemstack); } else if (index >= 10 && index < 37) { if (!this.mergeItemStack(itemstack1, 37, 46, false)) { return null; } } else if (index >= 37 && index < 46) { if (!this.mergeItemStack(itemstack1, 10, 37, false)) { return null; } } else if (!this.mergeItemStack(itemstack1, 10, 46, false)) { return null; } if (itemstack1.stackSize == 0) { slot.putStack((ItemStack)null); } else { slot.onSlotChanged(); } if (itemstack1.stackSize == itemstack.stackSize) { return null; } System.out.println(itemstack1.toString()); slot.onPickupFromSlot(playerIn, itemstack1); } return itemstack; } /** * Called to determine if the current slot is valid for the stack merging (double-click) code. The stack passed in * is null for the initial slot that was double-clicked. */ public boolean canMergeSlot(ItemStack p_94530_1_, Slot p_94530_2_) { return p_94530_2_.inventory != this.craftResult && super.canMergeSlot(p_94530_1_, p_94530_2_); } } The recipe code: package aidas.morestuff.crafting; import aidas.morestuff.items.MItems; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; public class RubySeedRecipie implements IRecipe { @Override public boolean matches(InventoryCrafting slot, World worldIn) { if(slot.getSizeInventory() != 16) return false; boolean matches = false; for(int i = 0; i < slot.getSizeInventory(); i++) { matches = slot.getStackInSlot(i) != null && slot.getStackInSlot(i).getItem() == MItems.ruby; if(!matches) break; } return matches; } @Override public ItemStack getCraftingResult(InventoryCrafting p_77572_1_) { return new ItemStack(MItems.pokeball); } @Override public int getRecipeSize() { return 16; } @Override public ItemStack getRecipeOutput() { return new ItemStack(MItems.pokeball); } @Override public ItemStack[] getRemainingItems(InventoryCrafting p_179532_1_) { return null; } } It actually crafts it, but when I try to get the item out of it, it crashes .
March 24, 20169 yr Author Are you registering the items and recipes in the correct order? I'm first registering the recipe in both client and server side and then items/blocks.
March 24, 20169 yr Are you registering the items and recipes in the correct order? I'm first registering the recipe in both client and server side and then items/blocks. Don't do that. Items/blocks should be registered in the preInit phase. Recipes should be registered in the init phase. 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.
March 24, 20169 yr Item doodad; registerRecipe(doodad, stick, string); //what is the value of doodad now? doodad = new ItemDoodad(); regosterItem(doodad, "doodad"); 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.
March 24, 20169 yr Author Are you registering the items and recipes in the correct order? I'm first registering the recipe in both client and server side and then items/blocks. Don't do that. Items/blocks should be registered in the preInit phase. Recipes should be registered in the init phase. Ok. I have placed it in the init phase, but it still crashes with the same error.
March 24, 20169 yr Ok. I have placed it in the init phase, but it still crashes with the same error. Upload your @Mod class, your item registration class and your recipe registration class to Gist or Pastebin with syntax highlighting and link them here. To get syntax highlighting on Gist, give each file the appropriate extension (.java for Java code). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page. 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.
March 24, 20169 yr Author Upload your @Mod class, your item registration class and your recipe registration class to Gist or Pastebin with syntax highlighting and link them here. To get syntax highlighting on Gist, give each file the appropriate extension (.java for Java code). To get syntax highlighting on Pastebin, select the language from the dropdown at the bottom of the page. @Mod http://pastebin.com/4QNrjRJR Recipe registering http://pastebin.com/5MQCgys1 And the item registration http://pastebin.com/zgdG8Yyc
March 24, 20169 yr Author getRemainingItems must not return null. I might sound dumb, but how do I make the player get nothing without returning null?
March 24, 20169 yr Author Ok after I added the forge hook I get a different crash report net.minecraft.util.ReportedException: Updating screen events at net.minecraft.client.Minecraft.runTick(Minecraft.java:1774) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) ~[Minecraft.class:?] at net.minecraft.client.Minecraft.run(Minecraft.java:376) [Minecraft.class:?] at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31] 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_31] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_31] at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_31] at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?] at GradleStart.main(Unknown Source) [start/:?] Caused by: java.lang.NullPointerException at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715) ~[ForgeHooks.class:?] at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47) ~[RubySeedRecipie.class:?] at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362) ~[CraftingManager.class:?] at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136) ~[slotCrafting.class:?] at net.minecraft.inventory.Container.slotClick(Container.java:359) ~[Container.class:?] at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) ~[PlayerControllerMP.class:?] at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) ~[GuiContainer.class:?] at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) ~[GuiContainer.class:?] at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) ~[GuiScreen.class:?] at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) ~[GuiScreen.class:?] at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) ~[Minecraft.class:?] ... 15 more [21:07:16] [Client thread/INFO] [sTDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:663]: ---- Minecraft Crash Report ---- // But it works on my machine. Time: 3/24/16 9:07 PM Description: Updating screen events java.lang.NullPointerException: Updating screen events at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715) at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47) at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136) at net.minecraft.inventory.Container.slotClick(Container.java:359) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) at net.minecraft.client.Minecraft.runTick(Minecraft.java:1760) at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1087) at net.minecraft.client.Minecraft.run(Minecraft.java:376) at net.minecraft.client.main.Main.main(Main.java:117) 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:483) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Stacktrace: at net.minecraftforge.common.ForgeHooks.defaultRecipeGetRemainingItems(ForgeHooks.java:715) at aidas.morestuff.crafting.RubySeedRecipie.getRemainingItems(RubySeedRecipie.java:47) at net.minecraft.item.crafting.CraftingManager.func_180303_b(CraftingManager.java:362) at net.minecraft.inventory.SlotCrafting.onPickupFromSlot(SlotCrafting.java:136) at net.minecraft.inventory.Container.slotClick(Container.java:359) at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:539) at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:690) at net.minecraft.client.gui.inventory.GuiContainer.mouseClicked(GuiContainer.java:422) at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:606) at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:572) -- Affected screen -- Details: Screen name: aidas.morestuff.client.gui.BigGui -- Affected level -- Details: Level name: MpServer All players: 1 total; [EntityPlayerSP['Player856'/173, l='MpServer', x=173.38, y=66.00, z=280.77]] Chunk stats: MultiplayerChunkCache: 625, 625 Level seed: 0 Level generator: ID 00 - default, ver 1. Features enabled: false Level generator options: Level spawn location: 164.00,64.00,256.00 - World: (164,64,256), Chunk: (at 4,4,0 in 10,16; contains blocks 160,0,256 to 175,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511) Level time: 388056 game time, 1000 day time Level dimension: 0 Level storage version: 0x00000 - Unknown? Level weather: Rain time: 0 (now: true), thunder time: 0 (now: false) Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: false Forced entities: 62 total; [EntityCreeper['Creeper'/211075, l='MpServer', x=246.50, y=25.00, z=354.50], EntityZombie['Zombie'/295812, l='MpServer', x=132.50, y=67.00, z=239.50], EntityCreeper['Creeper'/211074, l='MpServer', x=245.59, y=24.00, z=362.06], EntityZombie['Zombie'/295808, l='MpServer', x=135.50, y=67.00, z=238.50], EntityZombie['Zombie'/295809, l='MpServer', x=136.50, y=67.00, z=238.50], EntitySkeleton['Skeleton'/211076, l='MpServer', x=245.50, y=25.00, z=352.50], EntityCreeper['Creeper'/295822, l='MpServer', x=116.41, y=67.00, z=264.94], EntityBat['Bat'/290319, l='MpServer', x=236.86, y=33.85, z=311.24], EntityZombie['Zombie'/295823, l='MpServer', x=120.38, y=69.00, z=275.91], EntityBat['Bat'/8846, l='MpServer', x=216.94, y=32.10, z=272.69], EntityZombie['Zombie'/152466, l='MpServer', x=182.88, y=64.00, z=265.41], EntityZombie['Zombie'/295824, l='MpServer', x=124.50, y=71.00, z=278.50], EntityBat['Bat'/290321, l='MpServer', x=222.91, y=35.32, z=324.49], EntityZombie['Zombie'/316957, l='MpServer', x=237.50, y=24.00, z=217.50], EntityBat['Bat'/248739, l='MpServer', x=114.46, y=12.09, z=201.06], EntityBat['Bat'/248738, l='MpServer', x=241.39, y=21.65, z=341.81], EntityBat['Bat'/248736, l='MpServer', x=195.09, y=18.75, z=316.48], EntityBat['Bat'/248740, l='MpServer', x=106.74, y=14.35, z=215.76], EntityZombie['Zombie'/154408, l='MpServer', x=172.50, y=13.00, z=229.50], EntityChicken['Chicken'/45, l='MpServer', x=170.63, y=64.69, z=206.56], EntityCreeper['Creeper'/320298, l='MpServer', x=231.56, y=21.00, z=345.73], EntityChicken['Chicken'/50, l='MpServer', x=160.28, y=65.51, z=243.78], EntityBat['Bat'/180401, l='MpServer', x=211.91, y=34.10, z=230.53], EntityCreeper['Creeper'/12084, l='MpServer', x=233.50, y=22.00, z=357.50], EntityPlayerSP['Player856'/173, l='MpServer', x=173.38, y=66.00, z=280.77], EntityRabbit['Rabbit'/55, l='MpServer', x=185.38, y=67.00, z=231.59], EntityBat['Bat'/318781, l='MpServer', x=138.64, y=12.00, z=205.57], EntityCreeper['Creeper'/320313, l='MpServer', x=174.50, y=66.00, z=201.50], EntityCreeper['Creeper'/327493, l='MpServer', x=184.50, y=66.00, z=215.50], EntityCreeper['Creeper'/327495, l='MpServer', x=188.50, y=66.00, z=220.50], EntityCreeper['Creeper'/327489, l='MpServer', x=182.50, y=66.00, z=218.50], EntityCreeper['Creeper'/327491, l='MpServer', x=185.50, y=66.00, z=218.50], EntityCreeper['Creeper'/242763, l='MpServer', x=226.50, y=63.00, z=316.50], EntitySpider['Spider'/253515, l='MpServer', x=107.50, y=70.00, z=288.50], EntityZombie['Zombie'/327501, l='MpServer', x=111.50, y=69.00, z=275.50], EntityCreeper['Creeper'/253513, l='MpServer', x=113.50, y=70.00, z=282.50], EntityCreeper['Creeper'/174668, l='MpServer', x=99.50, y=70.00, z=264.50], EntitySpider['Spider'/253516, l='MpServer', x=106.50, y=70.00, z=285.50], EntityWitch['Witch'/159960, l='MpServer', x=158.56, y=66.00, z=314.91], EntityCreeper['Creeper'/275038, l='MpServer', x=117.50, y=68.00, z=304.50], EntityCreeper['Creeper'/275039, l='MpServer', x=118.50, y=68.00, z=307.50], EntityItem['item.item.egg'/10332, l='MpServer', x=237.16, y=59.00, z=236.44], EntityChicken['Chicken'/94, l='MpServer', x=237.09, y=62.51, z=236.69], EntityBat['Bat'/8798, l='MpServer', x=151.47, y=29.10, z=214.78], EntityCreeper['Creeper'/295780, l='MpServer', x=208.31, y=40.00, z=246.91], EntityCreeper['Creeper'/295781, l='MpServer', x=208.56, y=40.00, z=249.56], EntityCreeper['Creeper'/159968, l='MpServer', x=206.50, y=47.00, z=282.50], EntityCreeper['Creeper'/275046, l='MpServer', x=225.50, y=63.00, z=316.50], EntityCreeper['Creeper'/295778, l='MpServer', x=193.28, y=63.00, z=268.60], EntityCreeper['Creeper'/295779, l='MpServer', x=194.13, y=63.00, z=268.28], EntitySquid['Squid'/161003, l='MpServer', x=180.50, y=58.63, z=312.50], EntitySkeleton['Skeleton'/201066, l='MpServer', x=208.84, y=32.00, z=247.47], EntitySkeleton['Skeleton'/201065, l='MpServer', x=212.50, y=32.02, z=234.50], EntitySquid['Squid'/161007, l='MpServer', x=220.50, y=51.69, z=270.41], EntityBat['Bat'/12142, l='MpServer', x=95.25, y=17.10, z=354.25], EntitySquid['Squid'/161004, l='MpServer', x=194.61, y=61.02, z=308.44], EntitySquid['Squid'/161005, l='MpServer', x=183.50, y=62.56, z=314.47], EntitySpider['Spider'/275051, l='MpServer', x=132.50, y=72.00, z=278.50], EntitySquid['Squid'/161008, l='MpServer', x=228.25, y=53.84, z=271.94], EntitySquid['Squid'/161009, l='MpServer', x=219.22, y=50.16, z=268.81], EntityCreeper['Creeper'/253552, l='MpServer', x=194.50, y=20.00, z=331.50], EntityBat['Bat'/209659, l='MpServer', x=190.66, y=14.10, z=298.00]] Retry entities: 0 total; [] Server brand: fml,forge Server type: Integrated singleplayer server Stacktrace: at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:392) at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2614) at net.minecraft.client.Minecraft.run(Minecraft.java:398) at net.minecraft.client.main.Main.main(Main.java:117) 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:483) 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(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:483) at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) at GradleStart.main(Unknown Source)
March 25, 20169 yr Author Show updated code. [/code] The updated code: package aidas.morestuff.crafting; import aidas.morestuff.items.MItems; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import net.minecraft.world.World; import net.minecraftforge.common.ForgeHooks; public class RubySeedRecipie implements IRecipe { @Override public boolean matches(InventoryCrafting slot, World worldIn) { if(slot.getSizeInventory() != 16) return false; boolean matches = false; for(int i = 0; i < slot.getSizeInventory(); i++) { matches = slot.getStackInSlot(i) != null && slot.getStackInSlot(i).getItem() == MItems.ruby; if(!matches) break; } return matches; } @Override public ItemStack getCraftingResult(InventoryCrafting p_77572_1_) { return new ItemStack(MItems.pokeball); } @Override public int getRecipeSize() { return 16; } @Override public ItemStack getRecipeOutput() { return new ItemStack(MItems.pokeball); } @Override public ItemStack[] getRemainingItems(InventoryCrafting p_179532_1_) { return ForgeHooks.defaultRecipeGetRemainingItems(null); } }
March 25, 20169 yr Author Why are you calling it with null as an argument? Oh.. Yeah... I thought it must return an item. Sorry . Everything works fine now.
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.