Posted July 17, 20214 yr Hello, I have been working on a custom tool. One of it's properties is that it has a temperature. I have this displayed in the item's tooltip, but I would also like to display it to the player's screen for ease of use. I was recommended to look into the RenderTooltipEvent, but I was unable to find anything in the event or it's sub classes that would actually enable me to accomplish this. Am I looking at the wrong event, or am I simply missing something. Thanks in advance!
July 17, 20214 yr Author Okay taking a look at that, that's more along the lines of what I need. However, I now have a problem in that I have no way of getting at the item in the player's inventory. What would I need to call in order to accomplish that?
July 17, 20214 yr Author Okay this is working perfectly. However, I get this cursed image when I run my code: I've tried calling different drawString variants, but to no avail. Here is the code I am using: @SuppressWarnings("resource") @SubscribeEvent public static void renderRailgunTooltip(RenderGameOverlayEvent event) { ItemStack gunStackMainHand = Minecraft.getInstance().player.getItemStackFromSlot(EquipmentSlotType.MAINHAND); ItemStack gunStackOffHand = Minecraft.getInstance().player.getItemStackFromSlot(EquipmentSlotType.OFFHAND); if(gunStackMainHand.getItem() instanceof AbstractRailgun) { renderHeatToolTip(event, gunStackMainHand); }else if(gunStackOffHand.getItem() instanceof AbstractRailgun) { renderHeatToolTip(event, gunStackOffHand); } } @SuppressWarnings("static-access") private static void renderHeatToolTip(RenderGameOverlayEvent event, ItemStack stack) { Minecraft minecraft = Minecraft.getInstance(); ItemElectric railgun = (ItemElectric)stack.getItem(); ITextComponent text = new StringTextComponent("Temperature: " + railgun.getTemperatureStored(stack) + " C").mergeStyle(TextFormatting.YELLOW); minecraft.currentScreen. drawString(event.getMatrixStack(), minecraft.fontRenderer, text, text.getString().length(),0,0); }
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.