diff --git a/src/main/java/ganymedes01/etfuturum/blocks/BlockLavaCauldron.java b/src/main/java/ganymedes01/etfuturum/blocks/BlockLavaCauldron.java index 1bd91e2f6..c18cb3938 100644 --- a/src/main/java/ganymedes01/etfuturum/blocks/BlockLavaCauldron.java +++ b/src/main/java/ganymedes01/etfuturum/blocks/BlockLavaCauldron.java @@ -1,21 +1,21 @@ package ganymedes01.etfuturum.blocks; -import java.util.Random; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import ganymedes01.etfuturum.core.utils.Utils; -import ganymedes01.etfuturum.entities.EntityItemUninflammable; import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.BlockCauldron; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; import net.minecraft.util.DamageSource; import net.minecraft.util.IIcon; import net.minecraft.world.World; +import java.util.Random; + public class BlockLavaCauldron extends BlockCauldron { @SideOnly(Side.CLIENT) @@ -54,20 +54,14 @@ public boolean onBlockActivated(World p_149727_1_, int p_149727_2_, int p_149727 @Override public void onEntityCollidedWithBlock(World world, int x, int y, int z, Entity entity) { - boolean flag = (int)entity.prevPosX != (int)entity.posX || (int)entity.prevPosY != (int)entity.posY || (int)entity.prevPosZ != (int)entity.posZ; - - if ((flag || entity.ticksExisted % 25 == 0) && !(entity instanceof EntityItemUninflammable)) - { - entity.motionY = 0.20000000298023224D; - entity.motionX = (world.rand.nextFloat() - world.rand.nextFloat()) * 0.2F; - entity.motionZ = (world.rand.nextFloat() - world.rand.nextFloat()) * 0.2F; - entity.playSound("random.fizz", 0.4F, 2.0F + world.rand.nextFloat() * 0.4F); - } if (!world.isRemote) { - entity.attackEntityFrom(DamageSource.lava, 4.0F); - if(!entity.isImmuneToFire() && !(world.canBlockSeeTheSky(x, y + 1, z) && world.isRaining())) { + if (!entity.isImmuneToFire() && !(world.canBlockSeeTheSky(x, y + 1, z) && world.isRaining())) { entity.setFire(15); + if (!(entity instanceof EntityLiving)) { + entity.playSound("random.fizz", 0.4F, 2.0F + world.rand.nextFloat() * 0.4F); + } } + entity.attackEntityFrom(DamageSource.lava, 4.0F); } } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockAmethystClusterRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockAmethystClusterRenderer.java index b0e4ac554..1ca20e497 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockAmethystClusterRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockAmethystClusterRenderer.java @@ -14,7 +14,6 @@ public class BlockAmethystClusterRenderer implements ISimpleBlockRenderingHandle @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - } @Override @@ -31,35 +30,34 @@ private boolean renderBlockCrops(Block block, int x, int y, int z, RenderBlocks IBlockAccess world = renderer.blockAccess; tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); -// tessellator.setBrightness(200); float f = 1.0F; int l = block.colorMultiplier(world, x, y, z); float f1 = (float)(l >> 16 & 255) / 255.0F; float f2 = (float)(l >> 8 & 255) / 255.0F; float f3 = (float)(l & 255) / 255.0F; - if(EntityRenderer.anaglyphEnable) { - float renX = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; - float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; - float renY = (f1 * 30.0F + f3 * 70.0F) / 100.0F; - f1 = renX; - f2 = f5; - f3 = renY; - } + if (EntityRenderer.anaglyphEnable) { + float renX = (f1 * 30.0F + f2 * 59.0F + f3 * 11.0F) / 100.0F; + float f5 = (f1 * 30.0F + f2 * 70.0F) / 100.0F; + float renY = (f1 * 30.0F + f3 * 70.0F) / 100.0F; + f1 = renX; + f2 = f5; + f3 = renY; + } - tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); - double renX1 = (double)x; - double renY1 = (double)y; - double renZ = (double)z; - if(block == Blocks.tallgrass) { - long meta = (long)(x * 3129871) ^ (long)x * 116129781L ^ (long)y; - meta = meta * meta * 42317861L + meta * 11L; - renX1 += ((double)((float)(meta >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; - renY1 += ((double)((float)(meta >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; - renZ += ((double)((float)(meta >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; - } + tessellator.setColorOpaque_F(f * f1, f * f2, f * f3); + double renX1 = x; + double renY1 = y; + double renZ = z; + if (block == Blocks.tallgrass) { + long meta = ((long) x * 3129871L) ^ (long) x * 116129781L ^ (long) y; + meta = meta * meta * 42317861L + meta * 11L; + renX1 += (((double) (meta >> 16 & 15L) / 15.0F) - 0.5D) * 0.5D; + renY1 += (((double) (meta >> 20 & 15L) / 15.0F) - 1.0D) * 0.2D; + renZ += (((double) (meta >> 24 & 15L) / 15.0F) - 0.5D) * 0.5D; + } - int meta1 = world.getBlockMetadata(x, y, z); - IIcon icon = renderer.getBlockIconFromSideAndMetadata(block, 0, meta1); + int meta1 = world.getBlockMetadata(x, y, z); + IIcon icon = renderer.getBlockIconFromSideAndMetadata(block, 0, meta1); if(renderer.hasOverrideBlockTexture()) { icon = renderer.overrideBlockTexture; } @@ -93,29 +91,29 @@ private boolean renderBlockCrops(Block block, int x, int y, int z, RenderBlocks renderType = 2; verTop = renZ + 1.0D; verBot = renZ + 0.0D; - break; - case 4: - renderType = 1; - verTop = renX1 + 0.0D; - verBot = renX1 + 1.0D; break; + case 4: + renderType = 1; + verTop = renX1 + 0.0D; + verBot = renX1 + 1.0D; + break; } - double fix = 0.45D; - double minU = (double)icon.getMinU(); - double minV = (double)icon.getMinV(); - double maxU = (double)icon.getMaxU(); - double maxV = (double)icon.getMaxV(); - double yMin; - double yMax; - double xMin; - double xMax; - if(renderType == 0) { - yMin = renX1 + 0.5D - fix; - yMax = renX1 + 0.5D + fix; - xMin = renZ + 0.5D - fix; - xMax = renZ + 0.5D + fix; - tessellator.addVertexWithUV(yMin, verTop, xMin, minU, minV); + double fix = 0.45D; + double minU = icon.getMinU(); + double minV = icon.getMinV(); + double maxU = icon.getMaxU(); + double maxV = icon.getMaxV(); + double yMin; + double yMax; + double xMin; + double xMax; + if (renderType == 0) { + yMin = renX1 + 0.5D - fix; + yMax = renX1 + 0.5D + fix; + xMin = renZ + 0.5D - fix; + xMax = renZ + 0.5D + fix; + tessellator.addVertexWithUV(yMin, verTop, xMin, minU, minV); tessellator.addVertexWithUV(yMin, verBot, xMin, minU, maxV); tessellator.addVertexWithUV(yMax, verBot, xMax, maxU, maxV); tessellator.addVertexWithUV(yMax, verTop, xMax, maxU, minV); diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockBarrelRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockBarrelRenderer.java index 793f76f5b..98d05e304 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockBarrelRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockBarrelRenderer.java @@ -1,57 +1,25 @@ package ganymedes01.etfuturum.client.renderer.block; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import ganymedes01.etfuturum.client.OpenGLHelper; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; -public class BlockBarrelRenderer implements ISimpleBlockRenderingHandler { +public class BlockBarrelRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); - - int metadata = BlockPistonBase.getPistonOrientation(meta); - switch(metadata) { - case 0: metadata = 1; - break; - case 1: metadata = 0; - break; - - default: metadata = meta; - break; - } - renderer.setRenderBounds(0, 0, 0, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); - tessellator.draw(); + public BlockBarrelRenderer(int modelID) { + super(modelID); + } - OpenGLHelper.translate(0.5F, 0.5F, 0.5F); - OpenGLHelper.disableBlend(); + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + super.renderStandardInventoryBlock(block, 1, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { int l = BlockPistonBase.getPistonOrientation(renderer.blockAccess.getBlockMetadata(x, y, z)); - switch (l) - { + switch (l) { case 0: renderer.uvRotateEast = 3; renderer.uvRotateWest = 3; @@ -99,14 +67,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b return true; } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.BARREL; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockColoredWaterCauldronRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockColoredWaterCauldronRenderer.java index cb6161029..b1b5d8023 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockColoredWaterCauldronRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockColoredWaterCauldronRenderer.java @@ -44,22 +44,22 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b tessellator.setColorOpaque_F(f, f1, f2); IIcon iicon1 = block.getBlockTextureFromSide(2); f4 = 0.125F; - renderer.renderFaceXPos(block, (double)((float)x - 1.0F + f4), (double)y, (double)z, iicon1); - renderer.renderFaceXNeg(block, (double)((float)x + 1.0F - f4), (double)y, (double)z, iicon1); - renderer.renderFaceZPos(block, (double)x, (double)y, (double)((float)z - 1.0F + f4), iicon1); - renderer.renderFaceZNeg(block, (double)x, (double)y, (double)((float)z + 1.0F - f4), iicon1); + renderer.renderFaceXPos(block, (double) x - 1.0F + f4, y, z, iicon1); + renderer.renderFaceXNeg(block, (double) x + 1.0F - f4, y, z, iicon1); + renderer.renderFaceZPos(block, x, y, (double) z - 1.0F + f4, iicon1); + renderer.renderFaceZNeg(block, x, y, (double) z + 1.0F - f4, iicon1); IIcon iicon2 = BlockCauldron.getCauldronIcon("inner"); - renderer.renderFaceYPos(block, (double)x, (double)((float)y - 1.0F + 0.25F), (double)z, iicon2); - renderer.renderFaceYNeg(block, (double)x, (double)((float)y + 1.0F - 0.75F), (double)z, iicon2); + renderer.renderFaceYPos(block, x, (double) y - 1.0F + 0.25F, z, iicon2); + renderer.renderFaceYNeg(block, x, (double) y + 1.0F - 0.75F, z, iicon2); int i1 = renderer.blockAccess.getBlockMetadata(x, y, z); int color = tile.getWaterColor(); - float r = (float)(color >> 16 & 255) / 255.0F; - float g = (float)(color >> 8 & 255) / 255.0F; - float b = (float)(color & 255) / 255.0F; + float r = (float) (color >> 16 & 255) / 255.0F; + float g = (float) (color >> 8 & 255) / 255.0F; + float b = (float) (color & 255) / 255.0F; tessellator.setColorOpaque_F(r, g, b); IIcon iicon = ((BlockPotionCauldron) ModBlocks.POTION_CAULDRON.get()).grayscaleWaterIcon(); - renderer.renderFaceYPos(block, (double)x, (double)((float)y - 1.0F + BlockCauldron.getRenderLiquidLevel(i1 + 1)), (double)z, iicon); + renderer.renderFaceYPos(block, x, (double) y - 1.0F + BlockCauldron.getRenderLiquidLevel(i1 + 1), z, iicon); return true; } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockComposterRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockComposterRenderer.java index dace7935c..e04e7151b 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockComposterRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockComposterRenderer.java @@ -1,65 +1,53 @@ package ganymedes01.etfuturum.client.renderer.block; import ganymedes01.etfuturum.ModBlocks; -import org.lwjgl.opengl.GL11; - import ganymedes01.etfuturum.blocks.BlockComposter; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; public class BlockComposterRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - renderInInventory(Tessellator.instance, renderer, block, metadata); + public BlockComposterRenderer(int modelID) { + super(modelID); } - // To render a ISBRH part in the inventory - Credits to MinecraftForgeFrance - private void renderInInventory(Tessellator tessellator, RenderBlocks renderer, Block block, int metadata) - { - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); + + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); renderer.setRenderBounds(0.875D, 0.125D, 0.125D, 0.125D, 1, 0.875D); tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); + renderer.renderFaceZNeg(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceXPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); + renderer.renderFaceXPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceZPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); + renderer.renderFaceZPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); + renderer.renderFaceXNeg(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); renderer.setRenderBounds(0, 0, 0, 1, 0.125D, 1); tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderer.renderFaceYPos(block, 0, 0, 0, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); } @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) { renderer.renderStandardBlock(block, x, y, z); - if(block.shouldSideBeRendered(renderer.blockAccess, x, y + 1, z, 1)) { + if (block.shouldSideBeRendered(renderer.blockAccess, x, y + 1, z, 1)) { boolean prevRenderFaces = renderer.renderAllFaces; renderer.renderAllFaces = true; renderer.setRenderBounds(0.875D, 0.125D, 0.125D, 0.125D, 1, 0.875D); @@ -93,15 +81,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b return true; } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.COMPOSTER; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoorRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoorRenderer.java index fa38fa358..b8ed2826d 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoorRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoorRenderer.java @@ -1,19 +1,18 @@ package ganymedes01.etfuturum.client.renderer.block; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; @SideOnly(Side.CLIENT) -public class BlockDoorRenderer implements ISimpleBlockRenderingHandler { +public class BlockDoorRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) { + public BlockDoorRenderer(int modelID) { + super(modelID); + set2DInventory(); } @Override @@ -63,14 +62,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b renderer.flipTexture = false; return true; } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return false; - } - - @Override - public int getRenderId() { - return RenderIDs.DOOR; - } } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoubleLayerRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoubleLayerRenderer.java new file mode 100644 index 000000000..985e3350c --- /dev/null +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockDoubleLayerRenderer.java @@ -0,0 +1,35 @@ +package ganymedes01.etfuturum.client.renderer.block; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.RenderBlocks; +import net.minecraft.world.IBlockAccess; + +@SideOnly(Side.CLIENT) +public class BlockDoubleLayerRenderer extends BlockModelBase { + + private final float innerSizeMax; + private final float innerSizeMin; + + public BlockDoubleLayerRenderer(int secondSize, int modelID) { + super(modelID); + innerSizeMax = secondSize * 0.0625F; + innerSizeMin = (16 - secondSize) * 0.0625F; + } + + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + super.renderStandardInventoryBlock(block, meta, modelID, renderer, innerSizeMin, innerSizeMin, innerSizeMin, innerSizeMax, innerSizeMax, innerSizeMax); + super.renderStandardInventoryBlock(block, meta, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + renderer.renderStandardBlock(block, x, y, z); + renderer.setRenderBounds(innerSizeMin, innerSizeMin, innerSizeMin, innerSizeMax, innerSizeMax, innerSizeMax); + renderer.renderAllFaces = true; + boolean flag = renderer.renderStandardBlock(block, x, y, z); + renderer.renderAllFaces = false; + return flag; + } +} \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockEndRodRender.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockEndRodRender.java index fcdb6e444..9c0531e43 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockEndRodRender.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockEndRodRender.java @@ -12,15 +12,19 @@ @SideOnly(Side.CLIENT) public class BlockEndRodRender extends BlockModelBase { + public BlockEndRodRender(int modelID) { + super(modelID); + } + @Override public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { Tessellator tessellator = Tessellator.instance; OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); - double x = 7 / 16.0; - double y = 0; - double z = 7 / 16.0; - renderer.setRenderBounds(0, 1 / 16F, 0, 2 / 16F, 1, 2 / 16F); + double x = 0.4375D; + double y = 0.0D; + double z = 0.4375D; + renderer.setRenderBounds(0, 0.0625D, 0, 0.125D, 1, 0.125D); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderFaceYNeg(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); @@ -36,18 +40,18 @@ public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlock renderer.renderFaceXPos(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); tessellator.draw(); - x = 4 / 16.0; - y = 0; - z = 4 / 16.0; - renderer.setRenderBounds(2 / 16F, 0, 2 / 16F, 6 / 16F, 1 / 16F, 6 / 16F); + x = 0.25D; + z = 0.25D; + + renderer.setRenderBounds(0.125D, 0, 0.125D, 0.375D, 0.0625D, 0.375D); tessellator.startDrawingQuads(); tessellator.setNormal(0.0F, -1.0F, 0.0F); renderer.renderFaceYNeg(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); tessellator.setNormal(0.0F, 1.0F, 0.0F); renderer.renderFaceYPos(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - x = .25; - y = -.5625; - z = .25; + + y = -.5625D; + renderer.setRenderBounds(0.125D, 0.5625, 0.125D, 0.375D, 0.625D, 0.375D); tessellator.setNormal(0.0F, 0.0F, -1.0F); renderer.renderFaceZNeg(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); @@ -58,18 +62,12 @@ public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlock tessellator.setNormal(1.0F, 0.0F, 0.0F); renderer.renderFaceXPos(block, x, y, z, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); tessellator.draw(); - } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - - Tessellator tessellator = Tessellator.instance; int meta = world.getBlockMetadata(x, y, z) % 6; - float f1 = 0.125F; - float f2 = 0.0625F; - double x1 = 0; double y1 = 0; double z1 = 0; diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockGlazedTerracottaRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockGlazedTerracottaRenderer.java index 90debfd25..172725ddf 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockGlazedTerracottaRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockGlazedTerracottaRenderer.java @@ -1,42 +1,36 @@ package ganymedes01.etfuturum.client.renderer.block; -import org.lwjgl.opengl.GL11; - import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; public class BlockGlazedTerracottaRenderer extends FlippedUVCubeModel implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) - { - Tessellator tessellator = Tessellator.instance; - renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F); + + public BlockGlazedTerracottaRenderer(int modelID) { + super(modelID); + } + + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { renderer.uvRotateTop = 1; renderer.uvRotateNorth = 2; //renderer.uvRotateEast = 3; renderer.uvRotateSouth = 1; renderer.uvRotateWest = 3; renderer.uvRotateBottom = 1; - + uvFlipBottom = true; uvFlipSouth = true; - - renderInInventory(tessellator, renderer, block, metadata); - + + super.renderStandardInventoryBlock(block, meta, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); + renderer.uvRotateTop = 0; renderer.uvRotateNorth = 0; //renderer.uvRotateEast = 0; renderer.uvRotateSouth = 0; renderer.uvRotateWest = 0; renderer.uvRotateBottom = 0; - + uvFlipBottom = false; uvFlipSouth = false; } @@ -54,26 +48,11 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b renderer.uvRotateWest = orient > 1 ? 3 - orient : orient + 2; // Rotate south-facing side (NO NEED FOR MIRROR) renderer.uvRotateBottom = orient > 1 ? 2 * orient - 4 : 3 - 2 * orient; // (ALL orientations are wrong) - int l = block.colorMultiplier(world, x, y, z); - float f = (l >> 16 & 255) / 255.0F; - float f1 = (l >> 8 & 255) / 255.0F; - float f2 = (l & 255) / 255.0F; - - if (EntityRenderer.anaglyphEnable) - { - float f3 = (f * 30.0F + f1 * 59.0F + f2 * 11.0F) / 100.0F; - float f4 = (f * 30.0F + f1 * 70.0F) / 100.0F; - float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F; - f = f3; - f1 = f4; - f2 = f5; - } - uvFlipBottom = true; uvFlipEast = orient % 2 == 0; uvFlipSouth = orient % 2 == 1; - boolean flag = Minecraft.isAmbientOcclusionEnabled() && block.getLightValue() == 0 ? (renderer.partialRenderBounds ? renderStandardBlockWithAmbientOcclusionPartial(renderer, block, x, y, z, f, f1, f2) : renderStandardBlockWithAmbientOcclusion(renderer, block, x, y, z, f, f1, f2)) : renderStandardBlockWithColorMultiplier(renderer, block, x, y, z, f, f1, f2); + boolean flag = renderer.renderStandardBlock(block, x, y, z); // Must reset the rotation or it will mess up all rotating blocks around renderer.uvRotateTop = 0; @@ -93,48 +72,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b return flag; } - - @Override - public boolean shouldRender3DInInventory(int modelId) - { - return true; - } - - @Override - public int getRenderId() - { - return RenderIDs.GLAZED_TERRACOTTA; - } - - // To render a ISBRH part in the inventory - Credits to MinecraftForgeFrance - private void renderInInventory(Tessellator tessellator, RenderBlocks renderer, Block block, int metadata) - { - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - //renderer.flipTexture=true; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1F, 0.0F); - renderFaceYNeg(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(0, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderFaceYPos(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(1, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, -1F); - renderFaceZNeg(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(1, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderFaceZPos(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(1, metadata)); //DO NOT SWITCH - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderFaceXNeg(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(1, metadata)); - tessellator.draw(); - tessellator.startDrawingQuads(); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderFaceXPos(renderer, block, 0.0D, 0.0D, 0.0D, block.getIcon(0, metadata)); - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - } } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockHoneyRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockHoneyRenderer.java deleted file mode 100644 index d32b078dc..000000000 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockHoneyRenderer.java +++ /dev/null @@ -1,81 +0,0 @@ -package ganymedes01.etfuturum.client.renderer.block; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ganymedes01.etfuturum.client.OpenGLHelper; -import ganymedes01.etfuturum.lib.RenderIDs; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class BlockHoneyRenderer implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - OpenGLHelper.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - OpenGLHelper.enableBlend(); - OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); - - float f = 0.0625F; - renderer.setRenderBounds(f, f, f, f * 15, f * 15, f * 15); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); - tessellator.draw(); - - renderer.setRenderBounds(0, 0, 0, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); - tessellator.draw(); - - OpenGLHelper.translate(0.5F, 0.5F, 0.5F); - OpenGLHelper.disableBlend(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - renderer.renderStandardBlock(block, x, y, z); - float f = 0.0625F; - renderer.setRenderBounds(f, f, f, f * 15, f * 15, f * 15); - renderer.renderAllFaces = true; - boolean flag = renderer.renderStandardBlock(block, x, y, z); - renderer.renderAllFaces = false; - return flag; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.HONEY_BLOCK; - } -} \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLanternRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLanternRenderer.java index a67281df3..2eb4564cb 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLanternRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLanternRenderer.java @@ -3,109 +3,105 @@ import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; public class BlockLanternRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) {} + public BlockLanternRenderer(int modelID) { + super(modelID); + set2DInventory(); + } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, - RenderBlocks renderer) { - { - int i = world.getBlockMetadata(x, y, z); - float yoffset = i % 2 == 0 ? 0 : 0.0625F; - renderer.setRenderBounds(0, .4375F, 0, .375F, .875F, .375F); - renderFaceXNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceXPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceZNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceZPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - - renderer.uvRotateTop = 1; - renderer.uvRotateBottom = 2; - renderer.setRenderBounds(.0625F, 0, 0, .4375F, .4375F, .375F); - renderFaceYPos(renderer, block, x, y, z, .25F, yoffset, .3125F); - renderFaceYNeg(renderer, block, x, y, z, .25F, yoffset, .3125F); - renderer.setRenderBounds(.125F, .5625F, .0625F, .375F, .5625F, .3125F); - renderFaceYPos(renderer, block, x, y, z, .25F, + yoffset, .3125F); - renderer.uvRotateBottom = 0; - renderer.uvRotateTop = 0; - - renderer.setRenderBounds(.0625F, .875F, .0625F, .3125F, 1, .3125F); - renderFaceXNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceXPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceZNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - renderFaceZPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); - - IIcon iicon = renderer.hasOverrideBlockTexture() ? renderer.overrideBlockTexture : renderer.getBlockIcon(block); - Tessellator tessellator = Tessellator.instance; - float r = 0.0625F; - - //Lantern chain - double iIntU8 = iicon.getInterpolatedU(11); - double iIntV8 = iicon.getInterpolatedV(10); - - double iIntU9 = iicon.getInterpolatedU(14); - double iIntV9 = iicon.getInterpolatedV(12); - - tessellator.addVertexWithUV(x + (r * 7D), y + (r * (9D + i)), z + (r * 7D), iIntU8, iIntV9); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * (11D + i)), z + (r * 7D), iIntU8, iIntV8); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * (11D + i)), z + (r * 9D), iIntU9, iIntV8); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * (9D + i)), z + (r * 9D), iIntU9, iIntV9); - - tessellator.addVertexWithUV(x + (r * 9D), y + (r * (9D + i)), z + (r * 9D), iIntU8, iIntV9); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * (11D + i)), z + (r * 9D), iIntU8, iIntV8); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * (11D + i)), z + (r * 7D), iIntU9, iIntV8); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * (9D + i)), z + (r * 7D), iIntU9, iIntV9); - - //If meta is not 0, the other parts of the chain will appear - if (world.getBlockMetadata(x, y, z) == 0) { - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 9D), z + (r * 9D), iIntU8, iIntV9); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU8, iIntV8); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU9, iIntV8); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 9D), z + (r * 7D), iIntU9, iIntV9); - - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 9D), z + (r * 7D), iIntU8, iIntV9); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU8, iIntV8); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU9, iIntV8); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 9D), z + (r * 9D), iIntU9, iIntV9); - } else { - double iIntU10 = iicon.getInterpolatedU(11); - double iIntV10 = iicon.getInterpolatedV(1); - - double iIntU11 = iicon.getInterpolatedU(14); - double iIntV11 = iicon.getInterpolatedV(5); - - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU10, iIntV11); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 15D), z + (r * 7D), iIntU10, iIntV10); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 15D), z + (r * 9D), iIntU11, iIntV10); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU11, iIntV11); - - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU10, iIntV11); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 15D), z + (r * 9D), iIntU10, iIntV10); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 15D), z + (r * 7D), iIntU11, iIntV10); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU11, iIntV11); - - double iIntU12 = iicon.getInterpolatedU(11); - double iIntV12 = iicon.getInterpolatedV(6); - - double iIntU13 = iicon.getInterpolatedU(14); - double iIntV13 = iicon.getInterpolatedV(8); - - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 14D), z + (r * 7D), iIntU12, iIntV13); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 16D), z + (r * 7D), iIntU12, iIntV12); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 16D), z + (r * 9D), iIntU13, iIntV12); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 14D), z + (r * 9D), iIntU13, iIntV13); - - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 14D), z + (r * 9D), iIntU12, iIntV13); - tessellator.addVertexWithUV(x + (r * 9D), y + (r * 16D), z + (r * 9D), iIntU12, iIntV12); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 16D), z + (r * 7D), iIntU13, iIntV12); - tessellator.addVertexWithUV(x + (r * 7D), y + (r * 14D), z + (r * 7D), iIntU13, iIntV13); - } - + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + int i = world.getBlockMetadata(x, y, z); + float yoffset = i % 2 == 0 ? 0 : 0.0625F; + renderer.setRenderBounds(0, .4375F, 0, .375F, .875F, .375F); + renderFaceXNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceXPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceZNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceZPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + + renderer.uvRotateTop = 1; + renderer.uvRotateBottom = 2; + renderer.setRenderBounds(.0625F, 0, 0, .4375F, .4375F, .375F); + renderFaceYPos(renderer, block, x, y, z, .25F, yoffset, .3125F); + renderFaceYNeg(renderer, block, x, y, z, .25F, yoffset, .3125F); + renderer.setRenderBounds(.125F, .5625F, .0625F, .375F, .5625F, .3125F); + renderFaceYPos(renderer, block, x, y, z, .25F, +yoffset, .3125F); + renderer.uvRotateBottom = 0; + renderer.uvRotateTop = 0; + + renderer.setRenderBounds(.0625F, .875F, .0625F, .3125F, 1, .3125F); + renderFaceXNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceXPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceZNeg(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + renderFaceZPos(renderer, block, x, y, z, .3125F, -.4375F + yoffset, .3125F); + + IIcon iicon = renderer.hasOverrideBlockTexture() ? renderer.overrideBlockTexture : renderer.getBlockIcon(block); + float r = 0.0625F; + + //Lantern chain + double iIntU8 = iicon.getInterpolatedU(11); + double iIntV8 = iicon.getInterpolatedV(10); + + double iIntU9 = iicon.getInterpolatedU(14); + double iIntV9 = iicon.getInterpolatedV(12); + + tessellator.addVertexWithUV(x + (r * 7D), y + (r * (9D + i)), z + (r * 7D), iIntU8, iIntV9); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * (11D + i)), z + (r * 7D), iIntU8, iIntV8); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * (11D + i)), z + (r * 9D), iIntU9, iIntV8); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * (9D + i)), z + (r * 9D), iIntU9, iIntV9); + + tessellator.addVertexWithUV(x + (r * 9D), y + (r * (9D + i)), z + (r * 9D), iIntU8, iIntV9); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * (11D + i)), z + (r * 9D), iIntU8, iIntV8); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * (11D + i)), z + (r * 7D), iIntU9, iIntV8); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * (9D + i)), z + (r * 7D), iIntU9, iIntV9); + + //If meta is not 0, the other parts of the chain will appear + if (world.getBlockMetadata(x, y, z) == 0) { + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 9D), z + (r * 9D), iIntU8, iIntV9); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU8, iIntV8); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU9, iIntV8); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 9D), z + (r * 7D), iIntU9, iIntV9); + + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 9D), z + (r * 7D), iIntU8, iIntV9); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU8, iIntV8); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU9, iIntV8); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 9D), z + (r * 9D), iIntU9, iIntV9); + } else { + double iIntU10 = iicon.getInterpolatedU(11); + double iIntV10 = iicon.getInterpolatedV(1); + + double iIntU11 = iicon.getInterpolatedU(14); + double iIntV11 = iicon.getInterpolatedV(5); + + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU10, iIntV11); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 15D), z + (r * 7D), iIntU10, iIntV10); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 15D), z + (r * 9D), iIntU11, iIntV10); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU11, iIntV11); + + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 11D), z + (r * 9D), iIntU10, iIntV11); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 15D), z + (r * 9D), iIntU10, iIntV10); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 15D), z + (r * 7D), iIntU11, iIntV10); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 11D), z + (r * 7D), iIntU11, iIntV11); + + double iIntU12 = iicon.getInterpolatedU(11); + double iIntV12 = iicon.getInterpolatedV(6); + + double iIntU13 = iicon.getInterpolatedU(14); + double iIntV13 = iicon.getInterpolatedV(8); + + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 14D), z + (r * 7D), iIntU12, iIntV13); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 16D), z + (r * 7D), iIntU12, iIntV12); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 16D), z + (r * 9D), iIntU13, iIntV12); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 14D), z + (r * 9D), iIntU13, iIntV13); + + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 14D), z + (r * 9D), iIntU12, iIntV13); + tessellator.addVertexWithUV(x + (r * 9D), y + (r * 16D), z + (r * 9D), iIntU12, iIntV12); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 16D), z + (r * 7D), iIntU13, iIntV12); + tessellator.addVertexWithUV(x + (r * 7D), y + (r * 14D), z + (r * 7D), iIntU13, iIntV13); } return true; diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLoomRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLoomRenderer.java index 452b9cd1f..3846ec224 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLoomRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockLoomRenderer.java @@ -1,45 +1,24 @@ package ganymedes01.etfuturum.client.renderer.block; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import ganymedes01.etfuturum.client.OpenGLHelper; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; -public class BlockLoomRenderer implements ISimpleBlockRenderingHandler { +public class BlockLoomRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); + public BlockLoomRenderer(int modelID) { + super(modelID); + } + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { renderer.uvRotateTop = 1; - renderer.setRenderBounds(0, 0, 0, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, 3)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, 3)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, 3)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, 3)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, 3)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, 3)); - tessellator.draw(); + super.renderStandardInventoryBlock(block, 3, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); renderer.uvRotateTop = 0; - - OpenGLHelper.translate(0.5F, 0.5F, 0.5F); - OpenGLHelper.disableBlend(); } @Override public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, - RenderBlocks renderer) { + RenderBlocks renderer) { int meta = world.getBlockMetadata(x, y, z); if(meta == 1) { meta = 3; @@ -52,14 +31,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b return true; } - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.LOOM; - } - } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockModelBase.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockModelBase.java index 24d3cdff2..3190183ac 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockModelBase.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockModelBase.java @@ -1,19 +1,82 @@ package ganymedes01.etfuturum.client.renderer.block; import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; +import ganymedes01.etfuturum.client.OpenGLHelper; import net.minecraft.block.Block; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; import net.minecraft.util.MathHelper; +import net.minecraft.world.IBlockAccess; +import org.lwjgl.opengl.GL11; public abstract class BlockModelBase implements ISimpleBlockRenderingHandler { - + + protected static final Tessellator tessellator = Tessellator.instance; + private final int modelID; + private boolean inventory3D = true; + + public BlockModelBase(int modelID) { + this.modelID = modelID; + } + + @Override + public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { + if (block.getRenderType() == 2) { + OpenGLHelper.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); + OpenGLHelper.enableBlend(); + } + OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); + + tessellator.startDrawingQuads(); + renderStandardInventoryBlock(block, meta, modelID, renderer, block.getBlockBoundsMinX(), block.getBlockBoundsMinY(), block.getBlockBoundsMinZ(), block.getBlockBoundsMaxX(), block.getBlockBoundsMaxY(), block.getBlockBoundsMaxZ()); + tessellator.draw(); + + OpenGLHelper.translate(0.5F, 0.5F, 0.5F); + OpenGLHelper.disableBlend(); + } + + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + renderer.setRenderBounds(minX, minY, minZ, maxF, maxY, maxZ); + tessellator.setNormal(0.0F, -1.0F, 0.0F); + renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); + tessellator.setNormal(0.0F, 1.0F, 0.0F); + renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); + tessellator.setNormal(0.0F, 0.0F, -1.0F); + renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); + tessellator.setNormal(0.0F, 0.0F, 1.0F); + renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); + tessellator.setNormal(-1.0F, 0.0F, 0.0F); + renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); + tessellator.setNormal(1.0F, 0.0F, 0.0F); + renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + renderer.setRenderBounds(block.getBlockBoundsMinX(), block.getBlockBoundsMinY(), block.getBlockBoundsMinZ(), block.getBlockBoundsMaxX(), block.getBlockBoundsMaxY(), block.getBlockBoundsMaxZ()); + return renderer.renderStandardBlock(block, x, y, z); + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return inventory3D; + } + + @Override + public int getRenderId() { + return modelID; + } + + public BlockModelBase set2DInventory() { + inventory3D = false; + return this; + } + /** * Renders the YNeg face with proper shading like renderStandardBlock. */ - public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double dy, double dz) - { + public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double dy, double dz) { this.renderFaceYNeg(renderer, block, dx, dy, dz, 0, 0, 0); } @@ -24,11 +87,11 @@ public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -43,7 +106,7 @@ public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f3 = 0.5F; float f10 = f3; float f13 = f3; @@ -52,7 +115,7 @@ public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double // if(Minecraft.isAmbientOcclusionEnabled() && block.getLightValue() == 0) { // if(renderer.partialRenderBounds) { -// +// // } else { // // @@ -187,7 +250,7 @@ public void renderFaceYNeg(RenderBlocks renderer, Block block, double dx, double } // } } - + /** * Renders the YPos face with proper shading like renderStandardBlock. */ @@ -203,11 +266,11 @@ public void renderFaceYPos(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -222,7 +285,7 @@ public void renderFaceYPos(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f4 = 1.0F; float f7 = f4 * f; float f8 = f4 * f1; @@ -236,7 +299,7 @@ public void renderFaceYPos(RenderBlocks renderer, Block block, double dx, double renderer.renderFaceYPos(block, dx + offx, dy + offy, dz + offz, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 1)); } } - + /** * Renders the ZNeg face with proper shading like renderStandardBlock. */ @@ -252,11 +315,11 @@ public void renderFaceZNeg(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -271,7 +334,7 @@ public void renderFaceZNeg(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f5 = 0.8F; float f11 = f5; float f14 = f5; @@ -285,7 +348,7 @@ public void renderFaceZNeg(RenderBlocks renderer, Block block, double dx, double renderer.renderFaceZNeg(block, dx + offx, dy + offy, dz + offz, renderer.getBlockIcon(block, renderer.blockAccess, x, y, z, 2)); } } - + /** * Renders the ZPos face with proper shading like renderStandardBlock. */ @@ -301,11 +364,11 @@ public void renderFaceZPos(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -320,7 +383,7 @@ public void renderFaceZPos(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f5 = 0.8F; float f11 = f5; float f14 = f5; @@ -350,11 +413,11 @@ public void renderFaceXNeg(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -369,7 +432,7 @@ public void renderFaceXNeg(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f6 = 0.6F; float f12 = f6; float f15 = f6; @@ -392,7 +455,7 @@ public void renderFaceXPos(RenderBlocks renderer, Block block, double dx, double { this.renderFaceXPos(renderer, block, dx, dy, dz, 0, 0, 0); } - + /** * Renders the XPos face with proper shading like renderStandardBlock. */ @@ -400,11 +463,11 @@ public void renderFaceXPos(RenderBlocks renderer, Block block, double dx, double { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; - + int x = MathHelper.floor_double(dx); int y = MathHelper.floor_double(dy); int z = MathHelper.floor_double(dz); - + int m = block.colorMultiplier(renderer.blockAccess, x, y, z); float f = (float)(m >> 16 & 255) / 255.0F; float f1 = (float)(m >> 8 & 255) / 255.0F; @@ -419,7 +482,7 @@ public void renderFaceXPos(RenderBlocks renderer, Block block, double dx, double f1 = f4; f2 = f5; } - + float f6 = 0.6F; float f12 = f6; float f15 = f6; diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockObserverRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockObserverRenderer.java index a7b5cd070..cd8ab83cf 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockObserverRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockObserverRenderer.java @@ -1,20 +1,35 @@ package ganymedes01.etfuturum.client.renderer.block; -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import ganymedes01.etfuturum.client.OpenGLHelper; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.block.BlockPistonBase; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; -public class BlockObserverRenderer implements ISimpleBlockRenderingHandler { +public class BlockObserverRenderer extends BlockModelBase { + + public BlockObserverRenderer(int modelID) { + super(modelID); + } + + @Override + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + setRotation(5, renderer); + super.renderStandardInventoryBlock(block, 5, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); + resetRotation(renderer); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + int meta = world.getBlockMetadata(x, y, z); + setRotation(meta, renderer); + boolean flag = renderer.renderStandardBlock(block, x, y, z); + resetRotation(renderer); + return flag; + } private void setRotation(int meta, RenderBlocks renderer) { int orientation = BlockPistonBase.getPistonOrientation(meta); - switch (orientation) - { + switch (orientation) { case 2: renderer.uvRotateTop = 3; renderer.uvRotateBottom = 3; @@ -41,68 +56,12 @@ private void setRotation(int meta, RenderBlocks renderer) { } private void resetRotation(RenderBlocks renderer) { - renderer.flipTexture=false; - renderer.uvRotateNorth=0; //west - renderer.uvRotateSouth=0; //east - renderer.uvRotateWest=0; //south - renderer.uvRotateEast=0; //north - renderer.uvRotateTop=0; - renderer.uvRotateBottom=0; - } - - @Override - public void renderInventoryBlock(Block block, int meta, int modelId, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); - - int metadata = BlockPistonBase.getPistonOrientation(meta); - switch(metadata) { - case 0: metadata = 5; - break; - case 5: metadata = 0; - break; - - default: metadata = meta; - break; - } - setRotation(metadata, renderer); - renderer.setRenderBounds(0, 0, 0, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); - tessellator.draw(); - resetRotation(renderer); - - OpenGLHelper.translate(0.5F, 0.5F, 0.5F); - OpenGLHelper.disableBlend(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - int meta = world.getBlockMetadata(x, y, z); - setRotation(meta, renderer); - boolean flag = renderer.renderStandardBlock(block, x, y, z); - resetRotation(renderer); - return flag; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.OBSERVER; + renderer.flipTexture = false; + renderer.uvRotateNorth = 0; //west + renderer.uvRotateSouth = 0; //east + renderer.uvRotateWest = 0; //south + renderer.uvRotateEast = 0; //north + renderer.uvRotateTop = 0; + renderer.uvRotateBottom = 0; } } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockPointedDripstoneRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockPointedDripstoneRenderer.java index 0a4bd5bb0..8502791a0 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockPointedDripstoneRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockPointedDripstoneRenderer.java @@ -6,7 +6,6 @@ import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; -import net.minecraft.init.Blocks; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; @@ -14,7 +13,6 @@ public class BlockPointedDripstoneRenderer implements ISimpleBlockRenderingHandl @Override public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - } @Override @@ -39,12 +37,9 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b } tessellator.setColorOpaque_F(f, f1, f2); - double d1 = (double)x; - double d2 = (double)y; - double d0 = (double)z; IIcon iicon = block.getIcon(world, x, y, z, 0); - renderer.drawCrossedSquares(iicon, d1, d2, d0, 1.0F); + renderer.drawCrossedSquares(iicon, x, y, z, 1.0F); return true; } diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockSlimeBlockRender.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockSlimeBlockRender.java deleted file mode 100644 index b522c0a2c..000000000 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockSlimeBlockRender.java +++ /dev/null @@ -1,81 +0,0 @@ -package ganymedes01.etfuturum.client.renderer.block; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import ganymedes01.etfuturum.client.OpenGLHelper; -import ganymedes01.etfuturum.lib.RenderIDs; -import net.minecraft.block.Block; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.world.IBlockAccess; -import org.lwjgl.opengl.GL11; - -@SideOnly(Side.CLIENT) -public class BlockSlimeBlockRender implements ISimpleBlockRenderingHandler { - - @Override - public void renderInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer) { - Tessellator tessellator = Tessellator.instance; - OpenGLHelper.blendFunc(GL11.GL_SRC_ALPHA, GL11.GL_ONE_MINUS_SRC_ALPHA); - OpenGLHelper.enableBlend(); - OpenGLHelper.translate(-0.5F, -0.5F, -0.5F); - - float f = 0.0625F; - renderer.setRenderBounds(f * 3, f * 3, f * 3, f * 13, f * 13, f * 13); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); - tessellator.draw(); - - renderer.setRenderBounds(0, 0, 0, 1, 1, 1); - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, meta)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, meta)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, meta)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, meta)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, meta)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, meta)); - tessellator.draw(); - - OpenGLHelper.translate(0.5F, 0.5F, 0.5F); - OpenGLHelper.disableBlend(); - } - - @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { - renderer.renderStandardBlock(block, x, y, z); - float f = 0.0625F; - renderer.setRenderBounds(f * 3, f * 3, f * 3, f * 13, f * 13, f * 13); - renderer.renderAllFaces = true; - boolean flag = renderer.renderStandardBlock(block, x, y, z); - renderer.renderAllFaces = false; - return flag; - } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - return RenderIDs.SLIME_BLOCK; - } -} \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockStonecutterRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockStonecutterRenderer.java index a5e72c78f..39f6a3447 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockStonecutterRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockStonecutterRenderer.java @@ -1,69 +1,28 @@ package ganymedes01.etfuturum.client.renderer.block; -import org.lwjgl.opengl.GL11; - import ganymedes01.etfuturum.blocks.BlockStonecutter; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; public class BlockStonecutterRenderer extends BlockModelBase { - - @Override - public void renderInventoryBlock(Block block, int metadata, int modelID, RenderBlocks renderer) - { - Tessellator tessellator = Tessellator.instance; - renderInInventory(tessellator, renderer, block, metadata); - } - @Override - public boolean shouldRender3DInInventory(int modelId) - { - return true; + public BlockStonecutterRenderer(int modelID) { + super(modelID); } - @Override - public int getRenderId() - { - return RenderIDs.STONECUTTER; - } - - private void renderInInventory(Tessellator tessellator, RenderBlocks renderer, Block block, int metadata) - { - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - tessellator.startDrawingQuads(); - renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, .5625F, 1.0F); - - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); - + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + super.renderStandardInventoryBlock(block, meta, modelID, renderer, minX, minY, minZ, maxF, maxY, maxZ); renderer.setRenderBounds(0.0F, 0, 0.5F, 1.0F, 0.4375F, 0.5F); - renderer.renderFaceZNeg(block, 0, .5625D, 0, ((BlockStonecutter)block).sawIcon); - renderer.renderFaceZPos(block, 0, .5625D, 0, ((BlockStonecutter)block).sawIcon); - - tessellator.draw(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); + renderer.renderFaceZNeg(block, 0, .5625D, 0, ((BlockStonecutter) block).sawIcon); + renderer.renderFaceZPos(block, 0, .5625D, 0, ((BlockStonecutter) block).sawIcon); } @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 metadata = world.getBlockMetadata(x, y, z) % 4; - switch (metadata) - { + switch (metadata) { case 1: renderer.uvRotateTop = 3; break; @@ -76,26 +35,23 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b case 0: default: } - + renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, .5625F, 1.0F); renderer.renderStandardBlock(block, x, y, z); - if(!renderer.hasOverrideBlockTexture()) - renderer.setOverrideBlockTexture(((BlockStonecutter)block).sawIcon); + if (!renderer.hasOverrideBlockTexture()) { + renderer.setOverrideBlockTexture(((BlockStonecutter) block).sawIcon); + } renderer.setRenderAllFaces(true); - - if(metadata < 2) { + + if (metadata < 2) { renderer.setRenderBounds(0F, 0.0F, 0.5F, 1F, 0.4375F, 0.5F); // renderer.renderStandardBlock(block, x, y + 1, z); - if(metadata == 1) { + if (metadata == 1) { renderer.flipTexture = true; } renderFaceZNeg(renderer, block, x, y, z, 0, .5625D, 0); - if(metadata == 0) { - renderer.flipTexture = true; - } else { - renderer.flipTexture = false; - } + renderer.flipTexture = metadata == 0; renderFaceZPos(renderer, block, x, y, z, 0, .5625D, 0); } else { renderer.setRenderBounds(0.5F, 0.0F, 0F, 0.5F, 0.4375F, 1F); diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockTrapDoorRenderer.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockTrapDoorRenderer.java index 54d965afb..1a7c0caa2 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockTrapDoorRenderer.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/BlockTrapDoorRenderer.java @@ -1,79 +1,38 @@ package ganymedes01.etfuturum.client.renderer.block; import ganymedes01.etfuturum.ModBlocks; -import ganymedes01.etfuturum.recipes.ModRecipes; -import org.lwjgl.opengl.GL11; - -import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler; -import ganymedes01.etfuturum.lib.RenderIDs; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.world.IBlockAccess; +import org.lwjgl.opengl.GL11; -public class BlockTrapDoorRenderer implements ISimpleBlockRenderingHandler { +public class BlockTrapDoorRenderer extends BlockModelBase { - @Override - public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { - - Tessellator tessellator = Tessellator.instance; - float f = 0.1875F; - float r = 0.0625F; - float e = f - (r * 1.5F); - GL11.glTranslatef(-.5F, -e, -.5F); - renderer.setRenderBounds(0.0F, 0.0F, 0.0F, 1.0F, f, 1.0F); + public BlockTrapDoorRenderer(int modelID) { + super(modelID); + } + @Override + protected void renderStandardInventoryBlock(Block block, int meta, int modelID, RenderBlocks renderer, double minX, double minY, double minZ, double maxF, double maxY, double maxZ) { + GL11.glTranslatef(0, 0.40625F, 0); renderer.uvRotateEast = 3; renderer.uvRotateWest = 3; renderer.uvRotateSouth = 3; renderer.uvRotateNorth = 3; - tessellator.startDrawingQuads(); - tessellator.setNormal(0.0F, -1.0F, 0.0F); - renderer.renderFaceYNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 0, metadata)); - tessellator.setNormal(0.0F, 1.0F, 0.0F); - renderer.renderFaceYPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 1, metadata)); - tessellator.setNormal(0.0F, 0.0F, -1.0F); - renderer.renderFaceZNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 2, metadata)); - tessellator.setNormal(0.0F, 0.0F, 1.0F); - renderer.renderFaceZPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 3, metadata)); - tessellator.setNormal(-1.0F, 0.0F, 0.0F); - renderer.renderFaceXNeg(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 4, metadata)); - tessellator.setNormal(1.0F, 0.0F, 0.0F); - renderer.renderFaceXPos(block, 0.0D, 0.0D, 0.0D, renderer.getBlockIconFromSideAndMetadata(block, 5, metadata)); - tessellator.draw(); + super.renderStandardInventoryBlock(block, meta, modelID, renderer, 0.0D, 0.0D, 0.0D, 1.0D, .1875D, 1.0F); renderer.uvRotateEast = 0; renderer.uvRotateWest = 0; renderer.uvRotateSouth = 0; renderer.uvRotateNorth = 0; - - GL11.glTranslatef(0, 0, 0); } @Override - public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, - RenderBlocks renderer) { - int l = renderer.blockAccess.getBlockMetadata(x, y, z); - int j = block.colorMultiplier(renderer.blockAccess, x, y, z); - float f = (j >> 16 & 255) / 255.0F; - float f1 = (j >> 8 & 255) / 255.0F; - float f2 = (j & 255) / 255.0F; - - if (EntityRenderer.anaglyphEnable) - { - float f3 = (f * 30.0F + f1 * 59.0F + f2 * 11.0F) / 100.0F; - float f4 = (f * 30.0F + f1 * 70.0F) / 100.0F; - float f5 = (f * 30.0F + f2 * 70.0F) / 100.0F; - f = f3; - f1 = f4; - f2 = f5; - } - - if(block == ModBlocks.TRAPDOOR_DARK_OAK.get()) { - return Minecraft.isAmbientOcclusionEnabled() && block.getLightValue() == 0 ? (renderer.partialRenderBounds ? renderer.renderStandardBlockWithAmbientOcclusionPartial(block, x, y, z, f, f1, f2) : renderer.renderStandardBlockWithAmbientOcclusion(block, x, y, z, f, f1, f2)) : renderer.renderStandardBlockWithColorMultiplier(block, x, y, z, f, f1, f2); + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + if (block == ModBlocks.TRAPDOOR_DARK_OAK.get()) { + return renderer.renderStandardBlock(block, x, y, z); } + int l = renderer.blockAccess.getBlockMetadata(x, y, z); if (l <= 3) { renderer.uvRotateEast = 3; renderer.uvRotateWest = 3; @@ -110,7 +69,7 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b } // 1 = west, 2 = east, 3 = north - + if (l == 0 || l == 4 || l == 8 || l == 12) { renderer.uvRotateTop = 3; renderer.uvRotateBottom = 3; @@ -121,9 +80,8 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b renderer.uvRotateTop = 2; renderer.uvRotateBottom = 1; } - - boolean flag; - flag = Minecraft.isAmbientOcclusionEnabled() && block.getLightValue() == 0 ? (renderer.partialRenderBounds ? renderer.renderStandardBlockWithAmbientOcclusionPartial(block, x, y, z, f, f1, f2) : renderer.renderStandardBlockWithAmbientOcclusion(block, x, y, z, f, f1, f2)) : renderer.renderStandardBlockWithColorMultiplier(block, x, y, z, f, f1, f2); + + boolean flag = renderer.renderStandardBlock(block, x, y, z); renderer.uvRotateTop = 0; renderer.uvRotateBottom = 0; renderer.uvRotateEast = 0; @@ -132,16 +90,4 @@ public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block b renderer.uvRotateNorth = 0; return flag; } - - @Override - public boolean shouldRender3DInInventory(int modelId) { - return true; - } - - @Override - public int getRenderId() { - // TODO Auto-generated method stub - return RenderIDs.TRAP_DOOR; - } - } \ No newline at end of file diff --git a/src/main/java/ganymedes01/etfuturum/client/renderer/block/FlippedUVCubeModel.java b/src/main/java/ganymedes01/etfuturum/client/renderer/block/FlippedUVCubeModel.java index d25bf19c6..8a50c7761 100644 --- a/src/main/java/ganymedes01/etfuturum/client/renderer/block/FlippedUVCubeModel.java +++ b/src/main/java/ganymedes01/etfuturum/client/renderer/block/FlippedUVCubeModel.java @@ -15,8 +15,11 @@ public abstract class FlippedUVCubeModel extends BlockModelBase { protected boolean uvFlipEast; protected boolean uvFlipWest; - public boolean renderStandardBlockWithColorMultiplier(RenderBlocks renderer, Block p_147736_1_, int p_147736_2_, int p_147736_3_, int p_147736_4_, float p_147736_5_, float p_147736_6_, float p_147736_7_) - { + public FlippedUVCubeModel(int modelID) { + super(modelID); + } + + public boolean renderStandardBlockWithColorMultiplier(RenderBlocks renderer, Block p_147736_1_, int p_147736_2_, int p_147736_3_, int p_147736_4_, float p_147736_5_, float p_147736_6_, float p_147736_7_) { renderer.enableAO = false; Tessellator tessellator = Tessellator.instance; boolean flag = false; @@ -27,15 +30,15 @@ public boolean renderStandardBlockWithColorMultiplier(RenderBlocks renderer, Blo float f7 = f4 * p_147736_5_; float f8 = f4 * p_147736_6_; float f9 = f4 * p_147736_7_; - float f10 = f3; - float f11 = f5; - float f12 = f6; - float f13 = f3; - float f14 = f5; - float f15 = f6; - float f16 = f3; - float f17 = f5; - float f18 = f6; + float f10; + float f11; + float f12; + float f13; + float f14; + float f15; + float f16; + float f17; + float f18; f10 = f3 * p_147736_5_; f11 = f5 * p_147736_5_; f12 = f6 * p_147736_5_; diff --git a/src/main/java/ganymedes01/etfuturum/core/proxy/ClientProxy.java b/src/main/java/ganymedes01/etfuturum/core/proxy/ClientProxy.java index ca2e6480d..8df22e4cd 100644 --- a/src/main/java/ganymedes01/etfuturum/core/proxy/ClientProxy.java +++ b/src/main/java/ganymedes01/etfuturum/core/proxy/ClientProxy.java @@ -22,6 +22,7 @@ import ganymedes01.etfuturum.core.handlers.ClientEventHandler; import ganymedes01.etfuturum.core.utils.VersionChecker; import ganymedes01.etfuturum.entities.*; +import ganymedes01.etfuturum.lib.RenderIDs; import ganymedes01.etfuturum.spectator.SpectatorModeClient; import ganymedes01.etfuturum.tileentities.*; import net.minecraft.block.BlockBed; @@ -94,11 +95,11 @@ private void registerItemRenderers() { private void registerBlockRenderers() { if (ModBlocks.SLIME.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockSlimeBlockRender()); + RenderingRegistry.registerBlockHandler(new BlockDoubleLayerRenderer(13, RenderIDs.SLIME_BLOCK)); } if (ConfigBlocksItems.enableDoors) { - RenderingRegistry.registerBlockHandler(new BlockDoorRenderer()); + RenderingRegistry.registerBlockHandler(new BlockDoorRenderer(RenderIDs.DOOR)); } if (ModBlocks.BANNER.isEnabled()) { @@ -110,7 +111,7 @@ private void registerBlockRenderers() { } if (ModBlocks.END_ROD.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockEndRodRender()); + RenderingRegistry.registerBlockHandler(new BlockEndRodRender(RenderIDs.END_ROD)); } if (ModBlocks.CHORUS_FLOWER.isEnabled()) { @@ -126,15 +127,15 @@ private void registerBlockRenderers() { } if (ModBlocks.LANTERN.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockLanternRenderer()); + RenderingRegistry.registerBlockHandler(new BlockLanternRenderer(RenderIDs.LANTERN)); } if (ModBlocks.BARREL.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockBarrelRenderer()); + RenderingRegistry.registerBlockHandler(new BlockBarrelRenderer(RenderIDs.BARREL)); } if (ConfigBlocksItems.enableTrapdoors) { - RenderingRegistry.registerBlockHandler(new BlockTrapDoorRenderer()); + RenderingRegistry.registerBlockHandler(new BlockTrapDoorRenderer(RenderIDs.TRAP_DOOR)); } if (ConfigBlocksItems.enableSigns) { @@ -142,7 +143,7 @@ private void registerBlockRenderers() { } if (ConfigBlocksItems.enableGlazedTerracotta) { - RenderingRegistry.registerBlockHandler(new BlockGlazedTerracottaRenderer()); + RenderingRegistry.registerBlockHandler(new BlockGlazedTerracottaRenderer(RenderIDs.GLAZED_TERRACOTTA)); } if (ModBlocks.LAVA_CAULDRON.isEnabled()) { @@ -154,15 +155,15 @@ private void registerBlockRenderers() { } if (ModBlocks.STONECUTTER.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockStonecutterRenderer()); + RenderingRegistry.registerBlockHandler(new BlockStonecutterRenderer(RenderIDs.STONECUTTER)); } if (ModBlocks.COMPOSTER.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockComposterRenderer()); + RenderingRegistry.registerBlockHandler(new BlockComposterRenderer(RenderIDs.COMPOSTER)); } if (ModBlocks.LOOM.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockLoomRenderer()); + RenderingRegistry.registerBlockHandler(new BlockLoomRenderer(RenderIDs.LOOM)); } if (ModBlocks.AMETHYST_CLUSTER_1.isEnabled() && ModBlocks.AMETHYST_CLUSTER_2.isEnabled()) { @@ -178,7 +179,7 @@ private void registerBlockRenderers() { RenderingRegistry.registerBlockHandler(new BlockChestRenderer()); if (ModBlocks.OBSERVER.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockObserverRenderer()); + RenderingRegistry.registerBlockHandler(new BlockObserverRenderer(RenderIDs.OBSERVER)); } if (ModBlocks.END_GATEWAY.isEnabled()) { @@ -186,7 +187,7 @@ private void registerBlockRenderers() { } if (ModBlocks.HONEY_BLOCK.isEnabled()) { - RenderingRegistry.registerBlockHandler(new BlockHoneyRenderer()); + RenderingRegistry.registerBlockHandler(new BlockDoubleLayerRenderer(15, RenderIDs.HONEY_BLOCK)); } }