Posted March 20, 20205 yr I have my own custom gui which is called when a player hits a block. For my testing purposes, it renders any time a player hits a block, but will be later refined to any time a fluid tank is hit with an held fluid tank item. As such, I think I can guarantee that the player will be hitting a TileEntity when the Gui is rendered (if this is relevant to rendering the block). When the Gui is constructed, I pass it the block's position. Inside the gui, I would like to render the block, but I'm afraid I don't really know how. I see the methods for rendering an ItemStack into the gui, but I'm not sure if you can even get the ItemStack from a placed block. Preferably, I would like to also render the block's tooltip (as if were an item) over the rendered image, but the method for rendering tooltips also needs an ItemStack. Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
March 21, 20205 yr Author After further testing, I can get the ItemStack of a block from BlockState#getBlock().getPickBlock(). This leads to some side effects, such as the cauldron rendering as its item form, and certain modded blocks which don't override getPickBlock() correctly may return an empty ItemStack. However, this is good enough for my use case. Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
March 21, 20205 yr For future endeavors, you might want to get the BlockState of whatever block you are trying to use. From there, instead of using ItemRenderer, you should use BlockRendererDispatcher and figure out which method best suits what you are trying to do. I'm not necessarily sure if this will work, but it never hurts to try.
March 21, 20205 yr Author Sorry if I seem incompetent, but how would I use BlockRendererDispatcher? I understand how to get a block's blockstate, but the BRD class (for short) doesn't give my any methods I can use in the render method for the gui (unless I'm blind), and I can't get a BRD from the blockstate (or at least I think I can't due to my limited testing). Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
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.