Posted March 9, 20232 yr I created a kind of Block Entity like Sign which can display text. Now, I'm trying to create a new custom GUI screen for editing the text displayed on that block entity. I wish I could open this screen by right click that block, but I don't know how.
March 11, 20232 yr You need to create a class which extends from Screen and overrides init() and render(). Make sure you load the screen only on Dist.CLIENT! Common mistake with Screens is trying to reach across logical sides, like trying to access data which is only present on the logical server from the logical client. Any manipulation of data should be handled with packets. Eg. you edit the sign, and the input is then encoded and send to the server as NBT, then decoded on the server and saved into the BlockEntity, and lastly synchronized to each individual player, best case to prevent unneeded syncronization is to make your logical client only send a update request when rendering the BlockEntity. Because in a server scenario a player 1000 chunks away should probably not know about your sign and what it says, as they don't even see it. It really depends and what you want to achieve. Note that you might need to attach a Capability to store data on your BlockEntity. I hope this helps
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.