From 6ca0b4d2b5774c0d3699ce12c705490b2c911460 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 27 Nov 2020 20:13:59 +0100 Subject: [PATCH] memepack release --- src/main/java/assets/hbm/lang/de_DE.lang | 13 ++ src/main/java/assets/hbm/lang/en_US.lang | 13 ++ .../hbm/textures/blocks/hadron_analysis.png | Bin 0 -> 375 bytes .../textures/blocks/hadron_analysis_glass.png | Bin 0 -> 352 bytes src/main/java/com/hbm/blocks/ModBlocks.java | 8 +- src/main/java/com/hbm/handler/ArmorUtil.java | 5 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/armor/ArmorFSB.java | 42 ++-- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../com/hbm/main/ModEventHandlerClient.java | 106 +++------- .../com/hbm/render/util/RenderDecoItem.java | 45 ++--- .../com/hbm/render/util/RenderOverhead.java | 187 ++++++++++++++++++ 12 files changed, 305 insertions(+), 119 deletions(-) create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_analysis.png create mode 100644 src/main/java/assets/hbm/textures/blocks/hadron_analysis_glass.png create mode 100644 src/main/java/com/hbm/render/util/RenderOverhead.java diff --git a/src/main/java/assets/hbm/lang/de_DE.lang b/src/main/java/assets/hbm/lang/de_DE.lang index 812cb3471..db9b9c6fa 100644 --- a/src/main/java/assets/hbm/lang/de_DE.lang +++ b/src/main/java/assets/hbm/lang/de_DE.lang @@ -2187,6 +2187,19 @@ tile.glass_trinitite.name=Trinity-Glas tile.glass_uranium.name=Uranglas tile.gravel_diamond.name=Diamantkies tile.gravel_obsidian.name=Gebrochener Obsidian +tile.hadron_analysis.name=Partikelbeschleuniger-Analysekammernwand +tile.hadron_analysis.name=Partikelbeschleuniger-Analysekammernfenster +tile.hadron_coil_alloy.name=Dichte Supraleiterspule +tile.hadron_coil_schrabidium.name=Dichte Schrabidiumspule +tile.hadron_coil_starmetal.name=Dichte Sternenmetallspule +tile.hadron_diode.name=Schottky-Partikeldiode +tile.hadron_plating.name=Partikelbeschleuniger-Außenwand +tile.hadron_plating_black.name=Partikelbeschleuniger-Außenwand (Schwarz) +tile.hadron_plating_blue.name=Partikelbeschleuniger-Außenwand (Blau) +tile.hadron_plating_glass.name=Partikelbeschleuniger-Außenwand (Fenster) +tile.hadron_plating_striped.name=Partikelbeschleuniger-Außenwand (Coole Gefahrenstreifen) +tile.hadron_plating_voltz.name=Partikelbeschleuniger-Außenwand (VOLTZ) +tile.hadron_plating_yellow.name=Partikelbeschleuniger-Außenwand (Gelb) tile.hazmat.name=Strahlenschutzstoff-Block tile.iter.name=Kernfusionsreaktor tile.launch_pad.name=Raketenabschussrampe diff --git a/src/main/java/assets/hbm/lang/en_US.lang b/src/main/java/assets/hbm/lang/en_US.lang index 29fa13572..da2794401 100644 --- a/src/main/java/assets/hbm/lang/en_US.lang +++ b/src/main/java/assets/hbm/lang/en_US.lang @@ -2187,6 +2187,19 @@ tile.glass_trinitite.name=Trinity Glass tile.glass_uranium.name=Uranium Glass tile.gravel_diamond.name=Diamond Gravel tile.gravel_obsidian.name=Crushed Obsidian +tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall +tile.hadron_analysis_glass.name=Particle Accelerator Analysis Chamber Window +tile.hadron_coil_alloy.name=Dense Super Conducting Coil +tile.hadron_coil_schrabidium.name=Dense Schrabidic Coil +tile.hadron_coil_starmetal.name=Dense Starmetal Coil +tile.hadron_diode.name=Schottky Particle Diode +tile.hadron_plating.name=Particle Accelerator Plating +tile.hadron_plating_black.name=Particle Accelerator Plating (Black) +tile.hadron_plating_blue.name=Particle Accelerator Plating (Blue) +tile.hadron_plating_glass.name=Particle Accelerator Plating (Window) +tile.hadron_plating_striped.name=Particle Accelerator Plating (Cool Hazard Stripes) +tile.hadron_plating_voltz.name=Particle Accelerator Plating (VOLTZ) +tile.hadron_plating_yellow.name=Particle Accelerator Plating (Yellow) tile.hazmat.name=Hazmat Cloth Block tile.iter.name=Fusion Reactor tile.launch_pad.name=Missile Launch Pad diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_analysis.png b/src/main/java/assets/hbm/textures/blocks/hadron_analysis.png new file mode 100644 index 0000000000000000000000000000000000000000..58e01b02c101323f48e13950bea28b1989d18dcd GIT binary patch literal 375 zcmV--0f_#IP)DCYEk`O|cKp{f|pIX*4a^K<%%({NjWI8n zwHDJffmFFH%T0rxTB$fQqbLfD&aDFJ27cqLm8GO~&hN;V%LP?cZN##4MbkOIbME^-Mt9C(Sr+U<2w@lo zSZg=rX92}EdY;%r5!X|jbyVt_V&3~T!To*@(=@$&j=HDV^Ad>&egNV# Vg?R9tKcoNv002ovPDHLkV1lyrpK1UA literal 0 HcmV?d00001 diff --git a/src/main/java/assets/hbm/textures/blocks/hadron_analysis_glass.png b/src/main/java/assets/hbm/textures/blocks/hadron_analysis_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..afe1d0b13c4134cca7ca6fad31685a030bdc1931 GIT binary patch literal 352 zcmV-m0iXVfP)qN9L<9f`A%K_}^E`u@;l2O3R1CfMC#`K;EXx8a&Ry5J zoU>L{y!W>Z zes%B&@f)DkA0b`=w5B4mGqAgD`w*V);@^C#@`xJ^uk#=JGb-c{i>A0000 next release version diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 878a91983..e7fbbe965 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -27,6 +27,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations.Animation; import com.hbm.render.util.RenderAccessoryUtility; +import com.hbm.render.util.RenderOverhead; import com.hbm.render.util.RenderScreenOverlay; import com.hbm.render.util.SoyuzPronter; import com.hbm.sound.MovingSoundChopper; @@ -52,6 +53,7 @@ import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.boss.IBossDisplayData; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.item.EntityXPOrb; @@ -69,6 +71,7 @@ import net.minecraft.util.Vec3; import net.minecraftforge.client.event.MouseEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent.ElementType; +import net.minecraftforge.client.event.RenderLivingEvent; import net.minecraftforge.client.event.RenderPlayerEvent; import net.minecraftforge.client.event.RenderWorldLastEvent; import net.minecraftforge.client.event.TextureStitchEvent; @@ -386,94 +389,37 @@ public class ModEventHandlerClient { ArmorFSB chestplate = (ArmorFSB)plate.getItem(); if(chestplate.thermal) - renderThermalSight(event.partialTicks); + RenderOverhead.renderThermalSight(event.partialTicks); } } - public void renderThermalSight(float partialTicks) { + @SubscribeEvent + public void preRenderEvent(RenderLivingEvent.Pre event) { EntityPlayer player = Minecraft.getMinecraft().thePlayer; - double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; - double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; - double z = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; - - GL11.glPushMatrix(); - GL11.glDisable(GL11.GL_COLOR_MATERIAL); - GL11.glDisable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_POINT_SMOOTH); - GL11.glEnable(GL11.GL_BLEND); - GL11.glDisable(GL11.GL_DEPTH_TEST); - GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); - Tessellator tess = Tessellator.instance; - tess.startDrawing(GL11.GL_LINES); - - for(Object o : player.worldObj.loadedEntityList) { + if(ArmorFSB.hasFSBArmor(player)) { + ItemStack plate = player.inventory.armorInventory[2]; + ArmorFSB chestplate = (ArmorFSB)plate.getItem(); - Entity ent = (Entity) o; - - if(ent == player) - continue; - - if(ent.getDistanceSqToEntity(player) > 4096) - continue; - - if(ent instanceof IBossDisplayData) - tess.setColorOpaque_F(1F, 0.5F, 0F); - else if(ent instanceof EntityMob) - tess.setColorOpaque_F(1F, 0F, 0F); - else if(ent instanceof EntityPlayer) - tess.setColorOpaque_F(1F, 0F, 1F); - else if(ent instanceof EntityLiving) - tess.setColorOpaque_F(0F, 1F, 0F); - else if(ent instanceof EntityItem) - tess.setColorOpaque_F(1F, 1F, 0.5F); - else if(ent instanceof EntityXPOrb) { - if(player.ticksExisted % 10 < 5) - tess.setColorOpaque_F(1F, 1F, 0.5F); - else - tess.setColorOpaque_F(0.5F, 1F, 0.5F); - } else - continue; - - AxisAlignedBB bb = ent.boundingBox; - tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); - tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); - tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); - tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + if(chestplate.vats) { + + int count = (int)Math.min(event.entity.getMaxHealth(), 100); + + int bars = (int)Math.ceil(event.entity.getHealth() * count / event.entity.getMaxHealth()); + + String bar = EnumChatFormatting.RED + ""; + + for(int i = 0; i < count; i++) { + + if(i == bars) + bar += EnumChatFormatting.RESET + ""; + + bar += "|"; + } + RenderOverhead.renderTag(event.entity, event.x, event.y, event.z, event.renderer, bar, chestplate.thermal); + } } - - tess.draw(); - - tess.setColorOpaque_F(1F, 1F, 1F); - - GL11.glEnable(GL11.GL_COLOR_MATERIAL); - GL11.glEnable(GL11.GL_TEXTURE_2D); - GL11.glDisable(GL11.GL_POINT_SMOOTH); - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_DEPTH_TEST); - GL11.glPopMatrix(); } public static IIcon particleBase; diff --git a/src/main/java/com/hbm/render/util/RenderDecoItem.java b/src/main/java/com/hbm/render/util/RenderDecoItem.java index 472e21b90..bfca8e9ff 100644 --- a/src/main/java/com/hbm/render/util/RenderDecoItem.java +++ b/src/main/java/com/hbm/render/util/RenderDecoItem.java @@ -4,30 +4,31 @@ import net.minecraft.client.renderer.entity.RenderItem; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.item.ItemStack; - public class RenderDecoItem extends RenderItem { - public RenderDecoItem(TileEntitySpecialRenderer render) {} +/** + * For small items as part of a TESR, e.g. items in a press + * @author hbm + */ +public class RenderDecoItem extends RenderItem { + public RenderDecoItem(TileEntitySpecialRenderer render) { + } - @Override - public byte getMiniBlockCount(ItemStack stack, byte original) - { - return 1; - } + @Override + public byte getMiniBlockCount(ItemStack stack, byte original) { + return 1; + } - @Override - public byte getMiniItemCount(ItemStack stack, byte original) - { - return 1; - } + @Override + public byte getMiniItemCount(ItemStack stack, byte original) { + return 1; + } - @Override - public boolean shouldBob() - { - return false; - } + @Override + public boolean shouldBob() { + return false; + } - @Override - public boolean shouldSpreadItems() - { - return false; - } + @Override + public boolean shouldSpreadItems() { + return false; + } } diff --git a/src/main/java/com/hbm/render/util/RenderOverhead.java b/src/main/java/com/hbm/render/util/RenderOverhead.java new file mode 100644 index 000000000..26055d3ae --- /dev/null +++ b/src/main/java/com/hbm/render/util/RenderOverhead.java @@ -0,0 +1,187 @@ +package com.hbm.render.util; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.entity.RenderManager; +import net.minecraft.client.renderer.entity.RendererLivingEntity; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.boss.IBossDisplayData; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.entity.item.EntityXPOrb; +import net.minecraft.entity.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.AxisAlignedBB; + +public class RenderOverhead { + + public static void renderTag(EntityLivingBase living, double x, double y, double z, RendererLivingEntity renderer, String name, boolean depthTest) { + + EntityPlayer thePlayer = Minecraft.getMinecraft().thePlayer; + + GL11.glAlphaFunc(GL11.GL_GREATER, 0.1F); + + if(shouldRenderTag(living)) { + float f = 1.6F; + double distSq = living.getDistanceSqToEntity(thePlayer); + float range = living.isSneaking() ? renderer.NAME_TAG_RANGE_SNEAK : renderer.NAME_TAG_RANGE; + + if(distSq < (double) (range * range)) { + String s = name; + drawTagAware(living, x, y, z, name, depthTest); + } + } + } + + protected static boolean shouldRenderTag(EntityLivingBase p_110813_1_) { + return Minecraft.isGuiEnabled() && p_110813_1_ != RenderManager.instance.livingPlayer && !p_110813_1_.isInvisibleToPlayer(Minecraft.getMinecraft().thePlayer) && p_110813_1_.riddenByEntity == null; + } + + protected static void drawTagAware(EntityLivingBase entity, double x, double y, double z, String string, boolean depthTest) { + if(entity.isPlayerSleeping()) { + drawTag(entity, string, x, y - 1.5D, z, 64, depthTest); + } else { + drawTag(entity, string, x, y, z, 64, depthTest); + } + } + + protected static void drawTag(Entity entity, String name, double x, double y, double z, int dist, boolean depthTest) { + + double distsq = entity.getDistanceSqToEntity(RenderManager.instance.livingPlayer); + + if(distsq <= (double) (dist * dist)) { + FontRenderer fontrenderer = Minecraft.getMinecraft().fontRenderer; + float f = 1.6F; + float scale = 0.016666668F * f; + GL11.glPushMatrix(); + GL11.glTranslatef((float) x + 0.0F, (float) y + entity.height + 0.75F, (float) z); + GL11.glNormal3f(0.0F, 1.0F, 0.0F); + GL11.glRotatef(-RenderManager.instance.playerViewY, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(RenderManager.instance.playerViewX, 1.0F, 0.0F, 0.0F); + GL11.glScalef(-scale, -scale, scale); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glDepthMask(false); + if(depthTest) { + GL11.glDisable(GL11.GL_DEPTH_TEST); + } + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + Tessellator tessellator = Tessellator.instance; + byte heightOffset = 0; + + if(name.equals("deadmau5")) { + heightOffset = -10; + } + + GL11.glDisable(GL11.GL_TEXTURE_2D); + tessellator.startDrawingQuads(); + int center = fontrenderer.getStringWidth(name) / 2; + tessellator.setColorRGBA_F(0.0F, 0.0F, 0.0F, 0.25F); + tessellator.addVertex((double) (-center - 1), (double) (-1 + heightOffset), 0.0D); + tessellator.addVertex((double) (-center - 1), (double) (8 + heightOffset), 0.0D); + tessellator.addVertex((double) (center + 1), (double) (8 + heightOffset), 0.0D); + tessellator.addVertex((double) (center + 1), (double) (-1 + heightOffset), 0.0D); + tessellator.draw(); + GL11.glEnable(GL11.GL_TEXTURE_2D); + fontrenderer.drawString(name, -fontrenderer.getStringWidth(name) / 2, heightOffset, 553648127); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glDepthMask(true); + fontrenderer.drawString(name, -fontrenderer.getStringWidth(name) / 2, heightOffset, -1); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } + } + + public static void renderThermalSight(float partialTicks) { + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + double x = player.prevPosX + (player.posX - player.prevPosX) * partialTicks; + double y = player.prevPosY + (player.posY - player.prevPosY) * partialTicks; + double z = player.prevPosZ + (player.posZ - player.prevPosZ) * partialTicks; + + GL11.glPushMatrix(); + GL11.glDisable(GL11.GL_COLOR_MATERIAL); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_POINT_SMOOTH); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_DEPTH_TEST); + GL11.glBlendFunc(GL11.GL_SRC_ALPHA,GL11.GL_ONE_MINUS_SRC_ALPHA); + + Tessellator tess = Tessellator.instance; + tess.startDrawing(GL11.GL_LINES); + + for(Object o : player.worldObj.loadedEntityList) { + + Entity ent = (Entity) o; + + if(ent == player) + continue; + + if(ent.getDistanceSqToEntity(player) > 4096) + continue; + + if(ent instanceof IBossDisplayData) + tess.setColorOpaque_F(1F, 0.5F, 0F); + else if(ent instanceof EntityMob) + tess.setColorOpaque_F(1F, 0F, 0F); + else if(ent instanceof EntityPlayer) + tess.setColorOpaque_F(1F, 0F, 1F); + else if(ent instanceof EntityLiving) + tess.setColorOpaque_F(0F, 1F, 0F); + else if(ent instanceof EntityItem) + tess.setColorOpaque_F(1F, 1F, 0.5F); + else if(ent instanceof EntityXPOrb) { + if(player.ticksExisted % 10 < 5) + tess.setColorOpaque_F(1F, 1F, 0.5F); + else + tess.setColorOpaque_F(0.5F, 1F, 0.5F); + } else + continue; + + AxisAlignedBB bb = ent.boundingBox; + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.maxY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.maxX - x, bb.minY - y, bb.maxZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.minZ - z); + tess.addVertex(bb.minX - x, bb.minY - y, bb.maxZ - z); + } + + tess.draw(); + + tess.setColorOpaque_F(1F, 1F, 1F); + + GL11.glEnable(GL11.GL_COLOR_MATERIAL); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_POINT_SMOOTH); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_DEPTH_TEST); + GL11.glPopMatrix(); + } +}