Posted January 3, 201312 yr I've got a trouble with GUI. My GUI class has a variable which links to the machine's TileEntity object, but all the fields inside this object are nullified after re-entering the world and as the result, GUI can't have the right data. I used debug and messages to find out that all the data in actual TileEntity object are loaded properly and that might be some kind of a desync problem between the server and client parts of the game. Also, there are some problems with item slots: the items placed inside dissapear from the slot, but when clicking on it again, they are being grabbed as if they were in the slot. I had similar problems when 1.3.1 came out and that was the reason I stopped further development of my mod. Here is the code of all the classes you might need. I count on your help. MainModClass: http://pastebin.com/0v8Qda1H ServerPacketHandler: http://pastebin.com/Tjscq5tE ClientPacketHandler: http://pastebin.com/UkFHyzih GUIHandler: http://pastebin.com/kuXGPXF6 GUIClass: http://pastebin.com/KyTBqp3U TileEntityClass: http://pastebin.com/iKHv730c BlockClass: http://pastebin.com/byrXsT8i ContainerClass: http://pastebin.com/DvY1s47D http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
January 4, 201312 yr check to make sure that you do not set all the data to 0 when you add block to world and if so do a if(i!=null)return 0 else return i Update your mod... many of the things become easier with new forge The Korecraft Mod
January 5, 201312 yr Author I am already using latest forge build (6.6.0.495) Just upgraded to latest latest build (6.6.0.497) Still not working at all... http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
January 5, 201312 yr Author Okay, I've decided to use custom packets to manually sync data between GUI and TileEntity, stored on server. In order to do this I need server world objectto get to the TileEntity I need. Could anyone help me? How do I get to the world object using static access or something..? http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
January 5, 201312 yr I had to search a longer time for a stabel way to get the world, this is what I found (wrapped in a method in my commonproxy): /** * Gets the current world. * @param dim int the dimension of the world * * @return World the current world */ public World getWorld(int dim) { return DimensionManager.getWorld(dim); }
January 5, 201312 yr Author And is there any way to get dimension ID for the worldObject? http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
January 5, 201312 yr Author thank you, that helperd a lot. i'll see what i can do with it http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
January 6, 201312 yr Author Allright. I solved the problem by rewriting Container class. When disconnecting from the world and logging in again my client apparently had no idea what data is stored in the TileEntity class, since it is stored on the server part. I looked at vanilla ContainerFurnace code and figured out that public void addCraftingToCrafters(ICrafting par1ICrafting) public void detectAndSendChanges() and public void updateProgressBar(int index, int value) are responsible for syncing the client and server GUI parts. I just implemented these methods in my container class and made them do all the syncing stuff properly and voila - everything is displaying correctly and client side has all the data it needs to display machine's GUI properly. That's my COntainer code now: http://pastebin.com/FKP4C0yN http://www.minecraftforum.net/topic/1871576-152-161forgealchemy-enhance-your-brewing-expirience-now-with-downloads/ Check it out!
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.