summaryrefslogtreecommitdiff
path: root/src/main/java/gmail/Lance5057/blocks
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-03-07 03:26:32 -0600
committerLance5057 <Lance5057@gmail.com>2015-03-07 03:26:32 -0600
commitc70a7618c8d3e016319a7194a67fee6c50fe45dd (patch)
tree044b8aabc2554d8591c5c54a0c72b55794efe80a /src/main/java/gmail/Lance5057/blocks
parent654b5cc0780f3458366f798f0784b9eb068e86d0 (diff)
Fixed Crest Mount rendering, added gui
Server still doesnt save item flipping
Diffstat (limited to 'src/main/java/gmail/Lance5057/blocks')
-rw-r--r--src/main/java/gmail/Lance5057/blocks/ModelCrestMount.java25
-rw-r--r--src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java124
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;
}
}