diff options
Diffstat (limited to 'src/main/java/gmail/Lance5057/blocks')
| -rw-r--r-- | src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java | 25 | ||||
| -rw-r--r-- | src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java | 124 |
2 files changed, 125 insertions, 24 deletions
diff --git a/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java b/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java index 4b3cbd2..d22158c 100644 --- a/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java +++ b/src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java @@ -17,7 +17,7 @@ public class ModelCrestMount extends ModelBase ModelRenderer Base; ModelRenderer SwordMount1; ModelRenderer SwordMount2; - ModelRenderer SwordMount3; + //ModelRenderer SwordMount3; public ModelCrestMount() { @@ -52,23 +52,24 @@ public class ModelCrestMount extends ModelBase SwordMount2.mirror = true; setRotation(SwordMount2, 0F, -0.7853982F, 0F); - SwordMount3 = new ModelRenderer(this, 0, 0); - SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4); - SwordMount3.setRotationPoint(0F, 21.9F, 0F); - SwordMount3.setTextureSize(32, 32); - SwordMount3.mirror = true; - setRotation(SwordMount3, 0F, 1.570796F, 0F); +// SwordMount3 = new ModelRenderer(this, 0, 0); +// SwordMount3.addBox(-5F, 0F, -2F, 10, 2, 4); +// SwordMount3.setRotationPoint(0F, 21.9F, 0F); +// SwordMount3.setTextureSize(32, 32); +// SwordMount3.mirror = true; +// setRotation(SwordMount3, 0F, 1.570796F, 0F); } - public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) + public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5, boolean left, boolean right, boolean shield) { super.render(entity, f, f1, f2, f3, f4, f5); setRotationAngles(f, f1, f2, f3, f4, f5, entity); - ShieldMount.render(f5); + if(shield) ShieldMount.render(f5); + if(left) SwordMount1.render(f5); + if(right) SwordMount2.render(f5); + Base.render(f5); - SwordMount1.render(f5); - SwordMount2.render(f5); - SwordMount3.render(f5); + //SwordMount3.render(f5); } private void setRotation(ModelRenderer model, float x, float y, float z) diff --git a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java b/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java index b261af0..4959e7c 100644 --- a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java +++ b/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java @@ -20,17 +20,34 @@ import org.lwjgl.opengl.GL11; public class Renderer_CrestMount extends TileEntitySpecialRenderer { - - //The model of your block + //private RenderItem itemRenderer; private final ModelCrestMount model; EntityItem entItem = null; + EntityItem entItem2 = null; + EntityItem entItem3 = null; + EntityItem entItem4 = null; public Renderer_CrestMount() { this.model = new ModelCrestMount(); } @Override - public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) { + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) + { + TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te; + + boolean left=false, + right=false, + shield=false; + + if(tileEntity.getStackInSlot(0)!=null) + right=true; + if(tileEntity.getStackInSlot(1)!=null) + left=true; + if(tileEntity.getStackInSlot(3)!=null) + shield=true; + + GL11.glPushMatrix(); //Render Crest Mount @@ -57,29 +74,112 @@ public class Renderer_CrestMount extends TileEntitySpecialRenderer GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F); GL11.glTranslatef(0, -1, -1); - this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F); + this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F,left,right,shield); GL11.glPopMatrix(); - //Render Inventory - int slot = 1; //Example: int slot = 1; - TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te; + //Render Inventory + + //right slot + int slot = 0; if(tileEntity.getStackInSlot(slot)!=null) { if((entItem == null) || entItem.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) - entItem = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + entItem = new EntityItem(tileEntity.getWorldObj(), 0, 0, 0, tileEntity.getStackInSlot(slot)); GL11.glPushMatrix(); this.entItem.hoverStart = 0.0F; RenderItem.renderInFrame = true; - GL11.glTranslatef((float)x + 0.5F, (float)y + 1.02F, (float)z + 0.3F); - GL11.glRotatef(180, 0, 1, 1); - GL11.glScalef(5, 5, 5); - RenderManager.instance.renderEntityWithPosYaw(entItem, x + 0.5, y + 1, z + 0.5, 0, 0); + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(90, 0, 0, -1); + GL11.glRotatef(rotation, -1.0F, 0.0F, 0.0F); + //GL11.glTranslatef(0.4f/*up - down*/, -0.3f/*left - right*/, 0.22f); + if(tileEntity.flip[0]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.8f, 0.2f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem, 0.4f/*up - down*/, -0.3f/*left - right*/, 0.23f, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //left slot + slot = 1; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem2 == null) || entItem2.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem2 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem2.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + //GL11.glTranslatef((float)te.xCoord + 0.5F, (float)te.yCoord + 1.02F, (float)te.zCoord + 0.3F); + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0, 0, 1); + GL11.glRotatef(rotation, 0.0F, -1.0F, 0.0F); + if(tileEntity.flip[1]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.2f, -0.8f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem2, -0.1, 0.2, 0.23, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //middle slot + slot = 2; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem3 == null) || entItem3.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem3 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem3.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + if(rotation == 90) + GL11.glTranslatef(0.3f, 0, 0.0f); + if(rotation == -90) + GL11.glTranslatef(-0.3f, 0, 0.0f); + GL11.glRotatef(225, 0, 0, 1); + GL11.glRotatef(rotation, 1F, 1F, 0F); + if(tileEntity.flip[2]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(-0.5f, -0.5f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem3, 0.3, 0.1, 0.16, 0, 0); + RenderItem.renderInFrame = false; + GL11.glPopMatrix(); + } + + //shield slot + slot = 3; + if(tileEntity.getStackInSlot(slot)!=null) + { + if((entItem4 == null) || entItem4.getEntityItem().getItem() != tileEntity.getStackInSlot(slot).getItem()) + entItem4 = new EntityItem(tileEntity.getWorldObj(), x, y, z, tileEntity.getStackInSlot(slot)); + GL11.glPushMatrix(); + this.entItem4.hoverStart = 0.0F; + RenderItem.renderInFrame = true; + GL11.glScalef(2f,2f,2f); + GL11.glRotatef(180, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(rotation, 0.0F, 1.0F, 0.0F); + if(tileEntity.flip[3]==true) + { + GL11.glRotatef(180, 0, 0, 1); + GL11.glTranslatef(0.0f, 1.0f, 0); + } + RenderManager.instance.renderEntityWithPosYaw(entItem4, 0, -0.7, -0.01, 0, 0); RenderItem.renderInFrame = false; GL11.glPopMatrix(); } GL11.glPopMatrix(); + + entItem = null; + entItem2= null; + entItem3= null; + entItem4= null; } } |
