From 1b820de08a05070909a267e17f033fcf58ac8710 Mon Sep 17 00:00:00 2001 From: NotAPenguin Date: Mon, 2 Sep 2024 23:17:17 +0200 Subject: The Great Renaming (#3014) * move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names --- .../renderer/ItemDimensionDisplayRenderer.java | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/main/java/gtneioreplugin/plugin/renderer/ItemDimensionDisplayRenderer.java (limited to 'src/main/java/gtneioreplugin/plugin/renderer') diff --git a/src/main/java/gtneioreplugin/plugin/renderer/ItemDimensionDisplayRenderer.java b/src/main/java/gtneioreplugin/plugin/renderer/ItemDimensionDisplayRenderer.java new file mode 100644 index 0000000000..547ad52951 --- /dev/null +++ b/src/main/java/gtneioreplugin/plugin/renderer/ItemDimensionDisplayRenderer.java @@ -0,0 +1,78 @@ +package gtneioreplugin.plugin.renderer; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.entity.RenderItem; +import net.minecraft.item.ItemStack; +import net.minecraftforge.client.IItemRenderer; + +import org.lwjgl.opengl.GL11; + +import gtneioreplugin.plugin.item.ItemDimensionDisplay; + +public class ItemDimensionDisplayRenderer implements IItemRenderer { + + private final RenderItem renderItem = new RenderItem(); + + @Override + public boolean handleRenderType(ItemStack item, ItemRenderType type) { + return type == ItemRenderType.INVENTORY; + } + + @Override + public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { + return false; + } + + // Renders the actual text on top of planet items. + @Override + public void renderItem(ItemRenderType type, ItemStack stack, Object... data) { + String dimension = ItemDimensionDisplay.getDimension(stack); + if (dimension == null) { + return; + } + + renderItem.renderItemIntoGUI( + Minecraft.getMinecraft().fontRenderer, + Minecraft.getMinecraft().renderEngine, + stack, + 0, + 0, + false); + + FontRenderer fontRender = Minecraft.getMinecraft().fontRenderer; + float smallTextScale = 3F / 4F; + + GL11.glPushMatrix(); + GL11.glTranslatef(0, 0, 300); + GL11.glScalef(smallTextScale, smallTextScale, 1.0f); + + long prefix = getPrefix(dimension); + String tooltipPrefix = prefix != -1 ? "T" + prefix : "INVALID. Please, report this to the GTNH team"; + + fontRender + .drawString(tooltipPrefix, 0, (int) (16 / smallTextScale) - fontRender.FONT_HEIGHT + 1, 0xFFFFFF, true); + + GL11.glPopMatrix(); + + GL11.glDisable(GL11.GL_ALPHA_TEST); + } + + // See DimensionHelper.DimNameDisplayed for real names of these. + public static long getPrefix(String dimName) { + return switch (dimName) { + case "Ow", "Ne", "TF", "ED", "VA", "EA" -> 0L; + case "Mo" -> 1L; + case "De", "Ma", "Ph" -> 2L; + case "As", "Ca", "Ce", "Eu", "Ga", "Rb" -> 3L; + case "Io", "Me", "Ve" -> 4L; + case "En", "Mi", "Ob", "Ti", "Ra" -> 5L; + case "Pr", "Tr" -> 6L; + case "Ha", "KB", "MM", "Pl" -> 7L; + case "BC", "BE", "BF", "CB", "TE", "VB" -> 8L; + case "An", "Ho", "Np", "Mh", "MB", "Se" -> 9L; + case "DD" -> 10L; + default -> -1L; + }; + } +} -- cgit