diff options
author | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-20 22:14:10 +1000 |
---|---|---|
committer | Draknyte1 <Draknyte1@hotmail.com> | 2016-12-20 22:14:10 +1000 |
commit | e95b35542d8de340835c00d4d21b527350d0cd6c (patch) | |
tree | f3fea67e2634676ea21c423103286ba7bb017e7e /src/Java/gtPlusPlus/core/handler/render | |
parent | e4e40d86c0c868846cf20098dc1481f3ee3703b5 (diff) | |
download | GT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.tar.gz GT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.tar.bz2 GT5-Unofficial-e95b35542d8de340835c00d4d21b527350d0cd6c.zip |
+ Added a TESR for the Fire Pit, it's off-centre, but otherwise renders fine.
Diffstat (limited to 'src/Java/gtPlusPlus/core/handler/render')
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/render/FirepitModel.java | 112 | ||||
-rw-r--r-- | src/Java/gtPlusPlus/core/handler/render/FirepitRender.java | 54 |
2 files changed, 166 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java new file mode 100644 index 0000000000..fbc0b22690 --- /dev/null +++ b/src/Java/gtPlusPlus/core/handler/render/FirepitModel.java @@ -0,0 +1,112 @@ +// Date: 20/12/2016 5:51:14 PM +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +package gtPlusPlus.core.handler.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import net.minecraft.entity.Entity; + +public class FirepitModel extends ModelBase +{ + //fields + ModelRenderer Side_A; + ModelRenderer Side_B; + ModelRenderer Side_C; + ModelRenderer Side_D; + ModelRenderer Log1; + ModelRenderer Log2; + ModelRenderer Log3; + ModelRenderer Log4; + + public FirepitModel() + { + textureWidth = 16; + textureHeight = 16; + + Side_A = new ModelRenderer(this, 0, 0); + Side_A.addBox(0F, 0F, 0F, 12, 6, 1); + Side_A.setRotationPoint(-6F, 18F, -6F); + Side_A.setTextureSize(16, 16); + Side_A.mirror = true; + setRotation(Side_A, -0.3148822F, 0F, 0F); + Side_A.mirror = false; + Side_B = new ModelRenderer(this, 0, 0); + Side_B.addBox(0F, 0F, 0F, 12, 6, 1); + Side_B.setRotationPoint(-6F, 18F, 6F); + Side_B.setTextureSize(16, 16); + Side_B.mirror = true; + setRotation(Side_B, -0.3148822F, 1.570796F, 0F); + Side_C = new ModelRenderer(this, 0, 0); + Side_C.addBox(0F, 0F, 0F, 12, 6, 1); + Side_C.setRotationPoint(6F, 18F, 6F); + Side_C.setTextureSize(16, 16); + Side_C.mirror = true; + setRotation(Side_C, -0.3148822F, 3.141593F, 0F); + Side_C.mirror = false; + Side_D = new ModelRenderer(this, 0, 0); + Side_D.addBox(0F, 0F, 0F, 12, 6, 1); + Side_D.setRotationPoint(6F, 18F, -6F); + Side_D.setTextureSize(16, 16); + Side_D.mirror = true; + setRotation(Side_D, -0.3148822F, 4.712389F, 0F); + Log1 = new ModelRenderer(this, 0, 10); + Log1.addBox(0F, 0F, 0F, 14, 2, 2); + Log1.setRotationPoint(4F, 10F, -4F); + Log1.setTextureSize(16, 16); + Log1.mirror = true; + setRotation(Log1, 0F, 0F, 1.570796F); + Log2 = new ModelRenderer(this, -2, 10); + Log2.addBox(0F, 0F, 0F, 14, 2, 2); + Log2.setRotationPoint(-4F, 10F, -4F); + Log2.setTextureSize(16, 16); + Log2.mirror = true; + setRotation(Log2, 1.570796F, 0F, 1.570796F); + Log2.mirror = false; + Log3 = new ModelRenderer(this, 0, 10); + Log3.addBox(0F, 0F, 0F, 14, 2, 2); + Log3.setRotationPoint(-4F, 10F, 4F); + Log3.setTextureSize(16, 16); + Log3.mirror = true; + setRotation(Log3, 3.141593F, 0F, 1.570796F); + Log4 = new ModelRenderer(this, -2, 10); + Log4.addBox(0F, 0F, 0F, 14, 2, 2); + Log4.setRotationPoint(4F, 10F, 4F); + Log4.setTextureSize(16, 16); + Log4.mirror = true; + setRotation(Log4, 4.712389F, 0F, 1.570796F); + Log4.mirror = false; + } + + @Override +public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + { + super.render(entity, f, f1, f2, f3, f4, f5); + setRotationAngles(f, f1, f2, f3, f4, f5, entity); + Side_A.render(f5); + Side_B.render(f5); + Side_C.render(f5); + Side_D.render(f5); + Log1.render(f5); + Log2.render(f5); + Log3.render(f5); + Log4.render(f5); + } + + private void setRotation(ModelRenderer model, float x, float y, float z) + { + model.rotateAngleX = x; + model.rotateAngleY = y; + model.rotateAngleZ = z; + } + + @Override +public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity) + { + super.setRotationAngles(f, f1, f2, f3, f4, f5, entity); + } + +} diff --git a/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java new file mode 100644 index 0000000000..16ad016b97 --- /dev/null +++ b/src/Java/gtPlusPlus/core/handler/render/FirepitRender.java @@ -0,0 +1,54 @@ +package gtPlusPlus.core.handler.render; + +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.entity.Entity; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +import org.lwjgl.opengl.GL11; +public class FirepitRender extends TileEntitySpecialRenderer{ + ResourceLocation texture = new ResourceLocation("miscutils" + ":"+ "textures/blocks/FirePit/mossyFirepit.png"); + + private FirepitModel model; + + public FirepitRender(){ + this.model = new FirepitModel(); + } + + private void adjustRotatePivotViaMeta(World world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + GL11.glPushMatrix(); + GL11.glRotatef(meta * (-90), 0.0F, 0.0F, 1.0F); + GL11.glPopMatrix(); + } + + @Override + public void renderTileEntityAt(TileEntity entity, double x, double y, double z, float i) { + GL11.glPushMatrix(); + GL11.glTranslatef((float)x + 0.1F, (float)y + 1.0F, (float)z + 0.5F); + GL11.glRotatef(180, 0F, 0F, 1F); + + this.bindTexture(texture); + GL11.glPushMatrix(); + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + } + + //Set the lighting stuff, so it changes it's brightness properly. + private void adjustLightFixture(World world, int i, int j, int k, Block block) { + Tessellator tess = Tessellator.instance; + //float brightness = block.getBlockBrightness(world, i, j, k); + //As of MC 1.7+ block.getBlockBrightness() has become block.getLightValue(): + float brightness = block.getLightValue(world, i, j, k); + int skyLight = world.getLightBrightnessForSkyBlocks(i, j, k, 0); + int modulousModifier = skyLight % 65536; + int divModifier = skyLight / 65536; + tess.setColorOpaque_F(brightness, brightness, brightness); + OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) modulousModifier, divModifier); + } +} |