Skip to content

Instantly share code, notes, and snippets.

@SanAndreaP
Created August 19, 2012 10:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save SanAndreaP/9088b8e72638205dd129 to your computer and use it in GitHub Desktop.
Save SanAndreaP/9088b8e72638205dd129 to your computer and use it in GitHub Desktop.
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