diff options
| author | Lance5057 <Lance5057@gmail.com> | 2015-02-25 05:08:23 -0600 |
|---|---|---|
| committer | Lance5057 <Lance5057@gmail.com> | 2015-02-25 05:08:23 -0600 |
| commit | b9e01be7573bfe27e5fad07b7594508278a56eb4 (patch) | |
| tree | f040cc69c3868b2fd3b868db13a32c3044ecc3c4 | |
| parent | 44f9836bd1542e381f8fd0a57c76d7a4b2f0008a (diff) | |
Crest Mount Item Rendering Attempt 1
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; - } -} -} |
