From 3eb8c7a8fca3f22475d53e30f0b90a6737f313fa Mon Sep 17 00:00:00 2001 From: bculkin2442 Date: Thu, 24 May 2018 15:53:20 -0400 Subject: Initial commit --- .../renderers/TileEntityCrystalRenderer.java | 72 +++++++++++++++++ .../renderers/TileEntityCrystalStandRenderer.java | 57 ++++++++++++++ .../renderers/TileEntityPillarRenderer.java | 70 ++++++++++++++++ .../renderers/TileEntityTrapRenderer.java | 92 ++++++++++++++++++++++ 4 files changed, 291 insertions(+) create mode 100755 YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalRenderer.java create mode 100755 YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalStandRenderer.java create mode 100755 YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityPillarRenderer.java create mode 100755 YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityTrapRenderer.java (limited to 'YWD/src/main/java/fyresmodjam/tileentities/renderers') diff --git a/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalRenderer.java b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalRenderer.java new file mode 100755 index 0000000..7d64e51 --- /dev/null +++ b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalRenderer.java @@ -0,0 +1,72 @@ +package fyresmodjam.tileentities.renderers; + +import java.awt.Color; + +import org.lwjgl.opengl.GL11; + +import fyresmodjam.ModjamMod; +import fyresmodjam.items.ItemCrystal; +import fyresmodjam.models.ModelCrystal; +import fyresmodjam.tileentities.TileEntityCrystal; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class TileEntityCrystalRenderer extends TileEntitySpecialRenderer { + + private ModelCrystal modelCrystal = new ModelCrystal(); + + public static ResourceLocation texture = new ResourceLocation( + "fyresmodjam", "textures/blocks/crystal.png"); + + @Override + public void renderTileEntityAt(TileEntity tileentity, double d0, + double d1, double d2, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) d0, (float) d1, (float) d2); + + TileEntityCrystal crystal = (TileEntityCrystal) tileentity; + Block block = ModjamMod.crystal; + World world = crystal.getWorldObj(); + + Tessellator tessellator = Tessellator.instance; + float f2 = block.getMixedBrightnessForBlock(world, + crystal.xCoord, crystal.yCoord, + crystal.zCoord); + int l = world.getLightBrightnessForSkyBlocks( + crystal.xCoord, crystal.yCoord, + crystal.zCoord, 0); + int l1 = l % 65536; + int l2 = l / 65536; + tessellator.setColorOpaque_F(f2, f2, f2); + OpenGlHelper.setLightmapTextureCoords( + OpenGlHelper.lightmapTexUnit, l1, l2); + + float f3 = world.getWorldInfo().getWorldTime() % 20 + / 20.0F; + GL11.glTranslatef(0.5F, + -0.4F + (f3 > 0.5F ? 0.25F - 0.25F * f3 + : 0.25F * f3), + 0.5F); + + GL11.glRotatef((float) world.getWorldInfo().getWorldTime() + % 360, 0.0F, 1.0F, 0.0F); + + Color color = ItemCrystal.colors[crystal.getBlockMetadata() + % ItemCrystal.colors.length]; + GL11.glColor3f(color.getRed() / 255.0F, + color.getGreen() / 255.0F, + color.getBlue() / 255.0F); + + bindTexture(texture); + modelCrystal.render(null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, + 0.0625F); + + GL11.glPopMatrix(); + } + +} diff --git a/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalStandRenderer.java b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalStandRenderer.java new file mode 100755 index 0000000..55873f9 --- /dev/null +++ b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalStandRenderer.java @@ -0,0 +1,57 @@ +package fyresmodjam.tileentities.renderers; + +import org.lwjgl.opengl.GL11; + +import fyresmodjam.ModjamMod; +import fyresmodjam.models.ModelCrystalStand; +import fyresmodjam.tileentities.TileEntityCrystalStand; +import net.minecraft.block.Block; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class TileEntityCrystalStandRenderer + extends TileEntitySpecialRenderer { + + private ModelCrystalStand model = new ModelCrystalStand(); + + public static ResourceLocation texture = new ResourceLocation( + "fyresmodjam", + "textures/blocks/crystal_stand.png"); + + @Override + public void renderTileEntityAt(TileEntity tileentity, double d0, + double d1, double d2, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) d0, (float) d1, (float) d2); + + TileEntityCrystalStand crystalStand = (TileEntityCrystalStand) tileentity; + Block block = ModjamMod.crystalStand; + World world = crystalStand.getWorldObj(); + + Tessellator tessellator = Tessellator.instance; + float f2 = block.getMixedBrightnessForBlock(world, + crystalStand.xCoord, crystalStand.yCoord, + crystalStand.zCoord); + int l = world.getLightBrightnessForSkyBlocks( + crystalStand.xCoord, crystalStand.yCoord, + crystalStand.zCoord, 0); + int l1 = l % 65536; + int l2 = l / 65536; + tessellator.setColorOpaque_F(f2, f2, f2); + OpenGlHelper.setLightmapTextureCoords( + OpenGlHelper.lightmapTexUnit, l1, l2); + + GL11.glTranslatef(0.5F, 1.5F, 0.5F); + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + + bindTexture(texture); + model.render(null, 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F); + + GL11.glPopMatrix(); + } + +} diff --git a/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityPillarRenderer.java b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityPillarRenderer.java new file mode 100755 index 0000000..7d38d20 --- /dev/null +++ b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityPillarRenderer.java @@ -0,0 +1,70 @@ +package fyresmodjam.tileentities.renderers; + +import org.lwjgl.opengl.GL11; + +import fyresmodjam.ModjamMod; +import fyresmodjam.models.ModelPillar; +import fyresmodjam.tileentities.TileEntityPillar; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class TileEntityPillarRenderer extends TileEntitySpecialRenderer { + private ModelPillar modelPillar = new ModelPillar(); + + public static ResourceLocation[] textures = { + new ResourceLocation("fyresmodjam", + "textures/blocks/pillar.png"), + new ResourceLocation("fyresmodjam", + "textures/blocks/pillarActive.png") + }; + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double d, + double d1, double d2, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) d, (float) d1, (float) d2); + TileEntityPillar tileEntityYour = (TileEntityPillar) tileEntity; + renderBlockYour(tileEntityYour, tileEntity.getWorldObj(), + tileEntity.xCoord, tileEntity.yCoord, + tileEntity.zCoord, ModjamMod.blockPillar); + GL11.glPopMatrix(); + } + + public void renderBlockYour(TileEntityPillar tl, World world, + int i, int j, int k, Block block) { + Tessellator tessellator = Tessellator.instance; + float f = block.getMixedBrightnessForBlock(world, i, j, k); + int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0); + int l1 = l % 65536; + int l2 = l / 65536; + tessellator.setColorOpaque_F(f, f, f); + OpenGlHelper.setLightmapTextureCoords( + OpenGlHelper.lightmapTexUnit, l1, l2); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + boolean active = player != null + && player.getEntityData() + .hasKey("Blessing") + && player.getEntityData() + .getString("Blessing") + .equals(tl.blessing); + + GL11.glPushMatrix(); + + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.5F, -1.5F, -0.5F); + + bindTexture(!active ? textures[0] : textures[1]); + modelPillar.render((Entity) null, 0.0F, 0.0F, 0.0F, 0.0F, + 0.0F, 0.0625F); + GL11.glPopMatrix(); + } +} \ No newline at end of file diff --git a/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityTrapRenderer.java b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityTrapRenderer.java new file mode 100755 index 0000000..c66f06a --- /dev/null +++ b/YWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityTrapRenderer.java @@ -0,0 +1,92 @@ +package fyresmodjam.tileentities.renderers; + +import org.lwjgl.opengl.GL11; + +import fyresmodjam.ModjamMod; +import fyresmodjam.blocks.BlockTrap; +import fyresmodjam.handlers.NewPacketHandler; +import fyresmodjam.models.ModelSpikes; +import fyresmodjam.models.ModelTrap2; +import fyresmodjam.tileentities.TileEntityTrap; +import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.Tessellator; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class TileEntityTrapRenderer extends TileEntitySpecialRenderer { + + private ModelBase[] models = { + new ModelSpikes(), new ModelTrap2(), + new ModelTrap2() + }; + + public static ResourceLocation[] textures = { + new ResourceLocation("fyresmodjam", + "textures/blocks/spikes.png"), + new ResourceLocation("fyresmodjam", + "textures/blocks/trap2.png"), + new ResourceLocation("fyresmodjam", + "textures/blocks/trap3.png") + }; + + @Override + public void renderTileEntityAt(TileEntity tileEntity, double d, + double d1, double d2, float f) { + GL11.glPushMatrix(); + GL11.glTranslatef((float) d, (float) d1, (float) d2); + TileEntityTrap tileEntityYour = (TileEntityTrap) tileEntity; + renderBlockYour(tileEntityYour, tileEntity.getWorldObj(), + tileEntity.xCoord, tileEntity.yCoord, + tileEntity.zCoord, ModjamMod.blockTrap); + GL11.glPopMatrix(); + } + + public void renderBlockYour(TileEntityTrap tl, World world, int i, + int j, int k, Block block) { + Tessellator tessellator = Tessellator.instance; + float f = block.getMixedBrightnessForBlock(world, i, j, k); + int l = world.getLightBrightnessForSkyBlocks(i, j, k, 0); + int l1 = l % 65536; + int l2 = l / 65536; + tessellator.setColorOpaque_F(f, f, f); + OpenGlHelper.setLightmapTextureCoords( + OpenGlHelper.lightmapTexUnit, l1, l2); + + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + boolean active = player != null + && (!NewPacketHandler.trapsDisabled + || tl.placedBy != null) + && (player.getCommandSenderName() + .equals(tl.placedBy) + || tl.setting != 0 + || player.isSneaking() + || (player.getEntityData() + .hasKey("Blessing") + && player.getEntityData() + .getString("Blessing") + .equals("Scout"))); + + int type = world.getBlockMetadata(i, j, k); + + if (active) { + GL11.glPushMatrix(); + + GL11.glRotatef(180.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.5F, -1.5F, -0.5F); + + bindTexture(textures[type % BlockTrap.trapTypes]); + models[type % BlockTrap.trapTypes].render( + (Entity) null, 0.0F, 0.0F, 0.0F, + 0.0F, 0.0F, 0.0625F); + + GL11.glPopMatrix(); + } + } +} \ No newline at end of file -- cgit v1.2.3