summaryrefslogtreecommitdiff
path: root/YWD/src/main/java/fyresmodjam/tileentities/renderers
diff options
context:
space:
mode:
Diffstat (limited to 'YWD/src/main/java/fyresmodjam/tileentities/renderers')
-rwxr-xr-xYWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalRenderer.java72
-rwxr-xr-xYWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityCrystalStandRenderer.java57
-rwxr-xr-xYWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityPillarRenderer.java70
-rwxr-xr-xYWD/src/main/java/fyresmodjam/tileentities/renderers/TileEntityTrapRenderer.java92
4 files changed, 291 insertions, 0 deletions
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