Exemplo n.º 1
0
  @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;
  }
Exemplo n.º 2
0
  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;
  }