@Override public String getItemStackDisplayName(ItemStack stack) { int type = stack.getItemDamage(); ItemData data = new ItemData(stack); String s = StatCollector.translateToLocal("cc.item.needle.name"); if (type == 0) { if (data.isDirty()) { s = StatCollector.translateToLocal("cc.dirty") + " " + s; } else { s = StatCollector.translateToLocal("cc.empty") + " " + s; } } else if (type == 1) { if (data.id != -1) { return data.getCurrentEntityNameTrans() + " " + StatCollector.translateToLocal("cc.blood"); } } else if (type == 2) { if (data.id != -1) { return data.getCurrentEntityNameTrans() + " " + StatCollector.translateToLocal("cc.dna"); } } else if (type == 3) { return "Human Stem Cells"; } return s; }
public boolean tryFill( ItemStack stackBase, World world, EntityLivingBase entity, InventoryPlayer inven) { // Stack to use if (world.isRemote) { return false; } ItemStack stack = stackBase; if (stackBase.stackSize > 1) { stack = stackBase.copy(); stack.stackSize = 1; } ItemData data = new ItemData(stack); if (!data.isDirty() && stack.getItemDamage() == 0) { data.fill(entity); if (data.getId() != -1) { world.playSoundAtEntity( entity, "clonecraft:needle.extract", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + 0.5F); if (!(entity instanceof EntityPlayer) || !((EntityPlayer) entity).capabilities.isCreativeMode) { entity.attackEntityFrom(DamageSource.generic, 2.0f); entity.addPotionEffect(new PotionEffect(Potion.confusion.getId(), 400)); entity.addPotionEffect(new PotionEffect(Potion.weakness.getId(), 400)); } data.save(stack); stack.setItemDamage(1); if (stack != stackBase) { stackBase.stackSize--; CloneCraftHelper.addToInventory(inven, 0, 36, stack); if (stack.stackSize > 0) { CloneCraftHelper.dropAtEntity(entity, stack); } } return true; } } return false; }