From 4f7ad220df0438b6f3382110577b53f29da46453 Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:50:07 -0400 Subject: Update of all changes --- .../block/render/BlockCrystalRenderer.java | 182 ++++++++++++++------- 1 file changed, 126 insertions(+), 56 deletions(-) mode change 100644 => 100755 src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java (limited to 'src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java') diff --git a/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java b/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java old mode 100644 new mode 100755 index a571927..a60c8cc --- a/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java +++ b/src/main/java/darkknight/jewelrycraft/block/render/BlockCrystalRenderer.java @@ -4,7 +4,9 @@ package darkknight.jewelrycraft.block.render; import java.util.Random; + import org.lwjgl.opengl.GL11; + import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,12 +26,14 @@ import net.minecraft.world.IBlockAccess; @SideOnly(Side.CLIENT) public class BlockCrystalRenderer implements ISimpleBlockRenderingHandler { @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + public void renderInventoryBlock(Block block, int metadata, + int modelID, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; GL11.glPushMatrix(); GL11.glDisable(GL11.GL_LIGHTING); tessellator.startDrawingQuads(); - if (metadata < 16) tessellator.setColorRGBA_I(((BlockCrystal) block).colors[metadata], 100); + if (metadata < 16) + tessellator.setColorRGBA_I(BlockCrystal.colors[metadata], 100); GL11.glTranslatef(-0.5f, -0.5f, -0.5f); this.renderWorldBlock(null, 0, 0, 0, block, modelID, renderer); tessellator.draw(); @@ -39,7 +43,8 @@ public class BlockCrystalRenderer implements ISimpleBlockRenderingHandler { } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + public boolean renderWorldBlock(IBlockAccess world, int x, int y, + int z, Block block, int modelId, RenderBlocks renderer) { int crystals = 5; Random rnd = new Random(); Tessellator tessellator = Tessellator.instance; @@ -49,84 +54,149 @@ public class BlockCrystalRenderer implements ISimpleBlockRenderingHandler { double umax = icon.getMaxU(); double vmax = icon.getMaxV(); tessellator.addTranslation(x, y, z); - if (world != null && world.getTileEntity(x, y, z) != null && ConfigHandler.CRYSTAL_GLOW) tessellator.setBrightness(((TileEntityCrystal) world.getTileEntity(x, y, z)).shine); - else tessellator.setBrightness(230); + if (world != null && world.getTileEntity(x, y, z) != null + && ConfigHandler.CRYSTAL_GLOW) + tessellator.setBrightness(((TileEntityCrystal) world + .getTileEntity(x, y, z)).shine); + else + tessellator.setBrightness(230); // 37435, 76464 - if (world != null) rnd.setSeed(2 * x * 3 * y * z * 5); - else rnd.setSeed(76464); - if (world != null && world.getBlockMetadata(x, y, z) < 16) tessellator.setColorRGBA_I(((BlockCrystal) block).colors[world.getBlockMetadata(x, y, z)], 100); - crystal(tessellator, umin, vmin, umax, vmax, 0.8D, 0.2D, 0D, 0D, 0D, 0.0D, 0.0D); + if (world != null) + rnd.setSeed(2 * x * 3 * y * z * 5); + else + rnd.setSeed(76464); + if (world != null && world.getBlockMetadata(x, y, z) < 16) + tessellator.setColorRGBA_I( + BlockCrystal.colors[world.getBlockMetadata(x, y, z)], + 100); + crystal(tessellator, umin, vmin, umax, vmax, 0.8D, 0.2D, 0D, 0D, + 0D, 0.0D, 0.0D); for (int i = 0; i < crystals; i++) { - double rotation = Math.PI * 2.0f / (float) crystals * (float) i; - double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat()) / 2f); - double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat()) / 2f); + double rotation = Math.PI * 2.0f / crystals * i; + double xp1 = + Math.sin(rotation) * ((0.15F + rnd.nextFloat()) / 2f); + double zp1 = + Math.cos(rotation) * ((0.15F + rnd.nextFloat()) / 2f); double height = 0.2f + rnd.nextFloat(); double topHeight = 0.1f + rnd.nextFloat() / 2f; - crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, -xp1, 0D, zp1, xp1, zp1); + crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, + -xp1, 0D, zp1, xp1, zp1); } if (world != null) { crystals = 4; for (int i = 0; i < crystals; i++) { - double rotation = Math.PI * 2F / (float) crystals * (float) i; - double xp1 = Math.sin(rotation) * ((0.15F + rnd.nextFloat()) / 2f); - double zp1 = Math.cos(rotation) * ((0.15F + rnd.nextFloat()) / 2f); + double rotation = Math.PI * 2F / crystals * i; + double xp1 = Math.sin(rotation) + * ((0.15F + rnd.nextFloat()) / 2f); + double zp1 = Math.cos(rotation) + * ((0.15F + rnd.nextFloat()) / 2f); double height = 0.1f + rnd.nextFloat(); double topHeight = 0.1f + rnd.nextFloat() / 2f; - float xOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat() / 2f); - float zOff = (rnd.nextFloat() * 1.5f - 0.5f) * (rnd.nextFloat() / 2f); - crystal(tessellator, umin, vmin, umax, vmax, height, topHeight, xOff, 0D, zOff, xp1, zp1); + float xOff = (rnd.nextFloat() * 1.5f - 0.5f) + * (rnd.nextFloat() / 2f); + float zOff = (rnd.nextFloat() * 1.5f - 0.5f) + * (rnd.nextFloat() / 2f); + crystal(tessellator, umin, vmin, umax, vmax, height, + topHeight, xOff, 0D, zOff, xp1, zp1); } } tessellator.addTranslation(-x, -y, -z); return true; } - private void crystal(Tessellator tessellator, double umin, double vmin, double umax, double vmax, double height, double topHeight, double posX, double posY, double posZ, double rotX, double rotZ) { + private static void crystal(Tessellator tessellator, double umin, + double vmin, double umax, double vmax, double height, + double topHeight, double posX, double posY, double posZ, + double rotX, double rotZ) { // Negative X - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umin, vmax); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umax, vmax); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umax, vmin); // Positive X - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umin, vmax); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umax, vmax); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umax, vmin); // Negative Z - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umin, vmax); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umax, vmax); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umax, vmin); // Positive Z - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umin, vmax); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umax, vmax); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umax, vmin); // Top -X - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, + vmax); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, + vmax); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umax, vmin); // Top +X - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, + vmax); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, + vmax); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umax, vmin); // Top +Z - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.6 + rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, + vmax); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, + vmax); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.6 + rotZ + posZ, umax, vmin); // Top -Z - tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, 0.4 + rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.4 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umin, + vmax); + tessellator.addVertexWithUV(0.5 - rotX - rotX + posX, + height + topHeight + posY, 0.5 + rotZ + rotZ + posZ, umax, + vmax); + tessellator.addVertexWithUV(0.6 - rotX + posX, height + posY, + 0.4 + rotZ + posZ, umax, vmin); // Bottom - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umin, vmin); - tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umin, vmax); - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.4 - rotZ + posZ, umax, vmax); - tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, 0.6 - rotZ + posZ, umax, vmin); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umin, vmin); + tessellator.addVertexWithUV(0.4 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umin, vmax); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.4 - rotZ + posZ, umax, vmax); + tessellator.addVertexWithUV(0.6 + rotX + posX, 0.0 + posY, + 0.6 - rotZ + posZ, umax, vmin); } @Override -- cgit v1.2.3