Jump to content

Recommended Posts

Posted

I have a gui which uses one of two containers, depending on wether the player has the right item in thier inventory.  Everything works fine, except if I go back to the menu (without closing minecraft) and then go back into the world and try to open the gui.

 

LOOK AT THE BOTTOM OF THE PAGE FOR THE NEW PROBLEM!!!!!!

 

Error:

 

  Reveal hidden contents

 

 

Gui:

 

  Reveal hidden contents

 

 

Container 1 (no access):

 

  Reveal hidden contents

 

 

Container 2 (access):

 

 

  Reveal hidden contents

 

Posted

Update:

 

It seems to only be saving the key code on the server side, because when I use another item to read the server-side code, it comes out correct.  It would also explain the error since I would have different codes on different sides, and therefor the gui handeler would get out of sync.  I still don't know how to fix it though!

Posted

GUI handeler:

 

 

  Reveal hidden contents

 

 

Block (where I open the gui):

 

  Reveal hidden contents

 

 

TileEntity:

 

  Reveal hidden contents

 

 

My problem was that I would change the stack in the inventory, but I would only call onInventoryChanged() from the container (server side).  My tileEntity used onInventoryChanged() to update it's keyCode from it's inventory. 

 

I fixed that, but now my problem is that minecraft seems to only save/load tileentities from nbt on the server side, so when I try to use different containers for different tile entity values, only the server side one has the correct data.  That causes the guiHandeler to return different things on the server side than the client side. 

 

What I need, is a way to either update the client tile entity to have the same data as the server-side one, or access the server tileentity from getClientGuiElement().

Posted

I think I might be able to send an event with a boolean value, catch it on the server-side, set the boolean to the correct value, and then use that value in the getClientGuiElement().

Posted

I did that, but like I said, the problem is that I have to determine which container to open on the client and server side, but minecraft only saves tileEntity data on the server side, so I get different containers, and therefor different amounts of slots, on the client and server sides.  I tried sending an event with a boolean data menber and seting it to the right value only if the world is server side, but that's not working.

 

If anyone has a different way to conditionally display a slot, that is all I am trying to do!

Posted

OK.  In the block, I used different gui IDs to specify wether I want the slot open or closed, and that worked, but I still need the client and server tile entities to sync. 

Example:

                The server keyCode is correct, but the client one gets reset every time.  I need either a way to sync the tile entities, or a way to access the server tile entity from the client side.

 

When I put a different keystone in, both the client and server codes update, but if I use Save And Quit To Title, when I come back, the client code has been reset!

 

Posted

I'm trying that.  What happens, is that to find destinations, my tile entity searches through the world's loaded tile entities and returns the ones with the same key code.  When it does this on the client side, it adds every one of my tile entities, since for some reason the key code is not saved on the client side.

 

I am using this from the furnace:

 

  Reveal hidden contents

 

 

This doen't work, it just gives the player an item.

Posted

Let me restate the promlem:

 

 

My tile entity doesn't save it's key code on the client side, so when my client side container searches for destinations (others of my tile entities) it returns everything (all their codes were not saved), but when my server side container searches for destinations, it only returns the tile entities with the correct code.  I either need to sync the codes accross client and server when the tile entities are loaded, or give the client side container the correct data.

 

If I could get the data to save on the client side too, that would work.  Is it suposed to save?

Posted

Yes, but I tried useing some of those to send the key code, but it wouldn't work.  Also, those are all client to server not server to client.  Is there a build in TileEntity method for this? (I was thinking maby receiveClientEvent() or getDescriptionPacket() or onDataPacket())

Posted

Sorry, I'm in 1.6.4.  And I looked at the tutorials on the old wiki.  When Intried to start a dedicated server to test it, I got this crash:

 

Crash:

 

  Reveal hidden contents

 

 

For 1.6.4, I want to send a packet with the right key code from the server to the client, so would I use NetworkHandeler.sendPacketToPlayer(Minecraft.getMinecraft().thePlayer) or NetworkHandeler.sendPacketToAllAround() or NetworkHandeler.sendPacketToAllPlayers() ?

Posted

Heres my code:

 

Packet handeler:

 

  Reveal hidden contents

 

 

TileEntity readFromNBT():

 

  Reveal hidden contents

 

 

getNBTPacket() and readNBTPacket():

 

  Reveal hidden contents

 

Posted

It still won't work though!!!

 

 

Update:  I added print statements, and I'm sending the packets, but I'm never recieveing them.  Does anyone know why?

 

Main mod class:

 

  Reveal hidden contents

 

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

    • I deleted delightful and all farmers delight addon (just in case) and still i have the error :'(, i need to check mod by mod?
    • I'm developing a Forge mod for Minecraft 1.16.5 to run on CatServer (version 1.16.5-1d8d6313, Forge 36.2.39). My mod needs to get the player's UUID from a ServerPlayerEntity object within a Forge ServerChatEvent handler. When I use serverPlayerEntity.getUUID(), my mod compiles fine, but I get a java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at runtime. I cannot use serverPlayerEntity.getUniqueID() as it causes a compile error (cannot find symbol). Is there a known issue with this on CatServer, or a recommended way for a Forge mod to reliably get a player's UUID from ServerPlayerEntity in this environment? My goal is to pass this UUID to the LuckPerms API (which is running as a Bukkit plugin and successfully connected via ServicesManager). erorr ChatMod: FMLServerStartedEvent received. Attempting to initialize LuckPerms connection... [22:45:20] [Server thread/INFO]: ⚙️ Початок ініціалізації LuckPerms API через Bukkit Services Manager... [22:45:20] [Server thread/INFO]: ✅ Bukkit ServicesManager успішно отримано. [22:45:20] [Server thread/INFO]: ✅ Реєстрацію сервісу LuckPerms знайдено. [22:45:20] [Server thread/INFO]: ✅ API LuckPerms успішно отримано від Bukkit plugin! [22:45:20] [Server thread/INFO]: Використовується реалізація: me.lucko.luckperms.common.api.LuckPermsApiProvider [22:45:20] [Server thread/INFO]: ✅ LuckPerms API схоже що успішно ініціалізовано через Bukkit Services Manager. [22:45:24] [User Authenticator #1/INFO]: UUID of player Hiklee is 92cd7721-2652-3867-896b-2ceba5b99306 [22:45:25] [Server thread/INFO]: Using new advancement loading for net.minecraft.advancements.PlayerAdvancements@24cb7a68 [22:45:26] [Server thread/INFO]: Hiklee[/127.0.0.1:41122] logged in with entity id 210 at (92.23203876864889, 95.6183020148442, 68.24087802017877) [22:45:28] [Async Chat Thread - #0/INFO]: ✅ Скасовано стандартне відправлення чату! [22:45:28] [Async Chat Thread - #0/ERROR]: Exception caught during firing event: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; Index: 1 Listeners: 0: NORMAL 1: ASM: class com.example.chatmod.ChatEventHandler onPlayerChat(Lnet/minecraftforge/event/ServerChatEvent;)V java.lang.NoSuchMethodError: net.minecraft.entity.player.ServerPlayerEntity.getUUID()Ljava/util/UUID; at com.example.chatmod.ChatPacketHandler.getPlayerPrefix(ChatPacketHandler.java:46) at com.example.chatmod.ChatEventHandler.onPlayerChat(ChatEventHandler.java:32) at net.minecraftforge.eventbus.ASMEventHandler_1_ChatEventHandler_onPlayerChat_ServerChatEvent.invoke(.dynamic) at net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:85) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:303) at net.minecraftforge.eventbus.EventBus.post(EventBus.java:283) at net.minecraftforge.common.ForgeHooks.onServerChatEvent(ForgeHooks.java:493) at net.minecraft.network.play.ServerPlayNetHandler.chat(ServerPlayNetHandler.java:1717) at net.minecraft.network.play.ServerPlayNetHandler.func_244548_c(ServerPlayNetHandler.java:1666) at net.minecraft.network.play.ServerPlayNetHandler.func_147354_a(ServerPlayNetHandler.java:1605) at net.minecraft.network.play.client.CChatMessagePacket.lambda$handle$0(CChatMessagePacket.java:34) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:750
    • Thank you so much for your help, I'll try it as soon as I can. I have a genuine question because I'm not familiar with the matter: Can a recipe error cause something as serious as the AMD error?
    • When i try to launch my modpack, the instance crashes and this is sent to the logs: Time: 2025-05-27 23:07:18 Description: Rendering overlay Below is the full log: https://mclo.gs/jP5G2EH
    • Make a test without delightful
  • Topics

×
×
  • Create New...

Important Information

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