Jump to content

Recommended Posts

Posted

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

Posted

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

Posted

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..?

Posted

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);
}

Posted

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

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • Yep I did upgrade just because it showed me a new version available.  I'll redownload the mod list and make sure anything works.  Thanks!
    • The latest log was taken down by pastebin for some reason. Did you try removing the mods you added? The mods you updated, was there a specific reason you updated, or just because? It's possible the updates introduced incompatibilitie, or even need a newer build of forge. If you didn't need the updates for a specific reason, you could also try downgrading those mods.
    • Please read the FAQ, and post logs as described there. https://forums.minecraftforge.net/topic/125488-rules-and-frequently-asked-questions-faq/
    • I am using forge 1.20.1 (version 47.3.0). My pc has an RTX 4080 super and an i9 14900 KF, I am on the latest Nvidia graphics driver, latest windows 10 software, I have java 23, forge 1.12.2 works and so does all vanilla versions but for some reason no version of forge 1.20.1 works and instead the game just crashes with the error code "-1." I have no mods in my mods fodler, I have deleted my options.txt and forge.cfg files in case my settings were causing a crash and have tried removing my forge version from the installations folder and reinstalling but no matter what I still crash with the same code and my log doesn't tell me anything: 18:34:53.924 game 2025-02-06 18:34:53,914 main WARN Advanced terminal features are not available in this environment 18:34:54.023 game [18:34:54] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher running: args [--username, mrmirchi, --version, 1.20.1-forge-47.3.0, --gameDir, C:\Users\aryam\AppData\Roaming\.minecraft, --assetsDir, C:\Users\aryam\AppData\Roaming\.minecraft\assets, --assetIndex, 5, --uuid, 2db00ea8d678420a8956109a85d90e9d, --accessToken, ????????, --clientId, ZWI3NThkNzMtNmNlZS00MGI5LTgyZTgtYmZkNzcwMTM5MGMx, --xuid, 2535436222989555, --userType, msa, --versionType, release, --quickPlayPath, C:\Users\aryam\AppData\Roaming\.minecraft\quickPlay\java\1738838092785.json, --launchTarget, forgeclient, --fml.forgeVersion, 47.3.0, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412] 18:34:54.027 game [18:34:54] [main/INFO] [cp.mo.mo.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.8 by Microsoft; OS Windows 10 arch amd64 version 10.0 18:34:54.132 game [18:34:54] [main/INFO] [ne.mi.fm.lo.ImmediateWindowHandler/]: Loading ImmediateWindowProvider fmlearlywindow 18:34:54.191 game [18:34:54] [main/INFO] [EARLYDISPLAY/]: Trying GL version 4.6 18:34:54.303 game [18:34:54] [main/INFO] [EARLYDISPLAY/]: Requested GL version 4.6 got version 4.6 18:34:54.367 monitor Process Monitor Process crashed with exit code -1     screenshot of log: https://drive.google.com/file/d/1WdkH88H865XErvmIqAKjlg7yrmj8EYy7/view?usp=sharing
    • I am currently working on a big mod, but I'm having trouble with my tabs, I want to find a way to add tabs inside tabs, like how in mrcrayfishes furniture mod, his furniture tab has multiple other sub tabs to them, so i know it is possible but i just don't know how it is possible, any help would be appreciated, thanks
  • Topics

×
×
  • Create New...

Important Information

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