-
-
Save SanAndreaP/9088b8e72638205dd129 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package SanAndreasP.mods.ClaySoldiersMod; | |
import java.util.ArrayList; | |
import net.minecraft.src.*; | |
import java.util.List; | |
import cpw.mods.fml.client.FMLClientHandler; | |
import cpw.mods.fml.common.Side; | |
import cpw.mods.fml.common.asm.SideOnly; | |
import cpw.mods.fml.common.network.EntitySpawnPacket; | |
public class CSM_ItemClayMan extends Item | |
{ | |
public CSM_ItemClayMan(int i, int j) | |
{ | |
super(i); | |
// clayTeam = j; | |
maxStackSize = 16; | |
setHasSubtypes(true); | |
setMaxDamage(0); | |
setTabToDisplayOn(CreativeTabs.tabMisc); | |
} | |
@Override | |
public boolean tryPlaceIntoWorld(ItemStack par1ItemStack, EntityPlayer par2EntityPlayer, World par3World, int par4, int par5, int par6, int par7, float par8, float par9, float par10) | |
{ | |
if (par3World.isRemote) | |
{ | |
return true; | |
} | |
else | |
{ | |
int var11 = par3World.getBlockId(par4, par5, par6); | |
par4 += Facing.offsetsXForSide[par7]; | |
par5 += Facing.offsetsYForSide[par7]; | |
par6 += Facing.offsetsZForSide[par7]; | |
double var12 = 0.0D; | |
if (par7 == 1 && var11 == Block.fence.blockID || var11 == Block.netherFence.blockID) | |
{ | |
var12 = 0.5D; | |
} | |
int stack = par1ItemStack.stackSize; | |
while(par1ItemStack.stackSize > 0 && stack > 0) { | |
if (spawnClayMan(par3World, par1ItemStack.getItemDamage(), (double)par4 + 0.5D, (double)par5 + var12, (double)par6 + 0.5D) && !par2EntityPlayer.capabilities.isCreativeMode) | |
{ | |
--par1ItemStack.stackSize; | |
} | |
--stack; | |
} | |
return true; | |
} | |
} | |
public static boolean spawnClayMan(World par0World, int par1, double par2, double par4, double par6) | |
{ | |
// CSM_EntityClayMan var8 = new CSM_EntityClayMan(par0World, par2, par4, par6, par1); | |
EntityCreature var8 = new TestEntity(par0World); | |
if (var8 != null) | |
{ | |
var8.setLocationAndAngles(par2, par4, par6, par0World.rand.nextFloat() * 360.0F, 0.0F); | |
// var8.entityInit(); | |
par0World.spawnEntityInWorld(var8); | |
// if(!par0World.isRemote) var8.updateDataWatcher("clayTeam", (short)par1); | |
var8.playLivingSound(); | |
} | |
return var8 != null; | |
} | |
@Override @SideOnly(Side.CLIENT) public String getItemNameIS(ItemStack itemstack) { | |
switch(itemstack.getItemDamage()) { | |
case 0: return "claySoldier"; | |
case 1: return "redSoldier"; | |
case 2: return "yellowSoldier"; | |
case 3: return "greenSoldier"; | |
case 4: return "blueSoldier"; | |
case 5: return "orangeSoldier"; | |
case 6: return "purpleSoldier"; | |
case 7: return "pinkSoldier"; | |
case 8: return "brownSoldier"; | |
case 9: return "whiteSoldier"; | |
case 10: return "blackSoldier"; | |
case 11: return "cyanSoldier"; | |
case 12: return "lightGreySoldier"; | |
case 13: return "limeSoldier"; | |
case 14: return "lightBlueSoldier"; | |
case 15: return "magentaSoldier"; | |
case 16: return "melonSoldier"; | |
case 17: return "pumpkinSoldier"; | |
case 18: return "coalSoldier"; | |
case 19: return "redstoneSoldier"; | |
default: return "claySoldier"; | |
} | |
} | |
@Override @SideOnly(Side.CLIENT) public int getColorFromDamage(int i, int j) { | |
if(i == 0) { | |
return 0x808080; //grey | |
} else if(i == 1) { | |
return 0xB24444; //red | |
} else if(i == 2) { | |
return 0xD2D228; //yellow | |
} else if(i == 3) { | |
return 0x309630; //green | |
} else if(i == 4) { | |
return 0x3458A4; //blue | |
} else if(i == 5) { | |
return 0xE8A033; //orange | |
} else if(i == 6) { | |
return 0x9044AA; //purple | |
} else if(i == 7) { | |
return 0xF16878; //pink | |
} else if(i == 8) { | |
return 0x553322; //brown | |
} else if(i == 9) { | |
return 0xFFFFFF; //white | |
} else if(i == 10) { | |
return 0x282828; //black | |
} else if(i == 11) { | |
return 0x00FFFF; //cyan | |
} else if(i == 12) { | |
return 0xC0C0C0; //lightgrey | |
} else if(i == 13) { | |
return 0x28FF28; //lime | |
} else if(i == 14) { | |
return 0x8080FF; //lightblue | |
} else if(i == 15) { | |
return 0xFF00FF; //magenta | |
} else if(i == 18) { | |
return 0x141414; //black | |
} else if(i == 19) { | |
return 0xC53333; //red | |
} | |
return 0xFFFFFF; | |
} | |
@Override @SideOnly(Side.CLIENT) public int getIconFromDamage(int i) | |
{ | |
if(i == 16) return CSM_ModRegistry.MELONTEXTURE; | |
else if(i == 17) return CSM_ModRegistry.PUMPKINTEXTURE; | |
else return super.getIconFromDamage(i); | |
} | |
@Override public void getSubItems(int par1, CreativeTabs par2CreativeTabs, List par3List) { | |
super.getSubItems(par1, par2CreativeTabs, par3List); | |
for(int i = 1; i <= 19; i++) par3List.add(new ItemStack(this, 1, i)); | |
} | |
@Override @SideOnly(Side.CLIENT) public String getTextureFile() { | |
return CSM_ModRegistry.textureFile; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment