_Bedrockbreaker_ Posted March 20, 2020 Posted March 20, 2020 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. Quote Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
_Bedrockbreaker_ Posted March 21, 2020 Author Posted March 21, 2020 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. Quote Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
ChampionAsh5357 Posted March 21, 2020 Posted March 21, 2020 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. Quote
_Bedrockbreaker_ Posted March 21, 2020 Author Posted March 21, 2020 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). Quote Professional Hot Garbage Programmer. https://github.com/Bedrockbreaker/
Recommended Posts
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.