summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLance5057 <Lance5057@gmail.com>2015-02-25 05:08:23 -0600
committerLance5057 <Lance5057@gmail.com>2015-02-25 05:08:23 -0600
commitb9e01be7573bfe27e5fad07b7594508278a56eb4 (patch)
treef040cc69c3868b2fd3b868db13a32c3044ecc3c4
parent44f9836bd1542e381f8fd0a57c76d7a4b2f0008a (diff)
Crest Mount Item Rendering Attempt 1
-rw-r--r--src/main/java/gmail/Lance5057/blocks/CrestMount.java2
-rw-r--r--src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java34
-rw-r--r--src/main/java/gmail/Lance5057/network/Message_CrestMount.java43
3 files changed, 30 insertions, 49 deletions
diff --git a/src/main/java/gmail/Lance5057/blocks/CrestMount.java b/src/main/java/gmail/Lance5057/blocks/CrestMount.java
index 9675433..84749de 100644
--- a/src/main/java/gmail/Lance5057/blocks/CrestMount.java
+++ b/src/main/java/gmail/Lance5057/blocks/CrestMount.java
@@ -23,8 +23,6 @@ import net.minecraft.tileentity.TileEntityChest;
import net.minecraft.world.World;
public class CrestMount extends BlockContainer {
- //Treat it like a normal block here. The Block Bounds are a good idea - the first three are X Y and Z of the botton-left corner,
- //And the second three are the top-right corner.
public CrestMount() {
super(Material.iron);
this.setBlockBounds(0.0F, 0.0F, 0.0F, 1.0F, 1.0F, 1.0F);
diff --git a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java b/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java
index 57921f8..b261af0 100644
--- a/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java
+++ b/src/main/java/gmail/Lance5057/blocks/Renderer_CrestMount.java
@@ -1,21 +1,29 @@
package gmail.Lance5057.blocks;
+import gmail.Lance5057.tileentities.TileEntity_CrestMount;
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.entity.RenderItem;
+import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.entity.Entity;
+import net.minecraft.entity.item.EntityItem;
+import net.minecraft.item.ItemStack;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;
+import net.minecraftforge.client.IItemRenderer;
import org.lwjgl.opengl.GL11;
-public class Renderer_CrestMount extends TileEntitySpecialRenderer {
+public class Renderer_CrestMount extends TileEntitySpecialRenderer
+{
//The model of your block
private final ModelCrestMount model;
+ EntityItem entItem = null;
public Renderer_CrestMount() {
this.model = new ModelCrestMount();
@@ -25,6 +33,7 @@ public class Renderer_CrestMount extends TileEntitySpecialRenderer {
public void renderTileEntityAt(TileEntity te, double x, double y, double z, float scale) {
GL11.glPushMatrix();
+ //Render Crest Mount
GL11.glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F);
ResourceLocation textures = (new ResourceLocation("tinkersdefense:textures/blocks/CrestMount.png"));
@@ -48,11 +57,28 @@ public class Renderer_CrestMount extends TileEntitySpecialRenderer {
GL11.glRotatef(90F, 0.5F, 0.0F, 0.0F);
GL11.glTranslatef(0, -1, -1);
-
- //A reference to your Model file. Again, very important.
this.model.render((Entity)null, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
- //Tell it to stop rendering for both the PushMatrix's
GL11.glPopMatrix();
+
+ //Render Inventory
+ int slot = 1; //Example: int slot = 1;
+ TileEntity_CrestMount tileEntity = (TileEntity_CrestMount)te;
+ 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));
+ 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);
+ RenderItem.renderInFrame = false;
+ GL11.glPopMatrix();
+ }
+
+
GL11.glPopMatrix();
}
diff --git a/src/main/java/gmail/Lance5057/network/Message_CrestMount.java b/src/main/java/gmail/Lance5057/network/Message_CrestMount.java
deleted file mode 100644
index f9567b5..0000000
--- a/src/main/java/gmail/Lance5057/network/Message_CrestMount.java
+++ /dev/null
@@ -1,43 +0,0 @@
-package gmail.Lance5057.network;
-
-import net.minecraft.entity.player.EntityPlayer;
-import net.minecraft.item.Item;
-import gmail.Lance5057.com.mod_TinkersDefense;
-import gmail.Lance5057.tileentities.TileEntity_CrestMount;
-import io.netty.buffer.ByteBuf;
-import cpw.mods.fml.common.network.simpleimpl.IMessage;
-import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
-import cpw.mods.fml.common.network.simpleimpl.MessageContext;
-
-public class Message_CrestMount implements IMessage
-{
- private int id;
-
- Message_CrestMount() {}
-
- Message_CrestMount(int id)
- {
- this.id = id;
- }
-
- @Override
- public void fromBytes(ByteBuf buf) {
- id = buf.readInt();
- }
-
- @Override
- public void toBytes(ByteBuf buf) {
- buf.writeInt(id);
- }
-
- public static class Handler implements IMessageHandler<Message_CrestMount, IMessage>
- {
- @Override
- public IMessage onMessage(Message_CrestMount message, MessageContext ctx)
- {
- EntityPlayer player = mod_TinkersDefense.proxy.getPlayerEntity(ctx);
- player.openGui(mod_TinkersDefense.instance, message.id, player.worldObj, (int) player.posX, (int) player.posY, (int) player.posZ);
- return null;
- }
-}
-}