diff options
| author | bspkrs <bspkrs@gmail.com> | 2013-12-14 17:59:11 -0500 |
|---|---|---|
| committer | bspkrs <bspkrs@gmail.com> | 2013-12-14 17:59:11 -0500 |
| commit | 3465c5723075bbf6ece3c98239230155faad958f (patch) | |
| tree | 1a49f61559d8d904e56666f0fd16684a4a0797df /common | |
| parent | ce816d8e07030b3e009d89a392bc57df6cd00c73 (diff) | |
maybe finished with model/render code for Briefcase Speakers
Diffstat (limited to 'common')
4 files changed, 160 insertions, 25 deletions
diff --git a/common/bspkrs/briefcasespeakers/block/BlockSmelter.java b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java index 6ad80d5..153949f 100644 --- a/common/bspkrs/briefcasespeakers/block/BlockSmelter.java +++ b/common/bspkrs/briefcasespeakers/block/BlockSmelter.java @@ -1,12 +1,12 @@ package bspkrs.briefcasespeakers.block; -import bspkrs.briefcasespeakers.tileentity.TileEntitySmelter; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import bspkrs.briefcasespeakers.tileentity.TileEntitySmelter; public class BlockSmelter extends BlockContainer { @@ -30,26 +30,29 @@ public class BlockSmelter extends BlockContainer @Override public boolean onBlockActivated(World world, int i, int j, int k, EntityPlayer entityPlayer, int par6, float par7, float par8, float par9) { - TileEntitySmelter te = (TileEntitySmelter)world.getBlockTileEntity(i, j, k); + TileEntitySmelter te = (TileEntitySmelter) world.getBlockTileEntity(i, j, k); ItemStack item = entityPlayer.inventory.getCurrentItem(); - if(te != null && !world.isRemote) + if (te != null && !world.isRemote) { - if(!te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) + if (!te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) { te.metalID = item.getItem().itemID; te.hasMetal = true; te.melting = 200000; --item.stackSize; } - else if(te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) entityPlayer.addChatMessage("The Smelter already contains a " + new ItemStack(te.metalID, 1, 0).getDisplayName()); - else if(te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) entityPlayer.addChatMessage("The Smelter contains molten " + new ItemStack(te.moltenMetalID, 1, 0).getDisplayName().toLowerCase().replace("ingot", "")); - else if(item != null && !item.getDisplayName().contains("Ingot")) entityPlayer.addChatMessage("The item needs to be an ingot!"); + else if (te.hasMetal && !te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) + entityPlayer.addChatMessage("The Smelter already contains a " + new ItemStack(te.metalID, 1, 0).getDisplayName()); + else if (te.hasMoltenMetal && item != null && item.getDisplayName().contains("Ingot")) + entityPlayer.addChatMessage("The Smelter contains molten " + new ItemStack(te.moltenMetalID, 1, 0).getDisplayName().toLowerCase().replace("ingot", "")); + else if (item != null && !item.getDisplayName().contains("Ingot")) + entityPlayer.addChatMessage("The item needs to be an ingot!"); - if(te.hasMetal && entityPlayer.isSneaking()) - { - entityPlayer.dropPlayerItem(new ItemStack(te.metalID, 1, 0)); + if (te.hasMetal && entityPlayer.isSneaking()) + { + entityPlayer.dropPlayerItem(new ItemStack(te.metalID, 1, 0)); te.hasMetal = false; - } + } world.setBlockTileEntity(i, j, k, te); } return true; diff --git a/common/bspkrs/briefcasespeakers/client/render/ModelBriefcaseSpeakers.java b/common/bspkrs/briefcasespeakers/client/render/ModelBriefcaseSpeakers.java new file mode 100644 index 0000000..0e23d11 --- /dev/null +++ b/common/bspkrs/briefcasespeakers/client/render/ModelBriefcaseSpeakers.java @@ -0,0 +1,76 @@ +package bspkrs.briefcasespeakers.client.render; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.model.ModelRenderer; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; + +// Date: 12/14/2013 5:18:00 PM +// Template version 1.1 +// Java generated by Techne +// Keep in mind that you still need to fill in some blanks +// - ZeuX + +@SideOnly(Side.CLIENT) +public class ModelBriefcaseSpeakers extends ModelBase +{ + ModelRenderer suitcase; + ModelRenderer speaker1; + ModelRenderer speaker3; + ModelRenderer handle3; + ModelRenderer handle2; + ModelRenderer handle1; + ModelRenderer latch2; + ModelRenderer latch1; + + public ModelBriefcaseSpeakers() + { + textureWidth = 64; + textureHeight = 32; + + suitcase = new ModelRenderer(this, 0, 0); + suitcase.addBox(0F, 0F, 0F, 14, 10, 5); + suitcase.setTextureSize(64, 32); + suitcase.mirror = true; + speaker1 = new ModelRenderer(this, 38, 0); + speaker1.addBox(0F, 0F, 0F, 5, 7, 1); + speaker1.setTextureSize(64, 32); + speaker1.mirror = true; + speaker3 = new ModelRenderer(this, 38, 0); + speaker3.addBox(0F, 0F, 0F, 5, 7, 1); + speaker3.setTextureSize(64, 32); + speaker3.mirror = true; + handle3 = new ModelRenderer(this, 5, 5); + handle3.addBox(0F, 0F, 0F, 1, 1, 1); + handle3.setTextureSize(64, 32); + handle3.mirror = true; + handle2 = new ModelRenderer(this, 5, 5); + handle2.addBox(0F, 0F, 0F, 1, 1, 1); + handle2.setTextureSize(64, 32); + handle2.mirror = true; + handle1 = new ModelRenderer(this, 5, 5); + handle1.addBox(0F, 0F, 0F, 6, 1, 1); + handle1.setTextureSize(64, 32); + handle1.mirror = true; + latch2 = new ModelRenderer(this, 38, 8); + latch2.addBox(0F, 0F, 0F, 1, 1, 2); + latch2.setTextureSize(64, 32); + latch2.mirror = true; + latch1 = new ModelRenderer(this, 38, 8); + latch1.addBox(0F, 0F, 0F, 1, 1, 2); + latch1.setTextureSize(64, 32); + latch1.mirror = true; + } + + public void renderBriefcaseSpeakers(float f5) + { + suitcase.render(f5); + speaker1.render(f5); + speaker3.render(f5); + handle3.render(f5); + handle2.render(f5); + handle1.render(f5); + latch2.render(f5); + latch1.render(f5); + } +} diff --git a/common/bspkrs/briefcasespeakers/client/render/TileEntityRenderBriefcaseSpeakers.java b/common/bspkrs/briefcasespeakers/client/render/TileEntityRenderBriefcaseSpeakers.java index 5ec065d..246eac2 100644 --- a/common/bspkrs/briefcasespeakers/client/render/TileEntityRenderBriefcaseSpeakers.java +++ b/common/bspkrs/briefcasespeakers/client/render/TileEntityRenderBriefcaseSpeakers.java @@ -1,14 +1,70 @@ package bspkrs.briefcasespeakers.client.render; +import net.minecraft.block.Block; +import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ResourceLocation; + +import org.lwjgl.opengl.GL11; + +import bspkrs.briefcasespeakers.tileentity.TileEntityBriefcaseSpeakers; public class TileEntityRenderBriefcaseSpeakers extends TileEntitySpecialRenderer { - @Override - public void renderTileEntityAt(TileEntity tileentity, double d0, double d1, double d2, float f) + private static final ResourceLocation field_110638_a = new ResourceLocation("textures/entity/sign.png"); + + /** The ModelSign instance used by the TileEntitySignRenderer */ + private final ModelBriefcaseSpeakers modelBS = new ModelBriefcaseSpeakers(); + + public void renderTileEntityBriefcaseSpeakersAt(TileEntityBriefcaseSpeakers tebs, double par2, double par4, double par6, float par8) { - // TODO Auto-generated method stub + Block block = tebs.getBlockType(); + GL11.glPushMatrix(); + float f1 = 0.6666667F; + float f2 = 0.0F; + + int i = tebs.getBlockMetadata(); + + if (i == 2) + { + f2 = 180.0F; + } + + if (i == 4) + { + f2 = 90.0F; + } + if (i == 5) + { + f2 = -90.0F; + } + + GL11.glTranslatef((float) par2 + 0.5F, (float) par4 + 0.75F * f1, (float) par6 + 0.5F); + GL11.glRotatef(-f2, 0.0F, 1.0F, 0.0F); + GL11.glTranslatef(0.0F, -0.3125F, -0.4375F); + + this.bindTexture(field_110638_a); + GL11.glPushMatrix(); + GL11.glScalef(f1, -f1, -f1); + this.modelBS.renderBriefcaseSpeakers(1.0f); + GL11.glPopMatrix(); + FontRenderer fontrenderer = this.getFontRenderer(); + f2 = 0.016666668F * f1; + GL11.glTranslatef(0.0F, 0.5F * f1, 0.07F * f1); + GL11.glScalef(f2, -f2, f2); + GL11.glNormal3f(0.0F, 0.0F, -1.0F * f2); + GL11.glDepthMask(false); + + GL11.glDepthMask(true); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + GL11.glPopMatrix(); + } + + @Override + public void renderTileEntityAt(TileEntity par1TileEntity, double par2, double par4, double par6, float par8) + { + this.renderTileEntityBriefcaseSpeakersAt((TileEntityBriefcaseSpeakers) par1TileEntity, par2, par4, par6, par8); } } diff --git a/common/bspkrs/briefcasespeakers/config/ConfigHandler.java b/common/bspkrs/briefcasespeakers/config/ConfigHandler.java index 41e2bf6..4b990bd 100644 --- a/common/bspkrs/briefcasespeakers/config/ConfigHandler.java +++ b/common/bspkrs/briefcasespeakers/config/ConfigHandler.java @@ -6,20 +6,20 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class ConfigHandler { private static Configuration config; - public static int idThiefGloves = 17493; - - public static int idSpeaker = 17495; - public static int idRemote = 17496; - public static int idShadowIngot = 17497; + public static int idThiefGloves = 17493; + + public static int idSpeaker = 17495; + public static int idRemote = 17496; + public static int idShadowIngot = 17497; - public static int idBriefcaseSpeakers = 1749; + public static int idBriefcaseSpeakers = 1749; - public static int idShadowOre = 200; - public static int idSmelter = 201; - public static int idMolder = 202; - public static int idJewelCraftingTable= 203; + public static int idShadowOre = 1750; + public static int idSmelter = 1751; + public static int idMolder = 1752; + public static int idJewelCraftingTable = 1753; - private static boolean isInitialized = false; + private static boolean isInitialized = false; public static void preInit(FMLPreInitializationEvent e) { |
