Jump to content

[Help 1.8(1.7.10 Aceptable i can adapt)] Bugs Everyhere! Help pls


ResaloliPT

Recommended Posts

Hi comunity of Minecraft Forge this is my first post here and also not native so dont expect much from my english, so it wont be the best now lets get goin.

 

So the bugs List is: 1 - of a craftingGrid 5x5 can only use an corner of 3x3

                                2- tileentity not saving to nbt

 

Thx in advance!

 

If its needed more just ask!

Here is the Sources:

 

BIGZ updated pushed all code to github because why not :P

 

Codez Here

Link to comment
Share on other sites

Hey, a lot of bugs are linked together, so Ill split them up into 2 problems.

1- your slot ID matches the slot IDs from the player inventory. (1-5), if you would asign different ids for every slot, 4 bugs would be solved

 

2- for saving data(itemStacks) inside a tileEntity, youll need to write it to its nbt data and save it by marking the tileEntity(this.markDirty())

 

Overall there are some other things which are rather strange, for example the itemStack array of the TileEntity. Why should it have 61 inputs? But thats for later concern

 

Anyway, I hope this will help you in the right direction.

N247S

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

sry for late responce but im only available from 5pm(gmt +0) and thx for all help given(even little things help)

also all code updates goin to op post and while im waiting for any responce will try few things to fix this if i get it ill post the solution

 

You only open the GUI on the client...

 

not true since i can control the items if i hadnt start it on server not even on normal inv i could move the items

 

 

Hey, a lot of bugs are linked together, so Ill split them up into 2 problems.

1- your slot ID matches the slot IDs from the player inventory. (1-5), if you would assign different ids for every slot, 4 bugs would be solved

 

2- for saving data(itemStacks) inside a tileEntity, you ll need to write it to its nbt data and save it by marking the tileEntity(this.markDirty())

 

Overall there are some other things which are rather strange, for example the itemStack array of the TileEntity. Why should it have 61 inputs? But thats for later concern

 

Anyway, I hope this will help you in the right direction.

N247S

 

 

Acording to you post on solution 1 well the thing is slots are all unike(if not pls explain me since i didnt get this container thing well yet)

 

from what i read on this block of code of Container

public void bindTEInventory(){

	//craftingGrid
	for(int j = 0; j < 5; j++){
		for(int i = 0; i < 5; i++){
			this.addSlotToContainer(new Slot(this.craftMatrix, i+j*36, 8+i*18, 7+j*18));
		}
	}
	//result
	this.addSlotToContainer(new SlotCrafting(playerInv.player, this.craftMatrix, this.craftMatrix, 61, 123, 68));
}
public void bindPlayerInventory(){
	//Hotbar
	for(int i = 0; i < 9; i++){
		this.addSlotToContainer(new Slot(playerInv, i, 8+i* 18, 159));
	}
	//inventory
	for(int j = 0; j < 3; j++){
		for(int i = 0; i < 9; i++){
			this.addSlotToContainer(new Slot(playerInv, 9 +i+j*9, 8+i*18, 101+j*18));
		}
	}

so changed some code and now the slots are this way:

hotbar: 0 to 8

inv: 9 to 35

crafting grid: 36 to 61

result: 61

 

droped something on 1st slot on grid (marked as a X)  X 0 0 0 0

                                                                                      0 0 0 0 0

                                                                                      0 0 0 0 0 

                                                                                      0 0 0 0 0

                                                                                      0 0 0 0 0

and i got this error:

 

[19:41:34] [main/INFO]: Extra: []

[19:41:34] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/ResaloliPT/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]

[19:41:34] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker

[19:41:34] [main/INFO]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker

[19:41:34] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker

[19:41:34] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker

[19:41:34] [main/INFO]: Forge Mod Loader version 8.0.37.1334 for Minecraft 1.8 loading

[19:41:34] [main/INFO]: Java is Java HotSpot 64-Bit Server VM, version 1.8.0_45, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_45

[19:41:34] [main/INFO]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation

[19:41:34] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker

[19:41:34] [main/INFO]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin

[19:41:34] [main/INFO]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin

[19:41:34] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker

[19:41:34] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker

[19:41:34] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker

[19:41:34] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker

[19:41:34] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker

[19:41:34] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper

[19:41:35] [main/ERROR]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!

[19:41:36] [main/ERROR]: FML appears to be missing any signature data. This is not a good thing

[19:41:36] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper

[19:41:36] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker

[19:41:37] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker

[19:41:37] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker

[19:41:37] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker

[19:41:37] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}

[19:41:37] [Client thread/INFO]: Setting user: Player538

[19:41:40] [Client thread/INFO]: LWJGL Version: 2.9.1

[19:41:40] [Client thread/INFO]: Attempting early MinecraftForge initialization

[19:41:40] [Client thread/INFO]: MinecraftForge v11.14.1.1334 Initialized

[19:41:40] [Client thread/INFO]: Replaced 204 ore recipies

[19:41:40] [Client thread/INFO]: Completed early MinecraftForge initialization

[19:41:41] [Client thread/INFO]: Searching C:\Users\ResaloliPT\Desktop\Programming\Java\Minecraft\MCP\eclipse\mods for mods

[19:41:41] [Client thread/INFO]: Forge Mod Loader has identified 4 mods to load

[19:41:42] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at CLIENT

[19:41:42] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at SERVER

[19:41:42] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft

[19:41:42] [Client thread/INFO]: Processing ObjectHolder annotations

[19:41:42] [Client thread/INFO]: Found 384 ObjectHolder annotations

[19:41:42] [Client thread/INFO]: Configured a dormant chunk cache size of 0

[19:41:42] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:preInit:67]: PreIniting EIM

[19:41:42] [Client thread/INFO]: Applying holder lookups

[19:41:42] [Client thread/INFO]: Holder lookups applied

[19:41:43] [sound Library Loader/INFO]: Starting up SoundSystem...

[19:41:43] [Thread-7/INFO]: Initializing LWJGL OpenAL

[19:41:43] [Thread-7/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

[19:41:43] [Thread-7/INFO]: OpenAL initialized.

[19:41:43] [sound Library Loader/INFO]: Sound engine started

[19:41:45] [Client thread/INFO]: Created: 512x512 textures-atlas

[19:41:46] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:load:92]: Done!

[19:41:46] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:initialize:77]: Initing EIM

[19:41:46] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:postInit:86]: PostIniting EIM

[19:41:46] [Client thread/INFO]: Forge Mod Loader has successfully loaded 4 mods

[19:41:46] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft

[19:41:46] [Client thread/INFO]: SoundSystem shutting down...

[19:41:47] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com

[19:41:47] [sound Library Loader/INFO]: Starting up SoundSystem...

[19:41:47] [Thread-9/INFO]: Initializing LWJGL OpenAL

[19:41:47] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)

[19:41:47] [Thread-9/INFO]: OpenAL initialized.

[19:41:47] [sound Library Loader/INFO]: Sound engine started

[19:41:49] [Client thread/INFO]: Created: 512x512 textures-atlas

[19:41:52] [server thread/INFO]: Starting integrated minecraft server version 1.8

[19:41:52] [server thread/INFO]: Generating keypair

[19:41:52] [server thread/INFO]: Injecting existing block and item data into this server instance

[19:41:52] [server thread/INFO]: Applying holder lookups

[19:41:52] [server thread/INFO]: Holder lookups applied

[19:41:52] [server thread/INFO]: Loading dimension 0 (Teste) (net.minecraft.server.integrated.IntegratedServer@55c197dd)

[19:41:52] [server thread/INFO]: Loading dimension 1 (Teste) (net.minecraft.server.integrated.IntegratedServer@55c197dd)

[19:41:52] [server thread/INFO]: Loading dimension -1 (Teste) (net.minecraft.server.integrated.IntegratedServer@55c197dd)

[19:41:52] [server thread/INFO]: Preparing start region for level 0

[19:41:53] [server thread/INFO]: Changing view distance to 12, from 10

[19:41:53] [Netty Local Client IO #0/INFO]: Server protocol version 1

[19:41:53] [Netty Server IO #1/INFO]: Client protocol version 1

[19:41:53] [Netty Server IO #1/INFO]: Client attempting to join with 4 mods : FML@8.0.37.1334,extrasinminecraft@0.1,Forge@11.14.1.1334,mcp@9.05

[19:41:53] [Netty Local Client IO #0/INFO]: [Netty Local Client IO #0] Client side modded connection established

[19:41:53] [server thread/INFO]: [server thread] Server side modded connection established

[19:41:53] [server thread/INFO]: Player538[local:E:e6a573ef] logged in with entity id 79 at (1246.9875527280685, 4.0, 1151.9649009931345)

[19:41:53] [server thread/INFO]: Player538 joined the game

[19:42:05] [server thread/INFO]: Stopping server

[19:42:05] [server thread/INFO]: Saving players

[19:42:05] [server thread/INFO]: Saving worlds

[19:42:05] [server thread/INFO]: Saving chunks for level 'Teste'/Overworld

[19:42:05] [server thread/INFO]: Saving chunks for level 'Teste'/Nether

[19:42:05] [server thread/INFO]: Saving chunks for level 'Teste'/The End

[19:42:05] [server thread/INFO]: Unloading dimension 0

[19:42:05] [server thread/INFO]: Unloading dimension -1

[19:42:05] [server thread/INFO]: Unloading dimension 1

[19:42:05] [server thread/INFO]: Applying holder lookups

[19:42:05] [server thread/INFO]: Holder lookups applied

[19:42:05] [Client thread/FATAL]: Reported exception thrown!

net.minecraft.util.ReportedException: Updating screen events

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1676) ~[Minecraft.class:?]

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021) ~[Minecraft.class:?]

at net.minecraft.client.Minecraft.run(Minecraft.java:345) [Minecraft.class:?]

at net.minecraft.client.main.Main.main(SourceFile:120) [Main.class:?]

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]

at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]

at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]

at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]

at GradleStart.main(Unknown Source) [start/:?]

Caused by: java.lang.ArrayIndexOutOfBoundsException: 35

at net.minecraft.inventory.InventoryCrafting.setInventorySlotContents(SourceFile:102) ~[inventoryCrafting.class:?]

at net.minecraft.inventory.Slot.putStack(Slot.java:68) ~[slot.class:?]

at net.minecraft.inventory.Container.slotClick(Container.java:306) ~[Container.class:?]

at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492) ~[PlayerControllerMP.class:?]

at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641) ~[GuiContainer.class:?]

at net.minecraft.client.gui.inventory.GuiContainer.mouseReleased(GuiContainer.java:607) ~[GuiContainer.class:?]

at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:554) ~[GuiScreen.class:?]

at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516) ~[GuiScreen.class:?]

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1662) ~[Minecraft.class:?]

... 11 more

[19:42:05] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:492]: ---- Minecraft Crash Report ----

// I feel sad now :(

 

Time: 02-06-2015 19:42

Description: Updating screen events

 

java.lang.ArrayIndexOutOfBoundsException: 35

at net.minecraft.inventory.InventoryCrafting.setInventorySlotContents(SourceFile:102)

at net.minecraft.inventory.Slot.putStack(Slot.java:68)

at net.minecraft.inventory.Container.slotClick(Container.java:306)

at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492)

at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641)

at net.minecraft.client.gui.inventory.GuiContainer.mouseReleased(GuiContainer.java:607)

at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:554)

at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516)

at net.minecraft.client.Minecraft.runTick(Minecraft.java:1662)

at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1021)

at net.minecraft.client.Minecraft.run(Minecraft.java:345)

at net.minecraft.client.main.Main.main(SourceFile:120)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at 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.InventoryCrafting.setInventorySlotContents(SourceFile:102)

at net.minecraft.inventory.Slot.putStack(Slot.java:68)

at net.minecraft.inventory.Container.slotClick(Container.java:306)

at net.minecraft.client.multiplayer.PlayerControllerMP.windowClick(PlayerControllerMP.java:492)

at net.minecraft.client.gui.inventory.GuiContainer.handleMouseClick(GuiContainer.java:641)

at net.minecraft.client.gui.inventory.GuiContainer.mouseReleased(GuiContainer.java:607)

at net.minecraft.client.gui.GuiScreen.handleMouseInput(GuiScreen.java:554)

at net.minecraft.client.gui.GuiScreen.handleInput(GuiScreen.java:516)

 

-- Affected screen --

Details:

Screen name: com.resaloli.eim.content.gui.GUIdualCraftingTable

 

-- Affected level --

Details:

Level name: MpServer

All players: 1 total; [EntityPlayerSP['Player538'/79, l='MpServer', x=1246,99, y=4,00, z=1151,96]]

Chunk stats: MultiplayerChunkCache: 625, 625

Level seed: 0

Level generator: ID 01 - flat, ver 0. Features enabled: false

Level generator options:

Level spawn location: 1249,00,4,00,1159,00 - World: (1249,4,1159), Chunk: (at 1,0,7 in 78,72; contains blocks 1248,0,1152 to 1263,255,1167), Region: (2,2; contains chunks 64,64 to 95,95, blocks 1024,0,1024 to 1535,255,1535)

Level time: 434037 game time, 299597 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: 24 total; [EntityItem['item.item.egg'/64, l='MpServer', x=1300,88, y=4,00, z=1149,84], EntityChicken['Chicken'/65, l='MpServer', x=1291,72, y=4,00, z=1151,44], EntityChicken['Chicken'/66, l='MpServer', x=1310,25, y=4,00, z=1176,44], EntityItem['item.item.egg'/67, l='MpServer', x=1310,19, y=4,00, z=1176,38], EntityHorse['Horse'/68, l='MpServer', x=1318,28, y=4,00, z=1120,19], EntityPig['Pig'/69, l='MpServer', x=1316,84, y=4,00, z=1196,69], EntityPlayerSP['Player538'/79, l='MpServer', x=1246,99, y=4,00, z=1151,96], EntityHorse['Donkey'/34, l='MpServer', x=1167,25, y=4,00, z=1155,47], EntityCow['Cow'/43, l='MpServer', x=1197,91, y=4,00, z=1095,97], EntityItem['item.item.egg'/44, l='MpServer', x=1207,44, y=4,00, z=1117,75], EntityChicken['Chicken'/45, l='MpServer', x=1211,38, y=4,00, z=1107,56], EntityChicken['Chicken'/46, l='MpServer', x=1225,34, y=4,00, z=1123,66], EntityItem['item.item.egg'/47, l='MpServer', x=1228,47, y=4,00, z=1141,75], EntityItem['item.item.egg'/49, l='MpServer', x=1254,69, y=4,00, z=1114,06], EntityChicken['Chicken'/50, l='MpServer', x=1255,44, y=4,00, z=1114,25], EntitySheep['Sheep'/52, l='MpServer', x=1272,56, y=4,00, z=1195,50], EntitySheep['Sheep'/53, l='MpServer', x=1270,31, y=4,00, z=1211,19], EntityCow['Cow'/54, l='MpServer', x=1279,06, y=4,00, z=1200,03], EntityItem['item.item.egg'/57, l='MpServer', x=1291,03, y=4,00, z=1133,38], EntityChicken['Chicken'/58, l='MpServer', x=1290,44, y=4,00, z=1133,28], EntityHorse['Horse'/59, l='MpServer', x=1293,00, y=4,00, z=1146,97], EntitySheep['Sheep'/60, l='MpServer', x=1282,09, y=4,00, z=1198,88], EntityCow['Cow'/61, l='MpServer', x=1282,25, y=4,00, z=1205,38], EntitySheep['Sheep'/62, l='MpServer', x=1279,22, y=4,00, z=1202,38]]

Retry entities: 0 total; []

Server brand: fml,forge

Server type: Integrated singleplayer server

Stacktrace:

at net.minecraft.client.multiplayer.WorldClient.addWorldInfoToCrashReport(WorldClient.java:351)

at net.minecraft.client.Minecraft.addGraphicsAndWorldToCrashReport(Minecraft.java:2488)

at net.minecraft.client.Minecraft.run(Minecraft.java:367)

at net.minecraft.client.main.Main.main(SourceFile:120)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)

at net.minecraft.launchwrapper.Launch.main(Launch.java:28)

at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source)

at GradleStart.main(Unknown Source)

 

-- System Details --

Details:

Minecraft Version: 1.8

Operating System: Windows 7 (amd64) version 6.1

Java Version: 1.8.0_45, Oracle Corporation

Java VM Version: Java HotSpot 64-Bit Server VM (mixed mode), Oracle Corporation

Memory: 810374712 bytes (772 MB) / 1038876672 bytes (990 MB) up to 1038876672 bytes (990 MB)

JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M

IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0

FML: MCP v9.10 FML v8.0.37.1334 Minecraft Forge 11.14.1.1334 4 mods loaded, 4 mods active

mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

FML{8.0.37.1334} [Forge Mod Loader] (forgeBin-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Forge{11.14.1.1334} [Minecraft Forge] (forgeBin-1.8-11.14.1.1334.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

extrasinminecraft{0.1} [Extras In Minecraft] (bin) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available

Loaded coremods (and transformers):

Launched Version: 1.8

LWJGL: 2.9.1

OpenGL: ASUS R7 250 Series GL version 4.4.12967 Compatibility Profile Context 14.201.1001.0, ATI Technologies Inc.

GL Caps: Using GL 1.3 multitexturing.

Using GL 1.3 texture combiners.

Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported.

Shaders are available because OpenGL 2.1 is supported.

VBOs are available because OpenGL 1.5 is supported.

 

Using VBOs: No

Is Modded: Definitely; Client brand changed to 'fml,forge'

Type: Client (map_client.txt)

Resource Packs: []

Current Language: English (US)

Profiler Position: N/A (disabled)

[19:42:05] [Client thread/INFO]: [net.minecraft.init.Bootstrap:printToSYSOUT:492]: #@!@# Game crashed! Crash report saved to: #@!@# C:\Users\ResaloliPT\Desktop\Programming\Java\Minecraft\MCP\eclipse\.\crash-reports\crash-2015-06-02_19.42.05-client.txt

AL lib: (EE) alc_cleanup: 1 device not closed

Java HotSpot 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

 

 

EDIT: updated TileEntity + Container

Link to comment
Share on other sites

It gives an array out of bounds exception. And 35 means the first slot after the player inv.. Currently Im not able to check my codes unfortunatly, but I think youll need to add the player inv. After your inv.. that means that the player inv. Id are moving up.

 

Since you want to add a 4x4 crafting system, why dont you take a look at this? (part of my 4x4 craftingSystem)

package mechanical_crafting_table.common.inventory.container;

import mechanical_crafting_table.common.inventory.slot.SlotCrafting;
import mechanical_crafting_table.common.inventory.slot.SlotOutPut;
import mechanical_crafting_table.common.inventory.slot.SlotDisplay;
import mechanical_crafting_table.common.tileentity.MechanicalCraftingTableTileEntity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ContainerMechanicalCraftingTable extends Container
{

private MechanicalCraftingTableTileEntity tileEntity;
public int lastCraftTime;
public int lastEnergyLevel;
public int lastGasLevel;
public static SlotDisplay output;

public static final int craftmatrixHeigth = 4;
public static final int craftmatrixWidth = 4;
private int posX;
private int posY;
private int posZ;

public ContainerMechanicalCraftingTable(InventoryPlayer inventory, MechanicalCraftingTableTileEntity tileentity)
{
	SlotDisplay output = new SlotDisplay(inventory.player, tileentity, tileentity, 16, 127, 15);
	this.output = output;
	this.tileEntity = tileentity;
	this.addSlotToContainer(new SlotOutPut(tileentity, 17, 127, 66));
	this.addSlotToContainer(output);


		for(int i = 0; i < craftmatrixHeigth; ++i)
		{
			for(int l = 0; l < craftmatrixWidth; ++l)
			{
				this.addSlotToContainer(new SlotCrafting(tileentity, l + i * 4, 30 + l * 18, 15 + i * 18 ));
			}
		}

		for (int i = 0; i < 3; ++i)
		{
			for (int l = 0; l < 9; ++l)
			{
				this.addSlotToContainer(new Slot(inventory, l + i * 9 + 9, 15 + l * 18, 97 + i * 18));
			}
		}

		for(int i = 0; i < 9; ++i)
		{
			this.addSlotToContainer(new Slot(inventory, i, 15 + i * 18, 155));
		}
		this.tileEntity.openInventory();
		this.detectAndSendChanges();
}

@Override
public void onContainerClosed(EntityPlayer player)
{
	super.onContainerClosed(player);
	this.tileEntity.closeInventory();
}

@Override
public boolean canInteractWith(EntityPlayer player)
{
	return this.tileEntity.isUseableByPlayer(player);
}

@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex)
{
	 ItemStack i = null;
	 Slot l = (Slot)this.inventorySlots.get(slotIndex);

	 if (l != null && l.getHasStack())
	 {
		 ItemStack il = l.getStack();
		 i = il.copy();

		 if (slotIndex == 0)
		 {
			 if (!this.mergeItemStack(il, 18, 54, true))
			 {
				 return null;
			 }

			 l.onSlotChange(il, i);
		 }
		 else if (slotIndex >= 18 && slotIndex < 45)
		 {
			 if (!this.mergeItemStack(il, 45, 54, false))
			 {
				 return null;
			 }
		 }
		 else if (slotIndex >= 45 && slotIndex < 54)
		 {
			 if (!this.mergeItemStack(il, 18, 45, false))
			 {
				 return null;
			 }
		 }
		 else if (!this.mergeItemStack(il, 18, 54, false))
		 {
			 return null;
		 }

		 if (il.stackSize == 0)
		 {
			 l.putStack((ItemStack)null);
		 }
		 else
		 {
			 l.onSlotChanged();
		 }

		 if (il.stackSize == i.stackSize)
		 {
			 return null;
		 }

		 l.onPickupFromSlot(player, il);
	 }

	 return i;
}

@Override
public void detectAndSendChanges()
    {
	super.detectAndSendChanges();

        for (int i = 0; i < this.inventorySlots.size(); ++i)
        {
            ItemStack itemstack = ((Slot)this.inventorySlots.get(i)).getStack();
            ItemStack itemstack1 = (ItemStack)this.inventoryItemStacks.get(i);

            if (!ItemStack.areItemStacksEqual(itemstack1, itemstack))
            {
                itemstack1 = itemstack == null ? null : itemstack.copy();
                this.inventoryItemStacks.set(i, itemstack1);

                for (int j = 0; j < this.crafters.size(); ++j)
                {
                    ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1);
                }
            }
        }
        
        for (int i = 0; i < this.crafters.size(); ++i)
        {
            ICrafting icrafting = (ICrafting)this.crafters.get(i);

            if (this.lastCraftTime != this.tileEntity.craftTime)
            {
                icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
            }

            if (this.lastEnergyLevel != this.tileEntity.energyLevel || this.tileEntity.energyIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
            	this.tileEntity.energyIsChanged = false;
            }
            
            if(this.lastGasLevel != this.tileEntity.gasLevel || this.tileEntity.gasIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 2, (int)this.tileEntity.gasLevel);
            	this.tileEntity.gasIsChanged = false;
            }
            
            this.lastEnergyLevel = (int) this.tileEntity.getEnergy();
            this.lastCraftTime = this.tileEntity.craftTime;
            this.lastGasLevel = (int) this.tileEntity.getGas();
        }
    }

@Override
 public void addCraftingToCrafters(ICrafting crafter)
    {
        super.addCraftingToCrafters(crafter);
        crafter.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
        crafter.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
        crafter.sendProgressBarUpdate(this, 2, (int) this.tileEntity.gasLevel);
    }

 @SideOnly(Side.CLIENT)
 @Override
 public void updateProgressBar(int id, int var)
    {
        if (id == 0)
        {
        	this.tileEntity.craftTime =  (short) var;
        }
        if (id == 1)
        {
        	this.tileEntity.energyLevel = var;
        }
        if(id == 2)
        {
        	this.tileEntity.gasLevel = var;
        }
        
    }
}

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

It gives an array out of bounds exception. And 35 means the first slot after the player inv.. Currently Im not able to check my codes unfortunatly, but I think youll need to add the player inv. After your inv.. that means that the player inv. Id are moving up.

 

Since you want to add a 4x4 crafting system, why dont you take a look at this? (part of my 4x4 craftingSystem)

package mechanical_crafting_table.common.inventory.container;

import mechanical_crafting_table.common.inventory.slot.SlotCrafting;
import mechanical_crafting_table.common.inventory.slot.SlotOutPut;
import mechanical_crafting_table.common.inventory.slot.SlotDisplay;
import mechanical_crafting_table.common.tileentity.MechanicalCraftingTableTileEntity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ContainerMechanicalCraftingTable extends Container
{

private MechanicalCraftingTableTileEntity tileEntity;
public int lastCraftTime;
public int lastEnergyLevel;
public int lastGasLevel;
public static SlotDisplay output;

public static final int craftmatrixHeigth = 4;
public static final int craftmatrixWidth = 4;
private int posX;
private int posY;
private int posZ;

public ContainerMechanicalCraftingTable(InventoryPlayer inventory, MechanicalCraftingTableTileEntity tileentity)
{
	SlotDisplay output = new SlotDisplay(inventory.player, tileentity, tileentity, 16, 127, 15);
	this.output = output;
	this.tileEntity = tileentity;
	this.addSlotToContainer(new SlotOutPut(tileentity, 17, 127, 66));
	this.addSlotToContainer(output);


		for(int i = 0; i < craftmatrixHeigth; ++i)
		{
			for(int l = 0; l < craftmatrixWidth; ++l)
			{
				this.addSlotToContainer(new SlotCrafting(tileentity, l + i * 4, 30 + l * 18, 15 + i * 18 ));
			}
		}

		for (int i = 0; i < 3; ++i)
		{
			for (int l = 0; l < 9; ++l)
			{
				this.addSlotToContainer(new Slot(inventory, l + i * 9 + 9, 15 + l * 18, 97 + i * 18));
			}
		}

		for(int i = 0; i < 9; ++i)
		{
			this.addSlotToContainer(new Slot(inventory, i, 15 + i * 18, 155));
		}
		this.tileEntity.openInventory();
		this.detectAndSendChanges();
}

@Override
public void onContainerClosed(EntityPlayer player)
{
	super.onContainerClosed(player);
	this.tileEntity.closeInventory();
}

@Override
public boolean canInteractWith(EntityPlayer player)
{
	return this.tileEntity.isUseableByPlayer(player);
}

@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex)
{
	 ItemStack i = null;
	 Slot l = (Slot)this.inventorySlots.get(slotIndex);

	 if (l != null && l.getHasStack())
	 {
		 ItemStack il = l.getStack();
		 i = il.copy();

		 if (slotIndex == 0)
		 {
			 if (!this.mergeItemStack(il, 18, 54, true))
			 {
				 return null;
			 }

			 l.onSlotChange(il, i);
		 }
		 else if (slotIndex >= 18 && slotIndex < 45)
		 {
			 if (!this.mergeItemStack(il, 45, 54, false))
			 {
				 return null;
			 }
		 }
		 else if (slotIndex >= 45 && slotIndex < 54)
		 {
			 if (!this.mergeItemStack(il, 18, 45, false))
			 {
				 return null;
			 }
		 }
		 else if (!this.mergeItemStack(il, 18, 54, false))
		 {
			 return null;
		 }

		 if (il.stackSize == 0)
		 {
			 l.putStack((ItemStack)null);
		 }
		 else
		 {
			 l.onSlotChanged();
		 }

		 if (il.stackSize == i.stackSize)
		 {
			 return null;
		 }

		 l.onPickupFromSlot(player, il);
	 }

	 return i;
}

@Override
public void detectAndSendChanges()
    {
	super.detectAndSendChanges();

        for (int i = 0; i < this.inventorySlots.size(); ++i)
        {
            ItemStack itemstack = ((Slot)this.inventorySlots.get(i)).getStack();
            ItemStack itemstack1 = (ItemStack)this.inventoryItemStacks.get(i);

            if (!ItemStack.areItemStacksEqual(itemstack1, itemstack))
            {
                itemstack1 = itemstack == null ? null : itemstack.copy();
                this.inventoryItemStacks.set(i, itemstack1);

                for (int j = 0; j < this.crafters.size(); ++j)
                {
                    ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1);
                }
            }
        }
        
        for (int i = 0; i < this.crafters.size(); ++i)
        {
            ICrafting icrafting = (ICrafting)this.crafters.get(i);

            if (this.lastCraftTime != this.tileEntity.craftTime)
            {
                icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
            }

            if (this.lastEnergyLevel != this.tileEntity.energyLevel || this.tileEntity.energyIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
            	this.tileEntity.energyIsChanged = false;
            }
            
            if(this.lastGasLevel != this.tileEntity.gasLevel || this.tileEntity.gasIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 2, (int)this.tileEntity.gasLevel);
            	this.tileEntity.gasIsChanged = false;
            }
            
            this.lastEnergyLevel = (int) this.tileEntity.getEnergy();
            this.lastCraftTime = this.tileEntity.craftTime;
            this.lastGasLevel = (int) this.tileEntity.getGas();
        }
    }

@Override
 public void addCraftingToCrafters(ICrafting crafter)
    {
        super.addCraftingToCrafters(crafter);
        crafter.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
        crafter.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
        crafter.sendProgressBarUpdate(this, 2, (int) this.tileEntity.gasLevel);
    }

 @SideOnly(Side.CLIENT)
 @Override
 public void updateProgressBar(int id, int var)
    {
        if (id == 0)
        {
        	this.tileEntity.craftTime =  (short) var;
        }
        if (id == 1)
        {
        	this.tileEntity.energyLevel = var;
        }
        if(id == 2)
        {
        	this.tileEntity.gasLevel = var;
        }
        
    }
}

 

thx for helping me out well its a 5 x 5 crafting but i can still get some ideas from there and btw i know what the error means i just dont know how it apears, im goin to port some vanilla code adapt it and then fill it with breakpoints to see why it crashes

 

EDIT: game dont crash when droping items on the grid + keeping the inventory :D but i found a few dupe bugs but i will wonder them later for now i have the others to fix that are more important

getting error codes while droping at some slots

 

crash report of just 5 drops on crafting grid:

 

[20:48:30] [main/INFO]: Extra: []
[20:48:30] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/ResaloliPT/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[20:48:30] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:48:30] [main/INFO]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:48:30] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:48:30] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[20:48:30] [main/INFO]: Forge Mod Loader version 8.0.37.1334 for Minecraft 1.8 loading
[20:48:30] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_45, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_45
[20:48:30] [main/INFO]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[20:48:30] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:48:30] [main/INFO]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[20:48:30] [main/INFO]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[20:48:30] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:48:30] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:48:30] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:48:30] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:48:30] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:48:30] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:48:30] [main/ERROR]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[20:48:32] [main/ERROR]: FML appears to be missing any signature data. This is not a good thing
[20:48:32] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:48:32] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:48:32] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:48:32] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:48:32] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:48:32] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[20:48:33] [Client thread/INFO]: Setting user: Player269
[20:48:36] [Client thread/INFO]: LWJGL Version: 2.9.1
[20:48:36] [Client thread/INFO]: Attempting early MinecraftForge initialization
[20:48:36] [Client thread/INFO]: MinecraftForge v11.14.1.1334 Initialized
[20:48:36] [Client thread/INFO]: Replaced 204 ore recipies
[20:48:36] [Client thread/INFO]: Completed early MinecraftForge initialization
[20:48:37] [Client thread/INFO]: Searching C:\Users\ResaloliPT\Desktop\Programming\Java\Minecraft\MCP\eclipse\mods for mods
[20:48:38] [Client thread/INFO]: Forge Mod Loader has identified 4 mods to load
[20:48:38] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at CLIENT
[20:48:38] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at SERVER
[20:48:39] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[20:48:39] [Client thread/INFO]: Processing ObjectHolder annotations
[20:48:39] [Client thread/INFO]: Found 384 ObjectHolder annotations
[20:48:39] [Client thread/INFO]: Configured a dormant chunk cache size of 0
[20:48:39] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:preInit:67]: PreIniting EIM
[20:48:39] [Client thread/INFO]: Applying holder lookups
[20:48:39] [Client thread/INFO]: Holder lookups applied
[20:48:39] [sound Library Loader/INFO]: Starting up SoundSystem...
[20:48:39] [Thread-7/INFO]: Initializing LWJGL OpenAL
[20:48:39] [Thread-7/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[20:48:40] [Thread-7/INFO]: OpenAL initialized.
[20:48:40] [sound Library Loader/INFO]: Sound engine started
[20:48:43] [Client thread/INFO]: Created: 512x512 textures-atlas
[20:48:43] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:load:92]: Done!
[20:48:43] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:initialize:77]: Initing EIM
[20:48:44] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:postInit:86]: PostIniting EIM
[20:48:44] [Client thread/INFO]: Forge Mod Loader has successfully loaded 4 mods
[20:48:44] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[20:48:44] [Client thread/INFO]: SoundSystem shutting down...
[20:48:44] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[20:48:44] [sound Library Loader/INFO]: Starting up SoundSystem...
[20:48:44] [Thread-9/INFO]: Initializing LWJGL OpenAL
[20:48:44] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[20:48:44] [Thread-9/INFO]: OpenAL initialized.
[20:48:44] [sound Library Loader/INFO]: Sound engine started
[20:48:46] [Client thread/INFO]: Created: 512x512 textures-atlas
[20:49:26] [server thread/INFO]: Starting integrated minecraft server version 1.8
[20:49:26] [server thread/INFO]: Generating keypair
[20:49:26] [server thread/INFO]: Injecting existing block and item data into this server instance
[20:49:26] [server thread/INFO]: Applying holder lookups
[20:49:26] [server thread/INFO]: Holder lookups applied
[20:49:27] [server thread/INFO]: Loading dimension 0 (Teste) (net.minecraft.server.integrated.IntegratedServer@530392fb)
[20:49:27] [server thread/INFO]: Loading dimension 1 (Teste) (net.minecraft.server.integrated.IntegratedServer@530392fb)
[20:49:27] [server thread/INFO]: Loading dimension -1 (Teste) (net.minecraft.server.integrated.IntegratedServer@530392fb)
[20:49:27] [server thread/INFO]: Preparing start region for level 0
[20:49:27] [server thread/INFO]: Changing view distance to 12, from 10
[20:49:28] [Netty Local Client IO #0/INFO]: Server protocol version 1
[20:49:28] [Netty Server IO #1/INFO]: Client protocol version 1
[20:49:28] [Netty Server IO #1/INFO]: Client attempting to join with 4 mods : FML@8.0.37.1334,extrasinminecraft@0.1,Forge@11.14.1.1334,mcp@9.05
[20:49:28] [Netty Local Client IO #0/INFO]: [Netty Local Client IO #0] Client side modded connection established
[20:49:28] [server thread/INFO]: [server thread] Server side modded connection established
[20:49:28] [server thread/INFO]: Player269[local:E:95cae266] logged in with entity id 75 at (1246.5881938870857, 4.0, 1151.4979583143754)
[20:49:28] [server thread/INFO]: Player269 joined the game
[20:49:36] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:37] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 48, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:38] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:39] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 60, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:40] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:41] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 56, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:44] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:44] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 50, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:46] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[20:49:47] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 51, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more

 

 

+ will do a video for better demo gimme 30mins and video will be posted on YT

as always updated code on op thread

Link to comment
Share on other sites

Yes, you do only open it on the client:

public boolean onBlockActivated(World worldIn, BlockPos pos, IBlockState state, EntityPlayer playerIn, EnumFacing side, float hitX, float hitY, float hitZ)

    {

    if(!worldIn.isRemote){

    return true;

        }else{

        TileEntitydualCraftingTable tileentity = (TileEntitydualCraftingTable)worldIn.getTileEntity(pos);

 

            if (tileentity != null)

            {

            playerIn.openGui(ExtrasInMinecraft.instance, ExtrasInMinecraft.GUIDdualCraftingTable, worldIn, pos.getX(), pos.getY(), pos.getZ());

            }

 

            return true;

        }

    }

 

 

arent guis open on client and containers on servers? or i got a miss understood? well ill search more about that, thx

gimme a few mins and ill edit this thread

Link to comment
Share on other sites

thx for helping me out well its a 5 x 5 crafting but i can still get some ideas from there and btw i know what the error means i just dont know how it apears, im goin to port some vanilla code adapt it and then fill it with breakpoints to see why it crashes.

 

Ok, so I dont know if you've updated you've updated your code yet but this line will cause trouble when adding ID's

this.addSlotToContainer(new Slot(this.craftMatrix, i+j*36, 8+i*18, 7+j*18));

 

youre using a nested for-loop to asign 5 slots to each row (5 rows total). But this way row 0 starts at id 0.(hey, first 5 slots!) Second row starts on 36, third row starts on 72 etc....

this is what I ment with id conflicts!, easier work around is adding these slots first so no offset is needed. Or do it like this (i+j*5)+36.

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

thx for helping me out well its a 5 x 5 crafting but i can still get some ideas from there and btw i know what the error means i just dont know how it apears, im goin to port some vanilla code adapt it and then fill it with breakpoints to see why it crashes.

 

Ok, so I dont know if you've updated you've updated your code yet but this line will cause trouble when adding ID's

this.addSlotToContainer(new Slot(this.craftMatrix, i+j*36, 8+i*18, 7+j*18));

 

youre using a nested for-loop to asign 5 slots to each row (5 rows total). But this way row 0 starts at id 0.(hey, first 5 slots!) Second row starts on 36, third row starts on 72 etc....

this is what I ment with id conflicts!, easier work around is adding these slots first so no offset is needed. Or do it like this (i+j*5)+36.

 

 

ya when i was goin to to the video i noticed that i already changed the formula to: (36 + i) + (j * 4) i did alreaid edited the OP didnt knwo if u had noticed that well posting to YT the new video gimme 10 mins+- will edit this thead

 

 

EDIT: here is the updated video

Link to comment
Share on other sites

It should be (36+i)+(j*5).  ;).

 

But apart from that I realy would recommend swaping out the ID's of your tileEntity and the players inv. So your slots would be ranging from 0-25. Its way easier to link the tileEntity itemstacks to the container slots.

 

Also right now you have all the itemstacks(including the player inv.) Saved inside the tileEntity, and what would happen on a server in that the case? Apart from that, if I want to know how many slots your tileEntity has, it will return 61 instead of 26. Also there is a method Clear(), what would happen if I call that one? I think its better to leave out the player inv. Slots/itemstacks.

 

Inside the container class you are doing a lot of crazy things in the method slotClick(). I would recommend rewriting that method, since most bugs appear when you click on a slot(including player inv. Slots cause see above)

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

It should be (36+i)+(j*5).  ;).

 

But apart from that I realy would recommend swaping out the ID's of your tileEntity and the players inv. So your slots would be ranging from 0-25. Its way easier to link the tileEntity itemstacks to the container slots.

 

Also right now you have all the itemstacks(including the player inv.) Saved inside the tileEntity, and what would happen on a server in that the case? Apart from that, if I want to know how many slots your tileEntity has, it will return 61 instead of 26. Also there is a method Clear(), what would happen if I call that one? I think its better to leave out the player inv. Slots/itemstacks.

 

Inside the container class you are doing a lot of crazy things in the method slotClick(). I would recommend rewriting that method, since most bugs appear when you click on a slot(including player inv. Slots cause see above)

 

Helloo and thx again for ur help

the big method of slotClick() thats from vanilla i copied to fill with breakpoints but its not being called :/

so i have my custom sltos on tileEntity and hotbat+inv on playerInv so that MAY mean that only my customs slots are on the tileEntity right? + how can i add my result to tileEntity since it its constructer is SlotCrafting(EntityPlayer, InventoryCrafting, IInventory, slotID, X, Y), it requires entityplayer and not tileentity

 

Yes, the client uses GuiScreen, the server uses Container. The client usually has the Container, too though.

To open BOTH, you use player.openGui. If you only call that on the client, only the client will open it's GuiScreen, the server will not open the Container! If you call it on the server, the server will open the Container and then tell the client to open the Gui. Alternatively you can call it on both sides, then the client will also preemptively open the GuiScreen. But you must not call it on the client only.

thx for your reply

so i need to remove the World.isremote and always when onblockactivated call opengui?

 

Link to comment
Share on other sites

Yes, that or alternatively only call openGui if isRemote is false (as opposed to now, you currently call it only when isRemote is true. Read isRemote as isClient and it makes a lot more sense).

 

omg u genius xD thx can now move items freely :D

 

now i get no crash and just this error(hope its the last) when opening the gui:

[20:56:55] [main/INFO]: Extra: []
[20:56:55] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/ResaloliPT/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[20:56:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:56:55] [main/INFO]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[20:56:55] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:56:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[20:56:55] [main/INFO]: Forge Mod Loader version 8.0.37.1334 for Minecraft 1.8 loading
[20:56:55] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_45, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_45
[20:56:55] [main/INFO]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[20:56:55] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[20:56:55] [main/INFO]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[20:56:55] [main/INFO]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[20:56:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:56:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:56:55] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:56:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:56:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[20:56:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:56:55] [main/ERROR]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[20:56:57] [main/ERROR]: FML appears to be missing any signature data. This is not a good thing
[20:56:57] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[20:56:57] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[20:56:58] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[20:56:58] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:56:58] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[20:56:58] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[20:56:58] [Client thread/INFO]: Setting user: Player9
[20:57:01] [Client thread/INFO]: LWJGL Version: 2.9.1
[20:57:02] [Client thread/INFO]: Attempting early MinecraftForge initialization
[20:57:02] [Client thread/INFO]: MinecraftForge v11.14.1.1334 Initialized
[20:57:02] [Client thread/INFO]: Replaced 204 ore recipies
[20:57:02] [Client thread/INFO]: Completed early MinecraftForge initialization
[20:57:02] [Client thread/INFO]: Searching C:\Users\ResaloliPT\Desktop\Programming\Java\Minecraft\MCP\eclipse\mods for mods
[20:57:03] [Client thread/INFO]: Forge Mod Loader has identified 4 mods to load
[20:57:03] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at CLIENT
[20:57:03] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at SERVER
[20:57:04] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[20:57:04] [Client thread/INFO]: Processing ObjectHolder annotations
[20:57:04] [Client thread/INFO]: Found 384 ObjectHolder annotations
[20:57:04] [Client thread/INFO]: Configured a dormant chunk cache size of 0
[20:57:04] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:preInit:67]: PreIniting EIM
[20:57:04] [Client thread/INFO]: Applying holder lookups
[20:57:04] [Client thread/INFO]: Holder lookups applied
[20:57:04] [sound Library Loader/INFO]: Starting up SoundSystem...
[20:57:04] [Thread-7/INFO]: Initializing LWJGL OpenAL
[20:57:04] [Thread-7/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[20:57:05] [Thread-7/INFO]: OpenAL initialized.
[20:57:05] [sound Library Loader/INFO]: Sound engine started
[20:57:07] [Client thread/INFO]: Created: 512x512 textures-atlas
[20:57:08] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:load:92]: Done!
[20:57:08] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:initialize:77]: Initing EIM
[20:57:08] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:postInit:86]: PostIniting EIM
[20:57:08] [Client thread/INFO]: Forge Mod Loader has successfully loaded 4 mods
[20:57:08] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[20:57:09] [Client thread/INFO]: SoundSystem shutting down...
[20:57:09] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[20:57:09] [sound Library Loader/INFO]: Starting up SoundSystem...
[20:57:09] [Thread-9/INFO]: Initializing LWJGL OpenAL
[20:57:09] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[20:57:09] [Thread-9/INFO]: OpenAL initialized.
[20:57:09] [sound Library Loader/INFO]: Sound engine started
[20:57:11] [Client thread/INFO]: Created: 512x512 textures-atlas
[20:57:14] [server thread/INFO]: Starting integrated minecraft server version 1.8
[20:57:14] [server thread/INFO]: Generating keypair
[20:57:15] [server thread/INFO]: Injecting existing block and item data into this server instance
[20:57:15] [server thread/INFO]: Applying holder lookups
[20:57:15] [server thread/INFO]: Holder lookups applied
[20:57:15] [server thread/INFO]: Loading dimension 0 (Teste) (net.minecraft.server.integrated.IntegratedServer@24218a78)
[20:57:15] [server thread/INFO]: Loading dimension 1 (Teste) (net.minecraft.server.integrated.IntegratedServer@24218a78)
[20:57:15] [server thread/INFO]: Loading dimension -1 (Teste) (net.minecraft.server.integrated.IntegratedServer@24218a78)
[20:57:15] [server thread/INFO]: Preparing start region for level 0
[20:57:16] [server thread/INFO]: Changing view distance to 12, from 10
[20:57:16] [Netty Local Client IO #0/INFO]: Server protocol version 1
[20:57:16] [Netty Server IO #1/INFO]: Client protocol version 1
[20:57:16] [Netty Server IO #1/INFO]: Client attempting to join with 4 mods : FML@8.0.37.1334,extrasinminecraft@0.1,Forge@11.14.1.1334,mcp@9.05
[20:57:16] [Netty Local Client IO #0/INFO]: [Netty Local Client IO #0] Client side modded connection established
[20:57:16] [server thread/INFO]: [server thread] Server side modded connection established
[20:57:16] [server thread/INFO]: Player9[local:E:4e47d2d8] logged in with entity id 70 at (1245.1225309750705, 5.0, 1151.4942584365008)
[20:57:16] [server thread/INFO]: Player9 joined the game
[20:57:18] [Client thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 61
java.util.concurrent.ExecutionException: java.lang.ArrayIndexOutOfBoundsException: 61
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1011) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:345) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(SourceFile:120) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
at GradleStart.main(Unknown Source) [start/:?]
Caused by: java.lang.ArrayIndexOutOfBoundsException: 61
at net.minecraft.inventory.InventoryCrafting.setInventorySlotContents(SourceFile:102) ~[inventoryCrafting.class:?]
at net.minecraft.inventory.Slot.putStack(Slot.java:68) ~[slot.class:?]
at net.minecraft.inventory.Container.putStacksInSlots(Container.java:527) ~[Container.class:?]
at net.minecraft.client.network.NetHandlerPlayClient.handleWindowItems(NetHandlerPlayClient.java:1082) ~[NetHandlerPlayClient.class:?]
at net.minecraft.network.play.server.S30PacketWindowItems.func_180732_a(SourceFile:49) ~[s30PacketWindowItems.class:?]
at net.minecraft.network.play.server.S30PacketWindowItems.processPacket(SourceFile:11) ~[s30PacketWindowItems.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 11 more

 

+ i got this on my crafting manager on its constructer

 this.addShapelessRecipe(new ItemStack(Blocks.diamond_block), new ItemStack(Blocks.dirt));

and i cant get it to work.. need it to be along side with others? but redirecting to my craftingmanager?(will test that now)

Link to comment
Share on other sites

 

Helloo and thx again for ur help

the big method of slotClick() thats from vanilla i copied to fill with breakpoints but its not being called :/

so i have my custom sltos on tileEntity and hotbat+inv on playerInv so that MAY mean that only my customs slots are on the tileEntity right? + how can i add my result to tileEntity since it its constructer is SlotCrafting(EntityPlayer, InventoryCrafting, IInventory, slotID, X, Y), it requires entityplayer and not tileentity

 

 

I didnt get it fully, but basically if you are using custom Slots you need to add regular slots for the Player Inv. (with ID's starting from 0!) and use your own slots for the Contianer (with ID's starting from 0 as wel!). for an exapmle see my ContainerClass.

 

One thing I mentioned earlier was moving the Player inv. SlotID's upwards. NEVER DO THAT! that was a huge misstake from me! since there is only a limited ID range for the Player inv. therefore its higly recommended to either use Custom CraftingSlots, or the Vanilla variants.

 

 

To clarify some things, your TileEntity doesn't store any Slot whatsoever! Basically it holds on to an array of Itemstacks. the confusion starts cause some methods are using the word Slot (for example getStackInSlot()). if you noticed, all the methods around the ItemStacks are only calling from the array, and no Slots are involved. Therefore you need to remeber one thing. The TileEntity only saves data from the TileEntity! e.g. itemStacks from the player, are from the Player, so don't save that in a tileEntity ever!

 

The container Class is a helper Class for communication between Client and Server. values are stored on the server, but are rendererd on the Client side. The container itself can't store any data, though its enough for single use only (e.g. vanilla crafting table) but since you want to store data, you need the TileEntity as well

 

So the Container Class creates the Slots, but don't know the content, and it gets it from the TileEntity. thats why start asigning ID's from 0 for your custom Contianer may become in handy (since the index of the Slots are equal to the index of the Array that way!).

 

To sum up the changes I would recommend to apply:

- Create your own SlotType.

- Creat the Container Inv. from the CustomSlots and regular slots(for player inv. Only)

- Changing the value of the ItemStack array inside the TileEntity to 26 (instead of 61)

- Changing the methods Calling for any ID above 26 (cause the ID offset!)

 

I think it would solve a lot of problems.

 

ps. when using custom Slots, the parm. EntityPlayer can be left out, and replaced with tileEntity ;)

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

Please post updated versions of:

 

-Block

-IGuiHandler

-GuiScreen

-Container

 

Preferably on pastebin or something else with syntax highlighting.

 

sure will do they are up in 1 min. links will be on OP Thread

 

EDIT: updated classes and uploaded to my pastebin acc

Link to comment
Share on other sites

 

Helloo and thx again for ur help

the big method of slotClick() thats from vanilla i copied to fill with breakpoints but its not being called :/

so i have my custom sltos on tileEntity and hotbat+inv on playerInv so that MAY mean that only my customs slots are on the tileEntity right? + how can i add my result to tileEntity since it its constructer is SlotCrafting(EntityPlayer, InventoryCrafting, IInventory, slotID, X, Y), it requires entityplayer and not tileentity

 

 

I didnt get it fully, but basically if you are using custom Slots you need to add regular slots for the Player Inv. (with ID's starting from 0!) and use your own slots for the Contianer (with ID's starting from 0 as wel!). for an exapmle see my ContainerClass.

 

One thing I mentioned earlier was moving the Player inv. SlotID's upwards. NEVER DO THAT! that was a huge misstake from me! since there is only a limited ID range for the Player inv. therefore its higly recommended to either use Custom CraftingSlots, or the Vanilla variants.

 

 

To clarify some things, your TileEntity doesn't store any Slot whatsoever! Basically it holds on to an array of Itemstacks. the confusion starts cause some methods are using the word Slot (for example getStackInSlot()). if you noticed, all the methods around the ItemStacks are only calling from the array, and no Slots are involved. Therefore you need to remeber one thing. The TileEntity only saves data from the TileEntity! e.g. itemStacks from the player, are from the Player, so don't save that in a tileEntity ever!

 

The container Class is a helper Class for communication between Client and Server. values are stored on the server, but are rendererd on the Client side. The container itself can't store any data, though its enough for single use only (e.g. vanilla crafting table) but since you want to store data, you need the TileEntity as well

 

So the Container Class creates the Slots, but don't know the content, and it gets it from the TileEntity. thats why start asigning ID's from 0 for your custom Contianer may become in handy (since the index of the Slots are equal to the index of the Array that way!).

 

To sum up the changes I would recommend to apply:

- Create your own SlotType.

- Creat the Container Inv. from the CustomSlots and regular slots(for player inv. Only)

- Changing the value of the ItemStack array inside the TileEntity to 26 (instead of 61)

- Changing the methods Calling for any ID above 26 (cause the ID offset!)

 

I think it would solve a lot of problems.

 

ps. when using custom Slots, the parm. EntityPlayer can be left out, and replaced with tileEntity ;)

 

well ill do some testes and will reply back

 

EDIT: ok no slots problems now im getting a null worldobj.... on this line

this.craftResult.setInventorySlotContents(0, CraftingManagerdualCraftingTable.getInstance().findMatchingRecipe(this.craftMatrix, this.worldObj));

 

Code up on pastebin in 1 min

Link to comment
Share on other sites

Oke, good to hear that there are no problems with the Slots anymore.

 

About the world problem, the Container Class is used by the Server and the Client. I think thats why the WorldObj can be null. The solution would be to encapsle it with a SideCheck(!World.isremote). It has to check if its the server side, since thats the where the recipes are saved

 

Honestly I dont know for sure if it will work, since I check this in the tileEntity along with some other stuff. But technically it should work.

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

Oke, good to hear that there are no problems with the Slots anymore.

 

About the world problem, the Container Class is used by the Server and the Client. I think thats why the WorldObj can be null. The solution would be to encapsle it with a SideCheck(!World.isremote). It has to check if its the server side, since thats the where the recipes are saved

 

Honestly I dont know for sure if it will work, since I check this in the tileEntity along with some other stuff. But technically it should work.

 

well i did some some changes to container, and worldobj is now containing WorldServer duno if this is the right contents

+ im not getting any output on the craftResult slot :/

code up in 1 min

Link to comment
Share on other sites

I honestly didnt get your first part, could you explain it a bit more?

And about the crafting recipes, this is where you set the result slot content: "onCraftMatrixChanged()". But does it override something(correctly, use @Override to verify), or does it get called from somewhere else? Right now its only in the constructor, which means it will only be called once on constructing.

 

Since I update the slotContent in my tileEntity Class, I have no idea what method you should use. You should check the vanilla workbenchContainer Class for a solution(unfortunatly I cant do that for you right now). Or use the TileEntity like me ;).

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

I honestly didnt get your first part, could you explain it a bit more?

And about the crafting recipes, this is where you set the result slot content: "onCraftMatrixChanged()". But does it override something(correctly, use @Override to verify), or does it get called from somewhere else? Right now its only in the constructor, which means it will only be called once on constructing.

 

Since I update the slotContent in my tileEntity Class, I have no idea what method you should use. You should check the vanilla workbenchContainer Class for a solution(unfortunatly I cant do that for you right now). Or use the TileEntity like me ;).

 

well it is overriten pls take a look on my craftingmanager and see if theres a problem with my recipes

i am importing all vanilla recipes and adding a custom(1 dirt to 1 diamondblock for testing porpuses)

 

+ could u give me some explanation on how i can bound my custom slots to the tileentity cause at the mid of the player inventory im getting out of bounds 45 of 45(0 + 25 +(19 of 27) are working)

 

code up in 1 min

Link to comment
Share on other sites

Wel I noticed that you used the Slot.Class (the same you used for the Player inv.). I thought I mentioned that you need different kind of slots in order to let this work, otherwise I did now. Otherwise you would still link slots together :). I would recommend to use/duplicated the SlotCrafting.Class for your custom inv.. If you look closely to the constructor, the first IInventory parameter, would be your tileEntity. that way its bound to your TileEntity, pretty self explaining I think.

 

after you changed this, take a look at the crafting recipes again, try both your custom and vanilla recipes, since I think a custom recipe should work, though Im not sure about the vanilla recipes.

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

Wel I noticed that you used the Slot.Class (the same you used for the Player inv.). I thought I mentioned that you need different kind of slots in order to let this work, otherwise I did now. Otherwise you would still link slots together :). I would recommend to use/duplicated the SlotCrafting.Class for your custom inv.. If you look closely to the constructor, the first IInventory parameter, would be your tileEntity. that way its bound to your TileEntity, pretty self explaining I think.

 

after you changed this, take a look at the crafting recipes again, try both your custom and vanilla recipes, since I think a custom recipe should work, though Im not sure about the vanilla recipes.

 

Thx for teh explanation :D gimme aobut 10 mins to test that out

will Reply to this post the results

 

EDIT: cant get it working :(

on the container when i change slot to my customslot it get a error on addSlotToContainer not accepting my customslot

 

could u show me some snippets of code to show me the right way ?

Link to comment
Share on other sites

Hey I used this Layout for my Slot.Class (Warning, its an big copy-pasta Class, with some litle changes)

 

package mechanical_crafting_table.common.inventory.slot;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.stats.AchievementList;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
import cpw.mods.fml.common.FMLCommonHandler;

public class MySlot extends Slot
{
private final IInventory tileEntity;
private EntityPlayer thePlayer;
private  int amountCrafted;

public MySlot (EntityPlayer player, IInventory iInventory, IInventory inventory, int index, int x, int y)
{
	super(inventory, index, x, y);
	this.tileEntity = iInventory;
	this.thePlayer = player;
}

@Override
public boolean isItemValid(ItemStack itemStack)
{
	return false;
}

@Override
public boolean canTakeStack(EntityPlayer player)
{
	return false;
}

@Override
public ItemStack decrStackSize(int amount)
    {
        if (this.getHasStack())
        {
            this.amountCrafted += Math.min(amount, this.getStack().stackSize);
        }

        return super.decrStackSize(amount);
    }

    protected void onCrafting(ItemStack itemStack, int amount)
    {
        this.amountCrafted += amount;
        this.onCrafting(itemStack);
    }

    protected void onCrafting(ItemStack itemStack)
    {
        itemStack.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted);
        this.amountCrafted = 0;

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.crafting_table))
        {
            this.thePlayer.addStat(AchievementList.buildWorkBench, 1);
        }

        if (itemStack.getItem() instanceof ItemPickaxe)
        {
            this.thePlayer.addStat(AchievementList.buildPickaxe, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.furnace))
        {
            this.thePlayer.addStat(AchievementList.buildFurnace, 1);
        }

        if (itemStack.getItem() instanceof ItemHoe)
        {
            this.thePlayer.addStat(AchievementList.buildHoe, 1);
        }

        if (itemStack.getItem() == Items.bread)
        {
            this.thePlayer.addStat(AchievementList.makeBread, 1);
        }

        if (itemStack.getItem() == Items.cake)
        {
            this.thePlayer.addStat(AchievementList.bakeCake, 1);
        }

        if (itemStack.getItem() instanceof ItemPickaxe && ((ItemPickaxe)itemStack.getItem()).func_150913_i() != Item.ToolMaterial.WOOD)
        {
            this.thePlayer.addStat(AchievementList.buildBetterPickaxe, 1);
        }

        if (itemStack.getItem() instanceof ItemSword)
        {
            this.thePlayer.addStat(AchievementList.buildSword, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.enchanting_table))
        {
            this.thePlayer.addStat(AchievementList.enchantments, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.bookshelf))
        {
            this.thePlayer.addStat(AchievementList.bookcase, 1);
        }
    }

    @Override
    public void onPickupFromSlot(EntityPlayer player, ItemStack itemStack)
    {
        FMLCommonHandler.instance().firePlayerCraftingEvent(player, itemStack, tileEntity);
        this.onCrafting(itemStack);

        for (int i = 0; i < this.tileEntity.getSizeInventory(); ++i)
        {
            ItemStack itemstack1 = this.tileEntity.getStackInSlot(i);

            if (itemstack1 != null)
            {
                this.tileEntity.decrStackSize(i, 1);

                if (itemstack1.getItem().hasContainerItem(itemstack1))
                {
                    ItemStack itemstack2 = itemstack1.getItem().getContainerItem(itemstack1);

                    if (itemstack2 != null && itemstack2.isItemStackDamageable() && itemstack2.getItemDamage() > itemstack2.getMaxDamage())
                    {
                        MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, itemstack2));
                        continue;
                    }

                    if (!itemstack1.getItem().doesContainerItemLeaveCraftingGrid(itemstack1) || !this.thePlayer.inventory.addItemStackToInventory(itemstack2))
                    {
                        if (this.tileEntity.getStackInSlot(i) == null)
                        {
                            this.tileEntity.setInventorySlotContents(i, itemstack2);
                        }
                        else
                        {
                            this.thePlayer.dropPlayerItemWithRandomChoice(itemstack2, false);
                        }
                    }
                }
            }
        }
    }
}

 

Here is my Container Class, so you can take a look at all the methods reguarding the Slots etc.

 

package mechanical_crafting_table.common.inventory.container;

import mechanical_crafting_table.common.inventory.slot.SlotCrafting;
import mechanical_crafting_table.common.inventory.slot.SlotOutPut;
import mechanical_crafting_table.common.inventory.slot.SlotDisplay;
import mechanical_crafting_table.common.tileentity.MechanicalCraftingTableTileEntity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ContainerMechanicalCraftingTable extends Container
{

private MechanicalCraftingTableTileEntity tileEntity;
public int lastCraftTime;
public int lastEnergyLevel;
public int lastGasLevel;
public static SlotDisplay output;

public static final int craftmatrixHeigth = 4;
public static final int craftmatrixWidth = 4;
private int posX;
private int posY;
private int posZ;

public ContainerMechanicalCraftingTable(InventoryPlayer inventory, MechanicalCraftingTableTileEntity tileentity)
{
	SlotDisplay output = new SlotDisplay(inventory.player, tileentity, tileentity, 16, 127, 15);
	this.output = output;
	this.tileEntity = tileentity;
	this.addSlotToContainer(new SlotOutPut(tileentity, 17, 127, 66));
	this.addSlotToContainer(output);


		for(int i = 0; i < craftmatrixHeigth; ++i)
		{
			for(int l = 0; l < craftmatrixWidth; ++l)
			{
				this.addSlotToContainer(new SlotCrafting(tileentity, l + i * 4, 30 + l * 18, 15 + i * 18 ));
			}
		}

		for (int i = 0; i < 3; ++i)
		{
			for (int l = 0; l < 9; ++l)
			{
				this.addSlotToContainer(new Slot(inventory, l + i * 9 + 9, 15 + l * 18, 97 + i * 18));
			}
		}

		for(int i = 0; i < 9; ++i)
		{
			this.addSlotToContainer(new Slot(inventory, i, 15 + i * 18, 155));
		}
		this.tileEntity.openInventory();
		this.detectAndSendChanges();
}

@Override
public void onContainerClosed(EntityPlayer player)
{
	super.onContainerClosed(player);
	this.tileEntity.closeInventory();
}

@Override
public boolean canInteractWith(EntityPlayer player)
{
	return this.tileEntity.isUseableByPlayer(player);
}

@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex)
{
	 ItemStack i = null;
	 Slot l = (Slot)this.inventorySlots.get(slotIndex);

	 if (l != null && l.getHasStack())
	 {
		 ItemStack il = l.getStack();
		 i = il.copy();

		 if (slotIndex == 0)
		 {
			 if (!this.mergeItemStack(il, 18, 54, true))
			 {
				 return null;
			 }

			 l.onSlotChange(il, i);
		 }
		 else if (slotIndex >= 18 && slotIndex < 45)
		 {
			 if (!this.mergeItemStack(il, 45, 54, false))
			 {
				 return null;
			 }
		 }
		 else if (slotIndex >= 45 && slotIndex < 54)
		 {
			 if (!this.mergeItemStack(il, 18, 45, false))
			 {
				 return null;
			 }
		 }
		 else if (!this.mergeItemStack(il, 18, 54, false))
		 {
			 return null;
		 }

		 if (il.stackSize == 0)
		 {
			 l.putStack((ItemStack)null);
		 }
		 else
		 {
			 l.onSlotChanged();
		 }

		 if (il.stackSize == i.stackSize)
		 {
			 return null;
		 }

		 l.onPickupFromSlot(player, il);
	 }

	 return i;
}

@Override
public void detectAndSendChanges()
    {
	super.detectAndSendChanges();

        for (int i = 0; i < this.inventorySlots.size(); ++i)
        {
            ItemStack itemstack = ((Slot)this.inventorySlots.get(i)).getStack();
            ItemStack itemstack1 = (ItemStack)this.inventoryItemStacks.get(i);

            if (!ItemStack.areItemStacksEqual(itemstack1, itemstack))
            {
                itemstack1 = itemstack == null ? null : itemstack.copy();
                this.inventoryItemStacks.set(i, itemstack1);

                for (int j = 0; j < this.crafters.size(); ++j)
                {
                    ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1);
                }
            }
        }
        
        for (int i = 0; i < this.crafters.size(); ++i)
        {
            ICrafting icrafting = (ICrafting)this.crafters.get(i);

            if (this.lastCraftTime != this.tileEntity.craftTime)
            {
                icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
            }

            if (this.lastEnergyLevel != this.tileEntity.energyLevel || this.tileEntity.energyIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
            	this.tileEntity.energyIsChanged = false;
            }
            
            if(this.lastGasLevel != this.tileEntity.gasLevel || this.tileEntity.gasIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 2, (int)this.tileEntity.gasLevel);
            	this.tileEntity.gasIsChanged = false;
            }
            
            this.lastEnergyLevel = (int) this.tileEntity.getEnergy();
            this.lastCraftTime = this.tileEntity.craftTime;
            this.lastGasLevel = (int) this.tileEntity.getGas();
        }
    }

@Override
 public void addCraftingToCrafters(ICrafting crafter)
    {
        super.addCraftingToCrafters(crafter);
        crafter.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
        crafter.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
        crafter.sendProgressBarUpdate(this, 2, (int) this.tileEntity.gasLevel);
    }

 @SideOnly(Side.CLIENT)
 @Override
 public void updateProgressBar(int id, int var)
    {
        if (id == 0)
        {
        	this.tileEntity.craftTime =  (short) var;
        }
        if (id == 1)
        {
        	this.tileEntity.energyLevel = var;
        }
        if(id == 2)
        {
        	this.tileEntity.gasLevel = var;
        }
        
    }
}

 

Hope these examples will help you further. If not, could you post an crashlog next time please? It helps solving the problem a bit better :D

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

Hey I used this Layout for my Slot.Class (Warning, its an big copy-pasta Class, with some litle changes)

 

package mechanical_crafting_table.common.inventory.slot;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.inventory.IInventory;
import net.minecraft.inventory.Slot;
import net.minecraft.item.Item;
import net.minecraft.item.ItemHoe;
import net.minecraft.item.ItemPickaxe;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.stats.AchievementList;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerDestroyItemEvent;
import cpw.mods.fml.common.FMLCommonHandler;

public class MySlot extends Slot
{
private final IInventory tileEntity;
private EntityPlayer thePlayer;
private  int amountCrafted;

public MySlot (EntityPlayer player, IInventory iInventory, IInventory inventory, int index, int x, int y)
{
	super(inventory, index, x, y);
	this.tileEntity = iInventory;
	this.thePlayer = player;
}

@Override
public boolean isItemValid(ItemStack itemStack)
{
	return false;
}

@Override
public boolean canTakeStack(EntityPlayer player)
{
	return false;
}

@Override
public ItemStack decrStackSize(int amount)
    {
        if (this.getHasStack())
        {
            this.amountCrafted += Math.min(amount, this.getStack().stackSize);
        }

        return super.decrStackSize(amount);
    }

    protected void onCrafting(ItemStack itemStack, int amount)
    {
        this.amountCrafted += amount;
        this.onCrafting(itemStack);
    }

    protected void onCrafting(ItemStack itemStack)
    {
        itemStack.onCrafting(this.thePlayer.worldObj, this.thePlayer, this.amountCrafted);
        this.amountCrafted = 0;

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.crafting_table))
        {
            this.thePlayer.addStat(AchievementList.buildWorkBench, 1);
        }

        if (itemStack.getItem() instanceof ItemPickaxe)
        {
            this.thePlayer.addStat(AchievementList.buildPickaxe, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.furnace))
        {
            this.thePlayer.addStat(AchievementList.buildFurnace, 1);
        }

        if (itemStack.getItem() instanceof ItemHoe)
        {
            this.thePlayer.addStat(AchievementList.buildHoe, 1);
        }

        if (itemStack.getItem() == Items.bread)
        {
            this.thePlayer.addStat(AchievementList.makeBread, 1);
        }

        if (itemStack.getItem() == Items.cake)
        {
            this.thePlayer.addStat(AchievementList.bakeCake, 1);
        }

        if (itemStack.getItem() instanceof ItemPickaxe && ((ItemPickaxe)itemStack.getItem()).func_150913_i() != Item.ToolMaterial.WOOD)
        {
            this.thePlayer.addStat(AchievementList.buildBetterPickaxe, 1);
        }

        if (itemStack.getItem() instanceof ItemSword)
        {
            this.thePlayer.addStat(AchievementList.buildSword, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.enchanting_table))
        {
            this.thePlayer.addStat(AchievementList.enchantments, 1);
        }

        if (itemStack.getItem() == Item.getItemFromBlock(Blocks.bookshelf))
        {
            this.thePlayer.addStat(AchievementList.bookcase, 1);
        }
    }

    @Override
    public void onPickupFromSlot(EntityPlayer player, ItemStack itemStack)
    {
        FMLCommonHandler.instance().firePlayerCraftingEvent(player, itemStack, tileEntity);
        this.onCrafting(itemStack);

        for (int i = 0; i < this.tileEntity.getSizeInventory(); ++i)
        {
            ItemStack itemstack1 = this.tileEntity.getStackInSlot(i);

            if (itemstack1 != null)
            {
                this.tileEntity.decrStackSize(i, 1);

                if (itemstack1.getItem().hasContainerItem(itemstack1))
                {
                    ItemStack itemstack2 = itemstack1.getItem().getContainerItem(itemstack1);

                    if (itemstack2 != null && itemstack2.isItemStackDamageable() && itemstack2.getItemDamage() > itemstack2.getMaxDamage())
                    {
                        MinecraftForge.EVENT_BUS.post(new PlayerDestroyItemEvent(thePlayer, itemstack2));
                        continue;
                    }

                    if (!itemstack1.getItem().doesContainerItemLeaveCraftingGrid(itemstack1) || !this.thePlayer.inventory.addItemStackToInventory(itemstack2))
                    {
                        if (this.tileEntity.getStackInSlot(i) == null)
                        {
                            this.tileEntity.setInventorySlotContents(i, itemstack2);
                        }
                        else
                        {
                            this.thePlayer.dropPlayerItemWithRandomChoice(itemstack2, false);
                        }
                    }
                }
            }
        }
    }
}

 

Here is my Container Class, so you can take a look at all the methods reguarding the Slots etc.

 

package mechanical_crafting_table.common.inventory.container;

import mechanical_crafting_table.common.inventory.slot.SlotCrafting;
import mechanical_crafting_table.common.inventory.slot.SlotOutPut;
import mechanical_crafting_table.common.inventory.slot.SlotDisplay;
import mechanical_crafting_table.common.tileentity.MechanicalCraftingTableTileEntity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.InventoryPlayer;
import net.minecraft.inventory.Container;
import net.minecraft.inventory.ICrafting;
import net.minecraft.inventory.Slot;
import net.minecraft.item.ItemStack;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;

public class ContainerMechanicalCraftingTable extends Container
{

private MechanicalCraftingTableTileEntity tileEntity;
public int lastCraftTime;
public int lastEnergyLevel;
public int lastGasLevel;
public static SlotDisplay output;

public static final int craftmatrixHeigth = 4;
public static final int craftmatrixWidth = 4;
private int posX;
private int posY;
private int posZ;

public ContainerMechanicalCraftingTable(InventoryPlayer inventory, MechanicalCraftingTableTileEntity tileentity)
{
	SlotDisplay output = new SlotDisplay(inventory.player, tileentity, tileentity, 16, 127, 15);
	this.output = output;
	this.tileEntity = tileentity;
	this.addSlotToContainer(new SlotOutPut(tileentity, 17, 127, 66));
	this.addSlotToContainer(output);


		for(int i = 0; i < craftmatrixHeigth; ++i)
		{
			for(int l = 0; l < craftmatrixWidth; ++l)
			{
				this.addSlotToContainer(new SlotCrafting(tileentity, l + i * 4, 30 + l * 18, 15 + i * 18 ));
			}
		}

		for (int i = 0; i < 3; ++i)
		{
			for (int l = 0; l < 9; ++l)
			{
				this.addSlotToContainer(new Slot(inventory, l + i * 9 + 9, 15 + l * 18, 97 + i * 18));
			}
		}

		for(int i = 0; i < 9; ++i)
		{
			this.addSlotToContainer(new Slot(inventory, i, 15 + i * 18, 155));
		}
		this.tileEntity.openInventory();
		this.detectAndSendChanges();
}

@Override
public void onContainerClosed(EntityPlayer player)
{
	super.onContainerClosed(player);
	this.tileEntity.closeInventory();
}

@Override
public boolean canInteractWith(EntityPlayer player)
{
	return this.tileEntity.isUseableByPlayer(player);
}

@Override
public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex)
{
	 ItemStack i = null;
	 Slot l = (Slot)this.inventorySlots.get(slotIndex);

	 if (l != null && l.getHasStack())
	 {
		 ItemStack il = l.getStack();
		 i = il.copy();

		 if (slotIndex == 0)
		 {
			 if (!this.mergeItemStack(il, 18, 54, true))
			 {
				 return null;
			 }

			 l.onSlotChange(il, i);
		 }
		 else if (slotIndex >= 18 && slotIndex < 45)
		 {
			 if (!this.mergeItemStack(il, 45, 54, false))
			 {
				 return null;
			 }
		 }
		 else if (slotIndex >= 45 && slotIndex < 54)
		 {
			 if (!this.mergeItemStack(il, 18, 45, false))
			 {
				 return null;
			 }
		 }
		 else if (!this.mergeItemStack(il, 18, 54, false))
		 {
			 return null;
		 }

		 if (il.stackSize == 0)
		 {
			 l.putStack((ItemStack)null);
		 }
		 else
		 {
			 l.onSlotChanged();
		 }

		 if (il.stackSize == i.stackSize)
		 {
			 return null;
		 }

		 l.onPickupFromSlot(player, il);
	 }

	 return i;
}

@Override
public void detectAndSendChanges()
    {
	super.detectAndSendChanges();

        for (int i = 0; i < this.inventorySlots.size(); ++i)
        {
            ItemStack itemstack = ((Slot)this.inventorySlots.get(i)).getStack();
            ItemStack itemstack1 = (ItemStack)this.inventoryItemStacks.get(i);

            if (!ItemStack.areItemStacksEqual(itemstack1, itemstack))
            {
                itemstack1 = itemstack == null ? null : itemstack.copy();
                this.inventoryItemStacks.set(i, itemstack1);

                for (int j = 0; j < this.crafters.size(); ++j)
                {
                    ((ICrafting)this.crafters.get(j)).sendSlotContents(this, i, itemstack1);
                }
            }
        }
        
        for (int i = 0; i < this.crafters.size(); ++i)
        {
            ICrafting icrafting = (ICrafting)this.crafters.get(i);

            if (this.lastCraftTime != this.tileEntity.craftTime)
            {
                icrafting.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
            }

            if (this.lastEnergyLevel != this.tileEntity.energyLevel || this.tileEntity.energyIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
            	this.tileEntity.energyIsChanged = false;
            }
            
            if(this.lastGasLevel != this.tileEntity.gasLevel || this.tileEntity.gasIsChanged)
            {
            	icrafting.sendProgressBarUpdate(this, 2, (int)this.tileEntity.gasLevel);
            	this.tileEntity.gasIsChanged = false;
            }
            
            this.lastEnergyLevel = (int) this.tileEntity.getEnergy();
            this.lastCraftTime = this.tileEntity.craftTime;
            this.lastGasLevel = (int) this.tileEntity.getGas();
        }
    }

@Override
 public void addCraftingToCrafters(ICrafting crafter)
    {
        super.addCraftingToCrafters(crafter);
        crafter.sendProgressBarUpdate(this, 0, this.tileEntity.craftTime);
        crafter.sendProgressBarUpdate(this, 1, (int) this.tileEntity.energyLevel);
        crafter.sendProgressBarUpdate(this, 2, (int) this.tileEntity.gasLevel);
    }

 @SideOnly(Side.CLIENT)
 @Override
 public void updateProgressBar(int id, int var)
    {
        if (id == 0)
        {
        	this.tileEntity.craftTime =  (short) var;
        }
        if (id == 1)
        {
        	this.tileEntity.energyLevel = var;
        }
        if(id == 2)
        {
        	this.tileEntity.gasLevel = var;
        }
        
    }
}

 

Hope these examples will help you further. If not, could you post an crashlog next time please? It helps solving the problem a bit better :D

 

 

well tried everything on my knowlegde and i still get this dam error that is anoying me, here is a start click on result slot then start of grid then end of grid and then same to inventory and then to hotbar

 

"[com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: " comes from here:

@Override
    public ItemStack slotClick(int slotId, int clickedButton, int mode, EntityPlayer playerIn){
	System.out.println("SlotN: " + slotId);
	return null;		
}

 

so dont worry about that

 

 

here is the crashlog:

 

[14:55:54] [main/INFO]: Extra: []
[14:55:54] [main/INFO]: Running with arguments: [--userProperties, {}, --assetsDir, C:/Users/ResaloliPT/.gradle/caches/minecraft/assets, --assetIndex, 1.8, --accessToken, {REDACTED}, --version, 1.8, --tweakClass, net.minecraftforge.fml.common.launcher.FMLTweaker, --tweakClass, net.minecraftforge.gradle.tweakers.CoremodTweaker]
[14:55:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:55:55] [main/INFO]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLTweaker
[14:55:55] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.CoremodTweaker
[14:55:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLTweaker
[14:55:55] [main/INFO]: Forge Mod Loader version 8.0.37.1334 for Minecraft 1.8 loading
[14:55:55] [main/INFO]: Java is Java HotSpot(TM) 64-Bit Server VM, version 1.8.0_45, running on Windows 7:amd64:6.1, installed at C:\Program Files\Java\jre1.8.0_45
[14:55:55] [main/INFO]: Managed to load a deobfuscated Minecraft name- we are in a deobfuscated environment. Skipping runtime deobfuscation
[14:55:55] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.CoremodTweaker
[14:55:55] [main/INFO]: Injecting location in coremod net.minecraftforge.fml.relauncher.FMLCorePlugin
[14:55:55] [main/INFO]: Injecting location in coremod net.minecraftforge.classloading.FMLForgePlugin
[14:55:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:55:55] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[14:55:55] [main/INFO]: Loading tweak class name net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[14:55:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:55:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[14:55:55] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[14:55:55] [main/ERROR]: The binary patch set is missing. Either you are in a development environment, or things are not going to work!
[14:55:57] [main/ERROR]: FML appears to be missing any signature data. This is not a good thing
[14:55:57] [main/INFO]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[14:55:57] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[14:55:57] [main/INFO]: Calling tweak class net.minecraftforge.gradle.tweakers.AccessTransformerTweaker
[14:55:57] [main/INFO]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[14:55:57] [main/INFO]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[14:55:57] [main/INFO]: Launching wrapped minecraft {net.minecraft.client.main.Main}
[14:55:58] [Client thread/INFO]: Setting user: Player533
[14:56:01] [Client thread/INFO]: LWJGL Version: 2.9.1
[14:56:02] [Client thread/INFO]: Attempting early MinecraftForge initialization
[14:56:02] [Client thread/INFO]: MinecraftForge v11.14.1.1334 Initialized
[14:56:02] [Client thread/INFO]: Replaced 204 ore recipies
[14:56:02] [Client thread/INFO]: Completed early MinecraftForge initialization
[14:56:02] [Client thread/INFO]: Searching C:\Users\ResaloliPT\Desktop\Programming\Java\Minecraft\MCP\eclipse\mods for mods
[14:56:03] [Client thread/INFO]: Forge Mod Loader has identified 4 mods to load
[14:56:04] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at CLIENT
[14:56:04] [Client thread/INFO]: Attempting connection with missing mods [mcp, FML, Forge, extrasinminecraft] at SERVER
[14:56:04] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[14:56:04] [Client thread/INFO]: Processing ObjectHolder annotations
[14:56:04] [Client thread/INFO]: Found 384 ObjectHolder annotations
[14:56:04] [Client thread/INFO]: Configured a dormant chunk cache size of 0
[14:56:04] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:preInit:69]: PreIniting EIM
[14:56:04] [Client thread/INFO]: Applying holder lookups
[14:56:04] [Client thread/INFO]: Holder lookups applied
[14:56:05] [sound Library Loader/INFO]: Starting up SoundSystem...
[14:56:05] [Thread-7/INFO]: Initializing LWJGL OpenAL
[14:56:05] [Thread-7/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[14:56:05] [Thread-7/INFO]: OpenAL initialized.
[14:56:05] [sound Library Loader/INFO]: Sound engine started
[14:56:08] [Client thread/INFO]: Created: 512x512 textures-atlas
[14:56:09] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:initialize:78]: Initing EIM
[14:56:09] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:postInit:87]: PostIniting EIM
[14:56:09] [Client thread/INFO]: [com.resaloli.eim.ExtrasInMinecraft:postInit:90]: Extras In Minecraft Ready to launch!!
[14:56:10] [Client thread/INFO]: Forge Mod Loader has successfully loaded 4 mods
[14:56:10] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Extras In Minecraft
[14:56:10] [Client thread/INFO]: SoundSystem shutting down...
[14:56:10] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
[14:56:10] [sound Library Loader/INFO]: Starting up SoundSystem...
[14:56:10] [Thread-9/INFO]: Initializing LWJGL OpenAL
[14:56:10] [Thread-9/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
[14:56:10] [Thread-9/INFO]: OpenAL initialized.
[14:56:10] [sound Library Loader/INFO]: Sound engine started
[14:56:12] [Client thread/INFO]: Created: 512x512 textures-atlas
[14:56:17] [server thread/INFO]: Starting integrated minecraft server version 1.8
[14:56:17] [server thread/INFO]: Generating keypair
[14:56:17] [server thread/INFO]: Injecting existing block and item data into this server instance
[14:56:17] [server thread/INFO]: Applying holder lookups
[14:56:17] [server thread/INFO]: Holder lookups applied
[14:56:17] [server thread/INFO]: Loading dimension 0 (Teste) (net.minecraft.server.integrated.IntegratedServer@1c91a6d6)
[14:56:17] [server thread/INFO]: Loading dimension 1 (Teste) (net.minecraft.server.integrated.IntegratedServer@1c91a6d6)
[14:56:17] [server thread/INFO]: Loading dimension -1 (Teste) (net.minecraft.server.integrated.IntegratedServer@1c91a6d6)
[14:56:17] [server thread/INFO]: Preparing start region for level 0
[14:56:19] [server thread/INFO]: Changing view distance to 12, from 10
[14:56:19] [Netty Local Client IO #0/INFO]: Server protocol version 1
[14:56:19] [Netty Server IO #1/INFO]: Client protocol version 1
[14:56:19] [Netty Server IO #1/INFO]: Client attempting to join with 4 mods : FML@8.0.37.1334,extrasinminecraft@0.1,Forge@11.14.1.1334,mcp@9.05
[14:56:19] [server thread/INFO]: [server thread] Server side modded connection established
[14:56:19] [Netty Local Client IO #0/INFO]: [Netty Local Client IO #0] Client side modded connection established
[14:56:19] [server thread/INFO]: Player533[local:E:1c745216] logged in with entity id 151 at (1246.3422991503917, 4.0, 1150.8359757351363)
[14:56:19] [server thread/INFO]: Player533 joined the game
//when right click
[14:56:24] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.ExceptionInInitializerError
at com.resaloli.eim.content.container.ContainerdualCraftingTable.onCraftMatrixChanged(ContainerdualCraftingTable.java:81) ~[ContainerdualCraftingTable.class:?]
at com.resaloli.eim.content.container.ContainerdualCraftingTable.<init>(ContainerdualCraftingTable.java:42) ~[ContainerdualCraftingTable.class:?]
at com.resaloli.eim.content.gui.GUIHandler.getServerGuiElement(GUIHandler.java:24) ~[GUIHandler.class:?]
at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:242) ~[NetworkRegistry.class:?]
at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:79) ~[FMLNetworkHandler.class:?]
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2293) ~[EntityPlayer.class:?]
at com.resaloli.eim.content.blocks.dualCraftingTable.onBlockActivated(dualCraftingTable.java:58) ~[dualCraftingTable.class:?]
at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:434) ~[itemInWorldManager.class:?]
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:595) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:59) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:10) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
Caused by: java.lang.NullPointerException
at com.resaloli.eim.content.crafting.CraftingManagerdualCraftingTable.<init>(CraftingManagerdualCraftingTable.java:36) ~[CraftingManagerdualCraftingTable.class:?]
at com.resaloli.eim.content.crafting.CraftingManagerdualCraftingTable.<clinit>(CraftingManagerdualCraftingTable.java:26) ~[CraftingManagerdualCraftingTable.class:?]
at com.resaloli.eim.content.container.ContainerdualCraftingTable.onCraftMatrixChanged(ContainerdualCraftingTable.java:81) ~[ContainerdualCraftingTable.class:?]
at com.resaloli.eim.content.container.ContainerdualCraftingTable.<init>(ContainerdualCraftingTable.java:42) ~[ContainerdualCraftingTable.class:?]
at com.resaloli.eim.content.gui.GUIHandler.getServerGuiElement(GUIHandler.java:24) ~[GUIHandler.class:?]
at net.minecraftforge.fml.common.network.NetworkRegistry.getRemoteGuiContainer(NetworkRegistry.java:242) ~[NetworkRegistry.class:?]
at net.minecraftforge.fml.common.network.internal.FMLNetworkHandler.openGui(FMLNetworkHandler.java:79) ~[FMLNetworkHandler.class:?]
at net.minecraft.entity.player.EntityPlayer.openGui(EntityPlayer.java:2293) ~[EntityPlayer.class:?]
at com.resaloli.eim.content.blocks.dualCraftingTable.onBlockActivated(dualCraftingTable.java:58) ~[dualCraftingTable.class:?]
at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:434) ~[itemInWorldManager.class:?]
at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:595) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:59) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(SourceFile:10) ~[C08PacketPlayerBlockPlacement.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
//result slot
[14:56:27] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 0
//start of crafting grid
[14:56:28] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 1
//end of crafting grid
[14:56:30] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 25
//start inventory
[14:56:31] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 26
//end of inventory
[14:56:33] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 52
[14:56:33] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 52, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 52, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 52, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
//start of hotbar
[14:56:34] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 53
[14:56:34] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 53, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 53, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 53, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
//end of hotbar
[14:56:36] [Client thread/INFO]: [com.resaloli.eim.content.container.ContainerdualCraftingTable:slotClick:57]: SlotN: 61
[14:56:36] [server thread/FATAL]: Exception caught executing FutureTask: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 61, Size: 45
java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: 61, Size: 45
at java.util.concurrent.FutureTask.report(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:710) [FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:655) [MinecraftServer.class:?]
at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:598) [MinecraftServer.class:?]
at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:164) [integratedServer.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:478) [MinecraftServer.class:?]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_45]
Caused by: java.lang.IndexOutOfBoundsException: Index: 61, Size: 45
at java.util.ArrayList.rangeCheck(Unknown Source) ~[?:1.8.0_45]
at java.util.ArrayList.get(Unknown Source) ~[?:1.8.0_45]
at net.minecraft.inventory.Container.slotClick(Container.java:281) ~[Container.class:?]
at net.minecraft.network.NetHandlerPlayServer.processClickWindow(NetHandlerPlayServer.java:978) ~[NetHandlerPlayServer.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:31) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.play.client.C0EPacketClickWindow.processPacket(SourceFile:9) ~[C0EPacketClickWindow.class:?]
at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13) ~[PacketThreadUtil$1.class:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) ~[?:1.8.0_45]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[?:1.8.0_45]
at net.minecraftforge.fml.common.FMLCommonHandler.callFuture(FMLCommonHandler.java:709) ~[FMLCommonHandler.class:?]
... 5 more
[14:56:38] [server thread/INFO]: Saving and pausing game...
[14:56:38] [server thread/INFO]: Saving chunks for level 'Teste'/Overworld
[14:56:38] [server thread/INFO]: Saving chunks for level 'Teste'/Nether
[14:56:38] [server thread/INFO]: Saving chunks for level 'Teste'/The End
[14:56:39] [server thread/INFO]: Stopping server
[14:56:39] [server thread/INFO]: Saving players
[14:56:39] [server thread/INFO]: Saving worlds
[14:56:39] [server thread/INFO]: Saving chunks for level 'Teste'/Overworld
[14:56:39] [server thread/INFO]: Saving chunks for level 'Teste'/Nether
[14:56:39] [server thread/INFO]: Saving chunks for level 'Teste'/The End
[14:56:39] [server thread/INFO]: Unloading dimension 0
[14:56:39] [server thread/INFO]: Unloading dimension -1
[14:56:39] [server thread/INFO]: Unloading dimension 1
[14:56:39] [server thread/INFO]: Applying holder lookups
[14:56:39] [server thread/INFO]: Holder lookups applied
[14:56:40] [Client thread/INFO]: Stopping!
[14:56:40] [Client thread/INFO]: SoundSystem shutting down...
[14:56:41] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
Java HotSpot(TM) 64-Bit Server VM warning: Using incremental CMS is deprecated and will likely be removed in a future release

 

 

Added DCTSlot and DCTCrafting Classes

Link to comment
Share on other sites

In the crashlog is an nullpointException. See where its pointing at and try to figure out why something is null. Otherwise, could you post the line where its pointing at, so I can try.

 

at com.resaloli.eim.content.crafting.CraftingManagerdualCraftingTable.<init>(CraftingManagerdualCraftingTable.java:36) ~[CraftingManagerdualCraftingTable.class:?] > recipes.addAll(CraftingManager.getInstance().getRecipeList());

 

at com.resaloli.eim.content.crafting.CraftingManagerdualCraftingTable.<clinit>(CraftingManagerdualCraftingTable.java:26) ~[CraftingManagerdualCraftingTable.class:?] > private static final CraftingManagerdualCraftingTable instance = new CraftingManagerdualCraftingTable();

 

when using debug + breakpoint i see that instance = null

 

maybe i need to register it on registry? if thats the case how its done?

there where a couple of changes to 1.8 that removed the old registry of craftingmanager if im not wrong

 

+ when droping 1 item to teh grid all the grid slots copies the item and when removing 1 it also makes all items disapear that must mean all the grid slots has the same ID but that is not true...

Link to comment
Share on other sites

:D, I can read which line it mentioning. Could you post how that line looks like. E.g. could you post that part of the code? Besides, what instance is null?

 

I dont think you need to register a craftingManager Class itself, but I would like to see how you register a recipe.

 

About the slotProblem, have you updated the container Class? If so, than you're not using your custom slots yet. And the Id shouldn't be the same indeed.

 

Ps. Your tileEntityClass is an Container Class. I think you accidentialy uploaded the wrong Class.

Projects:

Discontinued:

- N2ConfigAPI

- Meachanical Crafting Table

 

Latest:

- CollectionUtils

 

Coöperations:

- InGameConfigManager

Link to comment
Share on other sites

Join the conversation

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

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

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

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

×   Your previous content has been restored.   Clear editor

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

Announcements



×
×
  • Create New...

Important Information

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