Aidas1000 Posted March 24, 2016 Posted March 24, 2016 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 . Quote
captaincleric Posted March 24, 2016 Posted March 24, 2016 Are you registering the items and recipes in the correct order? Quote
Aidas1000 Posted March 24, 2016 Author Posted March 24, 2016 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. Quote
Choonster Posted March 24, 2016 Posted March 24, 2016 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. Quote 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.
Draco18s Posted March 24, 2016 Posted March 24, 2016 Item doodad; registerRecipe(doodad, stick, string); //what is the value of doodad now? doodad = new ItemDoodad(); regosterItem(doodad, "doodad"); Quote 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.
Aidas1000 Posted March 24, 2016 Author Posted March 24, 2016 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. Quote
Choonster Posted March 24, 2016 Posted March 24, 2016 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. Quote 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.
Aidas1000 Posted March 24, 2016 Author Posted March 24, 2016 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 Quote
Aidas1000 Posted March 24, 2016 Author Posted March 24, 2016 getRemainingItems must not return null. I might sound dumb, but how do I make the player get nothing without returning null? Quote
Aidas1000 Posted March 24, 2016 Author Posted March 24, 2016 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) Quote
Aidas1000 Posted March 25, 2016 Author Posted March 25, 2016 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); } } Quote
Aidas1000 Posted March 25, 2016 Author Posted March 25, 2016 Why are you calling it with null as an argument? Oh.. Yeah... I thought it must return an item. Sorry . Everything works fine now. Quote
Recommended Posts
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.