From 420f94c6bf27044a92d4aea3bba8de2451581f36 Mon Sep 17 00:00:00 2001 From: TheCricket Date: Wed, 3 Dec 2014 20:59:03 -0500 Subject: [PATCH] Trying to add multiblock but it aint working --- .../chisel/block/BlockAutoChisel.java | 16 ++++ .../chisel/block/ItemBlockAutoChisel.java | 28 +++++++ .../render/item/ItemAutoChiselRenderer.java | 19 ++++- .../client/render/tile/RenderAutoChisel.java | 19 ++++- .../jbcs/minecraft/chisel/init/ModBlocks.java | 2 +- .../jbcs/minecraft/chisel/init/ModItems.java | 11 ++- .../minecraft/chisel/item/ItemUpgrade.java | 72 ++++++++++++++++++ .../minecraft/chisel/proxy/ClientProxy.java | 1 + .../resources/assets/chisel/lang/en_US.lang | 7 ++ .../chisel/textures/blocks/autoChisel.pdn | Bin 4122 -> 0 bytes .../chisel/textures/blocks/autoChisel.png | Bin 588 -> 0 bytes .../chisel/textures/blocks/autoChiselOld.png | Bin 251 -> 0 bytes .../chisel/textures/items/upgradeItem_0.png | Bin 0 -> 196 bytes .../chisel/textures/items/upgradeItem_1.png | Bin 0 -> 199 bytes .../chisel/textures/items/upgradeItem_2.png | Bin 0 -> 201 bytes src/main/resources/mcmod.info | 2 +- 16 files changed, 169 insertions(+), 8 deletions(-) create mode 100644 src/main/java/info/jbcs/minecraft/chisel/block/ItemBlockAutoChisel.java create mode 100644 src/main/java/info/jbcs/minecraft/chisel/item/ItemUpgrade.java delete mode 100644 src/main/resources/assets/chisel/textures/blocks/autoChisel.pdn delete mode 100644 src/main/resources/assets/chisel/textures/blocks/autoChisel.png delete mode 100644 src/main/resources/assets/chisel/textures/blocks/autoChiselOld.png create mode 100644 src/main/resources/assets/chisel/textures/items/upgradeItem_0.png create mode 100644 src/main/resources/assets/chisel/textures/items/upgradeItem_1.png create mode 100644 src/main/resources/assets/chisel/textures/items/upgradeItem_2.png diff --git a/src/main/java/info/jbcs/minecraft/chisel/block/BlockAutoChisel.java b/src/main/java/info/jbcs/minecraft/chisel/block/BlockAutoChisel.java index 6e12ca11..6e08c09f 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/block/BlockAutoChisel.java +++ b/src/main/java/info/jbcs/minecraft/chisel/block/BlockAutoChisel.java @@ -1,10 +1,13 @@ package info.jbcs.minecraft.chisel.block; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; import info.jbcs.minecraft.chisel.Chisel; import info.jbcs.minecraft.chisel.block.tileentity.TileEntityAutoChisel; import net.minecraft.block.Block; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -12,6 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; +import java.util.List; import java.util.Random; public class BlockAutoChisel extends BlockContainer { @@ -51,6 +55,18 @@ public class BlockAutoChisel extends BlockContainer { super.breakBlock(world, x, y, z, block, par6); } + @Override + public int damageDropped(int metadata){ + return metadata; + } + + @SideOnly(Side.CLIENT) + public void getSubBlocks(int metadata, CreativeTabs creativeTabs, List subItems){ + for(int x = 0; x < 4; x++){ + subItems.add(new ItemStack(this, 1, x)); + } + } + private void dropItems(World world, int x, int y, int z) { Random random = new Random(); TileEntity tileEntity = world.getTileEntity(x, y, z); diff --git a/src/main/java/info/jbcs/minecraft/chisel/block/ItemBlockAutoChisel.java b/src/main/java/info/jbcs/minecraft/chisel/block/ItemBlockAutoChisel.java new file mode 100644 index 00000000..9643f51d --- /dev/null +++ b/src/main/java/info/jbcs/minecraft/chisel/block/ItemBlockAutoChisel.java @@ -0,0 +1,28 @@ +package info.jbcs.minecraft.chisel.block; + +import net.minecraft.block.Block; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; + +public class ItemBlockAutoChisel extends ItemBlock{ + + private final String[] names = {"base", "speed", "automation", "stack"}; + private int metadata; + + public ItemBlockAutoChisel(Block block) { + super(block); + setMaxDamage(0); + setHasSubtypes(true); + } + + @Override + public int getMetadata(int meta){ + return meta; + } + + @Override + public String getUnlocalizedName(ItemStack itemStack){ + return getUnlocalizedName() + "." + names[itemStack.getItemDamage()]; + } + +} diff --git a/src/main/java/info/jbcs/minecraft/chisel/client/render/item/ItemAutoChiselRenderer.java b/src/main/java/info/jbcs/minecraft/chisel/client/render/item/ItemAutoChiselRenderer.java index 708d5347..2f0ee2bf 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/client/render/item/ItemAutoChiselRenderer.java +++ b/src/main/java/info/jbcs/minecraft/chisel/client/render/item/ItemAutoChiselRenderer.java @@ -10,7 +10,7 @@ import org.lwjgl.opengl.GL11; public class ItemAutoChiselRenderer implements IItemRenderer{ private final ModelAutoChisel model = new ModelAutoChisel(); - private final ResourceLocation texture = new ResourceLocation("chisel:textures/blocks/autoChisel.png"); + private ResourceLocation texture; @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { @@ -24,6 +24,23 @@ public class ItemAutoChiselRenderer implements IItemRenderer{ @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + switch (item.getItemDamage()){ + case 0: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); + break; + case 1: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_speed.png"); + break; + case 2: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_automation.png"); + break; + case 3: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_stack.png"); + break; + default: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); + break; + } FMLClientHandler.instance().getClient().renderEngine.bindTexture(texture); switch (type){ case ENTITY: diff --git a/src/main/java/info/jbcs/minecraft/chisel/client/render/tile/RenderAutoChisel.java b/src/main/java/info/jbcs/minecraft/chisel/client/render/tile/RenderAutoChisel.java index 5c9226ba..8a38a9af 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/client/render/tile/RenderAutoChisel.java +++ b/src/main/java/info/jbcs/minecraft/chisel/client/render/tile/RenderAutoChisel.java @@ -21,7 +21,7 @@ public class RenderAutoChisel extends TileEntitySpecialRenderer { private static EntityItem ghostItem; private static TileEntityAutoChisel autoChisel; private final ModelAutoChisel model; - private final ResourceLocation texture = new ResourceLocation("chisel:textures/blocks/autoChisel.png"); + private ResourceLocation texture; private final RenderItem renderTargetAndChisel, renderBase; public RenderAutoChisel(){ @@ -46,6 +46,23 @@ public class RenderAutoChisel extends TileEntitySpecialRenderer { @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float scale) { + switch (tile.getBlockMetadata()){ + case 0: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); + break; + case 1: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_speed.png"); + break; + case 2: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_automation.png"); + break; + case 3: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel_stack.png"); + break; + default: + texture = new ResourceLocation("chisel:textures/blocks/autoChisel/autoChisel.png"); + break; + } bindTexture(texture); glPushMatrix(); glTranslatef((float) x + 0.5F, (float) y + 1.5F, (float) z + 0.5F); diff --git a/src/main/java/info/jbcs/minecraft/chisel/init/ModBlocks.java b/src/main/java/info/jbcs/minecraft/chisel/init/ModBlocks.java index 380608e5..fc320388 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/init/ModBlocks.java +++ b/src/main/java/info/jbcs/minecraft/chisel/init/ModBlocks.java @@ -87,7 +87,7 @@ public class ModBlocks { { if(Configurations.featureEnabled("autoChisel")){ autoChisel = new BlockAutoChisel().setBlockTextureName("Chisel:autoChisel").setCreativeTab(ModTabs.tabChisel).setBlockName("autoChisel"); - GameRegistry.registerBlock(autoChisel, autoChisel.getUnlocalizedName()); + GameRegistry.registerBlock(autoChisel, ItemBlockAutoChisel.class, "autoChisel"); Chisel.proxy.registerTileEntities(); } diff --git a/src/main/java/info/jbcs/minecraft/chisel/init/ModItems.java b/src/main/java/info/jbcs/minecraft/chisel/init/ModItems.java index 7f1aae93..18de8a1a 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/init/ModItems.java +++ b/src/main/java/info/jbcs/minecraft/chisel/init/ModItems.java @@ -7,16 +7,14 @@ import info.jbcs.minecraft.chisel.Configurations; import info.jbcs.minecraft.chisel.entity.EntityBallOMoss; import info.jbcs.minecraft.chisel.entity.EntityCloudInABottle; import info.jbcs.minecraft.chisel.entity.EntitySmashingRock; -import info.jbcs.minecraft.chisel.item.ItemBallOMoss; -import info.jbcs.minecraft.chisel.item.ItemChisel; -import info.jbcs.minecraft.chisel.item.ItemCloudInABottle; -import info.jbcs.minecraft.chisel.item.ItemSmashingRock; +import info.jbcs.minecraft.chisel.item.*; public class ModItems { public static ItemChisel chisel; public static ItemCloudInABottle itemCloudInABottle; public static ItemBallOMoss itemBallOMoss; public static ItemSmashingRock smashingRock; + public static ItemUpgrade upgrade; public static void load() { chisel = (ItemChisel) new ItemChisel().setTextureName("chisel:chisel").setCreativeTab(ModTabs.tabChisel); @@ -39,5 +37,10 @@ public class ModItems { EntityRegistry.registerModEntity(EntitySmashingRock.class, "SmashingRock", 2, Chisel.instance, 40, 1, true); GameRegistry.registerItem(smashingRock, "smashingrock"); } + + if(Configurations.featureEnabled("autoChiselUpgrades")){ + upgrade = (ItemUpgrade) new ItemUpgrade("upgrade").setCreativeTab(ModTabs.tabChisel); + GameRegistry.registerItem(upgrade, upgrade.getUnlocalizedName()); + } } } diff --git a/src/main/java/info/jbcs/minecraft/chisel/item/ItemUpgrade.java b/src/main/java/info/jbcs/minecraft/chisel/item/ItemUpgrade.java new file mode 100644 index 00000000..114ec470 --- /dev/null +++ b/src/main/java/info/jbcs/minecraft/chisel/item/ItemUpgrade.java @@ -0,0 +1,72 @@ +package info.jbcs.minecraft.chisel.item; + +import info.jbcs.minecraft.chisel.Chisel; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.util.StatCollector; +import net.minecraft.world.World; + +import java.util.List; + +public class ItemUpgrade extends Item{ + + public IIcon[] icons = new IIcon[6]; + + public ItemUpgrade(String unlocalizedName) { + super(); + this.setUnlocalizedName(unlocalizedName); + this.setCreativeTab(CreativeTabs.tabMaterials); + } + + @Override + public ItemStack onItemRightClick(ItemStack itemStack, World world, EntityPlayer player){ + System.out.println(this.getIconFromDamage(itemStack.getItemDamage())); + return itemStack; + } + + @Override + public void addInformation(ItemStack itemStack, EntityPlayer player, List list, boolean par4){ + list.add(StatCollector.translateToLocal(this.getUnlocalizedName(itemStack) + ".desc")); + } + + @Override + public IIcon getIconFromDamage(int meta) { + if (meta > 3) + meta = 0; + + return this.icons[meta]; + } + + @Override + public void registerIcons(IIconRegister reg) { + for (int i = 0; i < 3; i ++) { + this.icons[i] = reg.registerIcon(Chisel.MOD_ID + ":upgradeItem_" + i); + } + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) { + for (int i = 0; i < 3; i ++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + switch (stack.getItemDamage()) { + case 0: + return this.getUnlocalizedName() + "_speed"; + case 1: + return this.getUnlocalizedName() + "_automation"; + case 2: + return this.getUnlocalizedName() + "_stack"; + default: + return this.getUnlocalizedName(); + } + } +} diff --git a/src/main/java/info/jbcs/minecraft/chisel/proxy/ClientProxy.java b/src/main/java/info/jbcs/minecraft/chisel/proxy/ClientProxy.java index 34e1c166..e159e4e7 100644 --- a/src/main/java/info/jbcs/minecraft/chisel/proxy/ClientProxy.java +++ b/src/main/java/info/jbcs/minecraft/chisel/proxy/ClientProxy.java @@ -15,6 +15,7 @@ import info.jbcs.minecraft.chisel.entity.EntityCloudInABottle; import info.jbcs.minecraft.chisel.entity.EntitySmashingRock; import info.jbcs.minecraft.chisel.init.ModBlocks; import info.jbcs.minecraft.chisel.init.ModItems; +import net.minecraft.block.Block; import net.minecraft.client.renderer.entity.RenderSnowball; import net.minecraft.item.Item; import net.minecraftforge.client.MinecraftForgeClient; diff --git a/src/main/resources/assets/chisel/lang/en_US.lang b/src/main/resources/assets/chisel/lang/en_US.lang index 1a0892ad..eba87ad9 100644 --- a/src/main/resources/assets/chisel/lang/en_US.lang +++ b/src/main/resources/assets/chisel/lang/en_US.lang @@ -5,6 +5,13 @@ item.chisel.name=Chisel item.ballMoss.name=Ball O' Moss item.cloudBottle.name=Cloud In A Bottle item.smashingRock.name=Smashing Rock +item.upgrade_speed.name=Speed Upgrade +item.upgrade_automation.name=Automation Upgrade +item.upgrade_stack.name=Stack Upgrade + +item.upgrade_speed.desc=Increases the rate at which it works +item.upgrade_automation.desc=Allows things to push in and out of the Auto Chisel +item.upgrade_stack.desc=Allows it to manufacture stacks at a time # Block localizations # Have fun! ~zombiepig333 diff --git a/src/main/resources/assets/chisel/textures/blocks/autoChisel.pdn b/src/main/resources/assets/chisel/textures/blocks/autoChisel.pdn deleted file mode 100644 index a3d7bb2cd4bd03c26a30960d2f283c290c564983..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4122 zcmd^BeQXkBm*z1eE>LZ7ov&*boz9qLU^SCNx%rS_w_#LqZIYDx_%)ftVPb$W|@kea=Y} zkB*K%_^Yqw=l#6j`@GNdd!Oe`hm$UG7cpAr#8{0fBTJL#)XJFE;k8;Sh%Z;vPFrAF zNLI$IPOC*>mJm0~tCc(+;U#g*>b6lfkHhP?Ih>TwZ9O*1HWXE=9UE0Ejat!C7t3Q- zJ|9d?H>s&;S)y@CW^C zn3`=5kE>OMse9XvSW-+ny}@y}<8*7D4<@KkXks|(vDX7ACIt#oU?!J~O;4b(;ucdb zUQURp!t&t>T8J{ycq!)=m#8GRZfeOl<;*UIoq4`c%KG#HQIKU-a?JC!>OYv07Q)7Y&sWr`lKj>^OpPHWXgbK0PnAKuG zHfrA@gMEu*#|Rz%5yS>AP($h4g+(&W@S+-))Fe`EVMb*}EL$Awrr3xj)DYB$jK)ON zP-R9Kv7{SCfoG>sYeuRfaZGFof&swycVS9wqlQG)h$nXQN|;ybl7cv6husE^`^FCK z$y+r4Tth)}0;vp#HHxXIrVx69=;_hjyAwJN7bMOrDjdXYz9-vK@KW2R{_p5E`yojX z5Ub*Aqu8QIL^99Xu+n)(XdnzHKk7VjVsmL$m3gr|VyP*tBny18+ZdFMy0aCEJ|E*@ zJzht^W*3k*5D zz=N^-cMK?e8|~fEU+P34J%+!npF6$)Ndgy06Bf_|<@B)WC)}jzv5;U+OR{kx!HZA@ z8@#}g3)5(chiHdC!tOPjVJQ@9KS6xiP7o$IqDE_&>3RFEaJYUAU*Wsss6d;ZDry;) z;Hv6$MiLL~K7y9{l1*jGF5_<8KRyb53(t*NU6jXa5pX23I^0%^+NvWhd1_yeS=s1# zy(nfH#af<5Co_W?F27}eN^;d*buJ1FBGJYe6(cLs2V*6?vk?!ddOmQ8rN zyb1UI7F>TfoWlrLz_$a=k6|=8{}vq9e-lp2%yb08dq>OnwqW;m!#a)oJ_(DJ`mC@6 za6RGnkoZm!i?i>=e!~pmQcSi3Zuhy8l7Q?mNP?x1T zl2sllCZ!>l7#0m^lf&Cdqqj4l<&3^gyOTLKS8hXSkw$;?Q}!F)v3L5`wm`RiJHN?M(48XQeqbG2~jPFKSt$5vJg;CPlL&(gb5|U-a z;b~H*0|INo5o(>uqE#Spxl3LfI&ddgUkBa;lWrTNce_mxuMRzBhFLs4_1vXDzb5_S z%>E1d{XKvB9(f|Y_U?VBet=Foo_YK)p{vy5z&BnRIzRu+v)7g`{y{qYG1 zhq+gN_qXwX4aEfle?R^$*U5jZ+DCr*#+7sHXMeNz zr8N`t>hpt_uRkiNuYLcmk1nna5kEfj+YdX(fmqimXSUCAb7SL?pREkC2M?axu*9ES zU)fmyHZo4U`TDA9rRnB$xgDcdRN*DiXy7c6pUhXHB!S9}%`D*OazQ+zde_>;l zdU5H>jrSk=&f1%YUcO&2{;2)z(dz3T#eUWM>*zPX!hQVqyODmMeB+)YMxy!i7cYY% F{|5h;`Pcve diff --git a/src/main/resources/assets/chisel/textures/blocks/autoChisel.png b/src/main/resources/assets/chisel/textures/blocks/autoChisel.png deleted file mode 100644 index 4bf01a7f7b9a46a528239fe5f0411d2ac47a060d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^4nVBH!3HE3&8=$zQY`6?zK#qG8~eHcB(eheoCO|{ z#S9F5hd`K7RKu$QC@4|l8c`CQpH@?dEl^R2gKKVy@RJuaMQ{OqF+`^RvF7zG!Oh=L{&9mkf3912~MiftC>+Ycu` z>*3x!nh=Ii`3@+esgq%q>o0(+<=#BmrV^3;J(Xw``C=@uS2&p z7RF?DB`&l+$lw|*s0&o^!*6+TUM-i@W|4FD_Q&hFoZi&BZt&-wz$U&|vKStQZR(e3lMJq9i*WtD^Zin{U#FQQ zLsnQh?&ueuDKK4H-lV5cUtyBrw$A&7f2Zmmdzs9)^@z--rj=F24<(f1 z=eugfB*i~S~8zV;;%`v^RZQ9n78%}P-Ca3i(^PdoamYTyiE=w z2Oi!(&6+Le!d~(3rO$!e4ReGW7A~7`YFdSK!kq&Fo13g}ST{AV_&c5d;+3Te1s`^; zDP|1aKUdHx_1Zn@-?LTjJ!6XftTb=~(3&hWE5V_Dt!>k~xb(9wh0|9CzxOWd zf1b}J+P!kJ54T43k*TwqmpSp>u-lXSdF8%_Ac^&I-;E4_j$-h1^>bP0l+XkKk?3Z| diff --git a/src/main/resources/assets/chisel/textures/items/upgradeItem_0.png b/src/main/resources/assets/chisel/textures/items/upgradeItem_0.png new file mode 100644 index 0000000000000000000000000000000000000000..54fb1b4af1e9cd471332bea302fc6978870a2888 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*bKn+Jgm~pB$pEOV~($mE;#KJ$hMtkw6`HegWSe6ztJyb7WpcB#% zuB_*)&=9QbA$&nPKu+zzs)-ZS1P)yA=us1JxahG4Mjnu~XkoZ16&S>~ufmyqi+9lu ehM7{55)6wfC0&|jOKgFbFnGH9xvX!lvI6;>1s;*bKn+Jgm~pB$pEOV~#?!?y#KM1WKO@%x0}kfW|Nl2fC#24foB7sJ zV~We-*^x0(&vx8T-PRmox@cSZ^sftZWE3UaIo5bRyR(Qz)1`h#;N|;Db@?J9dG}{b pd~BQ-rpvE=P%mQZ;j{~HSUL_UNmw^FbO7yP@O1TaS?83{1OVR|K+XUF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/chisel/textures/items/upgradeItem_2.png b/src/main/resources/assets/chisel/textures/items/upgradeItem_2.png new file mode 100644 index 0000000000000000000000000000000000000000..fda24ee88ab33f46848c36d89e8277253ae1f26c GIT binary patch literal 201 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh1|;P@bT0xa#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*bKn+Jgm~pB$pEOV~&eO#)#KJ#0CF08?duGW7POr&42Dv?x8;mX- zSR@|6#v)Lrbw**4$)ej`%Q#s$ehYT12^?4_xJ06zP2xblvWIcs0VQiI0Vzkd!v;JL pHt@21IIb*Lf64yj#FY~p85uUtkv}Z{C