Jump to content

Aidas1000

Members
  • Posts

    11
  • Joined

  • Last visited

Converted

  • Gender
    Undisclosed
  • Personal Text
    I am new!

Aidas1000's Achievements

Tree Puncher

Tree Puncher (2/8)

0

Reputation

  1. After making 2 posts for my custom crafting table, here comes a third one. As the titles says I'm trying to animate few parts of a gui. I am not making something advanced, just some lights changing color. I tried making an mcmeta file. Seems to work only for 16x16 textures, because it squished my gui .
  2. Oh.. Yeah... I thought it must return an item. Sorry . Everything works fine now.
  3. [/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); } }
  4. 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)
  5. I might sound dumb, but how do I make the player get nothing without returning null?
  6. @Mod http://pastebin.com/4QNrjRJR Recipe registering http://pastebin.com/5MQCgys1 And the item registration http://pastebin.com/zgdG8Yyc
  7. 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.
  8. I'm first registering the recipe in both client and server side and then items/blocks.
  9. 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 .
  10. Thank you. That worked. If I had not have skipped the gui handler part, I wouldn't post this.
  11. Hello everybody. I'm making a custom crafting table, but I get this error: [18:52:53] [Client thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1077) [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.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at net.minecraftforge.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:478) ~[FMLClientHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:344) ~[FMLCommonHandler.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:103) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2579) ~[EntityPlayer.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.process(OpenGuiHandler.java:39) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.access$000(OpenGuiHandler.java:15) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler$1.run(OpenGuiHandler.java:30) ~[OpenGuiHandler$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 15 more [18:52:54] [Client thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1077) [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.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at net.minecraftforge.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:478) ~[FMLClientHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:344) ~[FMLCommonHandler.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:103) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2579) ~[EntityPlayer.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.process(OpenGuiHandler.java:39) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.access$000(OpenGuiHandler.java:15) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler$1.run(OpenGuiHandler.java:30) ~[OpenGuiHandler$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 15 more [18:52:54] [Client thread/FATAL] [FML]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen java.util.concurrent.ExecutionException: java.lang.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:715) [FMLCommonHandler.class:?] at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1077) [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.ClassCastException: aidas.morestuff.guicontainer.BigContainer cannot be cast to net.minecraft.client.gui.GuiScreen at net.minecraftforge.fml.client.FMLClientHandler.showGuiScreen(FMLClientHandler.java:478) ~[FMLClientHandler.class:?] at net.minecraftforge.fml.common.FMLCommonHandler.showGuiScreen(FMLCommonHandler.java:344) ~[FMLCommonHandler.class:?] at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:103) ~[FMLNetworkHandler.class:?] at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2579) ~[EntityPlayer.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.process(OpenGuiHandler.java:39) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler.access$000(OpenGuiHandler.java:15) ~[OpenGuiHandler.class:?] at net.minecraftforge.fml.common.network.internal.OpenGuiHandler$1.run(OpenGuiHandler.java:30) ~[OpenGuiHandler$1.class:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:1.8.0_31] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:1.8.0_31] at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:714) ~[FMLCommonHandler.class:?] ... 15 more My block class: package aidas.morestuff.blocks; import aidas.morestuff.Main; import aidas.morestuff.items.MItems; import aidas.morestuff.network.MGuiHandler; import net.minecraft.block.Block; import net.minecraft.block.BlockWorkbench; import net.minecraft.block.material.Material; import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; 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.ContainerWorkbench; import net.minecraft.util.BlockPos; import net.minecraft.util.ChatComponentTranslation; import net.minecraft.util.EnumFacing; import net.minecraft.util.IChatComponent; import net.minecraft.world.IInteractionObject; import net.minecraft.world.World; public class BigWorkbench extends Block { protected BigWorkbench(String uName) { super(Material.wood); this.setCreativeTab(MItems.tabMS); this.setUnlocalizedName(uName); } @Override public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ) { if (!worldIn.isRemote) { playerIn.openGui(Main.instance, MGuiHandler.BIG_GUI, worldIn, pos.getX(), pos.getY(), pos.getZ()); } return true; } } The MGuiHandler code: package aidas.morestuff.network; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.BlockPos; import net.minecraft.world.World; import net.minecraftforge.fml.common.network.IGuiHandler; import aidas.morestuff.client.gui.CabinGui; import aidas.morestuff.guicontainer.BigContainer; import aidas.morestuff.guicontainer.ContainerCabin; import aidas.morestuff.tileentity.CabinTileEntity; public class MGuiHandler implements IGuiHandler { public static final int CABIN_GUI = 0; public static final int BIG_GUI = 1; @Override public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == CABIN_GUI) return new ContainerCabin(player.inventory, (CabinTileEntity) world.getTileEntity(new BlockPos(x, y, z))); else if(ID == BIG_GUI) return new BigContainer(player.inventory, world, new BlockPos(x, y, z)); return null; } @Override public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z) { if (ID == CABIN_GUI) return new CabinGui(new ContainerCabin(player.inventory, (CabinTileEntity) world.getTileEntity(new BlockPos(x, y, z)))); else if(ID == BIG_GUI) return new BigContainer(player.inventory, world, new BlockPos(x, y, z)); return null; } } BigContainer: package aidas.morestuff.guicontainer; import aidas.morestuff.blocks.MBlocks; 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, 30 + j * 18, 17 + 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) { 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; } 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_); } } BigGui: package aidas.morestuff.client.gui; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.resources.I18n; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.util.BlockPos; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import aidas.morestuff.guicontainer.BigContainer; @SideOnly(Side.CLIENT) public class BigGui extends GuiContainer { private static final ResourceLocation craftingTableGuiTextures = new ResourceLocation("ms:textures/gui/container/big.png"); public BigGui(InventoryPlayer playerInv, World worldIn) { this(playerInv, worldIn, BlockPos.ORIGIN); } public BigGui(InventoryPlayer playerInv, World worldIn, BlockPos blockPosition) { super(new BigContainer(playerInv, worldIn, blockPosition)); } /** * Draw the foreground layer for the GuiContainer (everything in front of the items). Args : mouseX, mouseY */ protected void drawGuiContainerForegroundLayer(int mouseX, int mouseY) { this.fontRendererObj.drawString(I18n.format("container.crafting", new Object[0]), 28, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory", new Object[0]), 8, this.ySize - 96 + 2, 4210752); } /** * Args : renderPartialTicks, mouseX, mouseY */ protected void drawGuiContainerBackgroundLayer(float partialTicks, int mouseX, int mouseY) { GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); this.mc.getTextureManager().bindTexture(craftingTableGuiTextures); int k = (this.width - this.xSize) / 2; int l = (this.height - this.ySize) / 2; this.drawTexturedModalRect(k, l, 0, 0, this.xSize, this.ySize); } } I have followed this tutorial (I understand German) , but I still can't fix it . Sorry if this question is dumb. I am kinda new to modding.
×
×
  • Create New...

Important Information

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