コード例 #1
0
  @Override
  @SideOnly(Side.CLIENT)
  public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean par4) {
    if (!stack.hasTagCompound()) return;

    NBTTagCompound tags = stack.getTagCompound();
    if (tags.hasKey("Energy")) {
      String color = "";
      // double joules = this.getJoules(stack);
      int power = tags.getInteger("Energy");

      if (power != 0) {
        if (power <= this.getMaxEnergyStored(stack) / 3) color = "\u00a74";
        else if (power > this.getMaxEnergyStored(stack) * 2 / 3) color = "\u00a72";
        else color = "\u00a76";
      }

      String energy =
          new StringBuilder()
              .append(color)
              .append(tags.getInteger("Energy"))
              .append("/")
              .append(getMaxEnergyStored(stack))
              .append(" RF")
              .toString();
      list.add(energy);
    }
    if (tags.hasKey("InfiTool")) {
      boolean broken = tags.getCompoundTag("InfiTool").getBoolean("Broken");
      if (broken) list.add("\u00A7oBroken");
      else {
        int head = tags.getCompoundTag("InfiTool").getInteger("Head");
        int handle = tags.getCompoundTag("InfiTool").getInteger("Handle");

        String headName = getAbilityNameForType(head, 0);
        if (!headName.equals("")) list.add(getStyleForType(head) + headName);

        String handleName = getAbilityNameForType(handle, 0);
        if (!handleName.equals("") && handle != head)
          list.add(getStyleForType(handle) + handleName);

        boolean displayToolTips = true;
        int tipNum = 0;
        while (displayToolTips) {
          tipNum++;
          String tooltip = "Tooltip" + tipNum;
          if (tags.getCompoundTag("InfiTool").hasKey(tooltip)) {
            String tipName = tags.getCompoundTag("InfiTool").getString(tooltip);
            if (!tipName.equals("")) list.add(tipName);
          } else displayToolTips = false;
        }
      }
    }
    int attack =
        (int) (tags.getCompoundTag("InfiTool").getInteger("Attack") * this.getDamageModifier());
    list.add(
        "\u00A79+"
            + attack
            + " "
            + StatCollector.translateToLocalFormatted("attribute.name.generic.attackDamage"));
    list.add(
        "\u00A79+"
            + tags.getCompoundTag("InfiTool").getInteger("Attack")
            + " "
            + StatCollector.translateToLocalFormatted("attribute.name.ammo.attackDamage"));
  }