Example #1
0
 @Override
 public boolean matches(IItemStack item) {
   ItemStack internal = getItemStack(item);
   return internal != null
       && stack != null
       && internal.getItem() == stack.getItem()
       && (wildcardSize || internal.getCount() >= stack.getCount())
       && (stack.getItemDamage() == OreDictionary.WILDCARD_VALUE
           || stack.getItemDamage() == internal.getItemDamage()
           || (!stack.getHasSubtypes() && !stack.getItem().isDamageable()));
 }
Example #2
0
  @Override
  public List<IOreDictEntry> getOres() {
    List<IOreDictEntry> result = new ArrayList<>();

    for (String key : OreDictionary.getOreNames()) {
      for (ItemStack is : OreDictionary.getOres(key)) {
        if (is.getItem() == stack.getItem()
            && (is.getItemDamage() == OreDictionary.WILDCARD_VALUE
                || is.getItemDamage() == stack.getItemDamage())) {
          result.add(MineTweakerAPI.oreDict.get(key));
          break;
        }
      }
    }

    return result;
  }
Example #3
0
 @Override
 public int hashCode() {
   int hash = 7;
   hash = 41 * hash + stack.getItem().hashCode();
   hash = 41 * hash + stack.getItemDamage();
   hash = 41 * hash + stack.getCount();
   hash = 41 * hash + (stack.getTagCompound() == null ? 0 : stack.getTagCompound().hashCode());
   hash = 41 * hash + (this.wildcardSize ? 1 : 0);
   return hash;
 }
Example #4
0
 @Override
 public IItemStack withTag(IData tag) {
   ItemStack result = new ItemStack(stack.getItem(), stack.getCount(), stack.getItemDamage());
   if (tag == null) {
     result.setTagCompound(null);
   } else {
     result.setTagCompound((NBTTagCompound) NBTConverter.from(tag));
   }
   return new MCItemStack(result, tag);
 }
Example #5
0
  @Override
  public String toString() {
    StringBuilder result = new StringBuilder();
    result.append('<');
    result.append(Item.REGISTRY.getNameForObject(stack.getItem()));

    if (stack.getItemDamage() == OreDictionary.WILDCARD_VALUE) {
      result.append(":*");
    } else if (stack.getItemDamage() > 0) {
      result.append(':').append(stack.getItemDamage());
    }
    result.append('>');

    if (stack.getTagCompound() != null) {
      result.append(".withTag(");
      result.append(NBTConverter.from(stack.getTagCompound(), wildcardSize).toString());
      result.append(")");
    }

    return result.toString();
  }
Example #6
0
  @Override
  public IItemStack removeTag(String tag) {
    ItemStack result = new ItemStack(stack.getItem(), stack.getCount(), stack.getItemDamage());

    if (tag == null) {
      result.setTagCompound(null);
    } else {
      result.getTagCompound().removeTag(tag);
    }
    IData dataTag = NBTConverter.from(result.getTagCompound(), false);
    return new MCItemStack(result, dataTag);
  }
  /** Handle a creative slot packet. */
  public void handleCreativeSetSlot(Packet107CreativeSetSlot par1Packet107CreativeSetSlot) {
    if (playerEntity.theItemInWorldManager.isCreative()) {
      boolean flag = par1Packet107CreativeSetSlot.slot < 0;
      ItemStack itemstack = par1Packet107CreativeSetSlot.itemStack;
      boolean flag1 =
          par1Packet107CreativeSetSlot.slot >= 1
              && par1Packet107CreativeSetSlot.slot < 36 + InventoryPlayer.func_70451_h();
      boolean flag2 =
          itemstack == null
              || itemstack.itemID < Item.itemsList.length
                  && itemstack.itemID >= 0
                  && Item.itemsList[itemstack.itemID] != null;
      boolean flag3 =
          itemstack == null
              || itemstack.getItemDamage() >= 0
                  && itemstack.getItemDamage() >= 0
                  && itemstack.stackSize <= 64
                  && itemstack.stackSize > 0;

      if (flag1 && flag2 && flag3) {
        if (itemstack == null) {
          playerEntity.inventorySlots.putStackInSlot(par1Packet107CreativeSetSlot.slot, null);
        } else {
          playerEntity.inventorySlots.putStackInSlot(par1Packet107CreativeSetSlot.slot, itemstack);
        }

        playerEntity.inventorySlots.setPlayerIsPresent(playerEntity, true);
      } else if (flag && flag2 && flag3 && creativeItemCreationSpamThresholdTally < 200) {
        creativeItemCreationSpamThresholdTally += 20;
        EntityItem entityitem = playerEntity.dropPlayerItem(itemstack);

        if (entityitem != null) {
          entityitem.func_70288_d();
        }
      }
    }
  }
Example #8
0
  private static void writeWatchableObject(
      DataOutputStream par0DataOutputStream, WatchableObject par1WatchableObject)
      throws IOException {
    int i =
        (par1WatchableObject.getObjectType() << 5 | par1WatchableObject.getDataValueId() & 0x1f)
            & 0xff;
    par0DataOutputStream.writeByte(i);

    switch (par1WatchableObject.getObjectType()) {
      case 0:
        par0DataOutputStream.writeByte(((Byte) par1WatchableObject.getObject()).byteValue());
        break;

      case 1:
        par0DataOutputStream.writeShort(((Short) par1WatchableObject.getObject()).shortValue());
        break;

      case 2:
        par0DataOutputStream.writeInt(((Integer) par1WatchableObject.getObject()).intValue());
        break;

      case 3:
        par0DataOutputStream.writeFloat(((Float) par1WatchableObject.getObject()).floatValue());
        break;

      case 4:
        Packet.writeString((String) par1WatchableObject.getObject(), par0DataOutputStream);
        break;

      case 5:
        ItemStack itemstack = (ItemStack) par1WatchableObject.getObject();
        par0DataOutputStream.writeShort(itemstack.getItem().shiftedIndex);
        par0DataOutputStream.writeByte(itemstack.stackSize);
        par0DataOutputStream.writeShort(itemstack.getItemDamage());
        break;

      case 6:
        ChunkCoordinates chunkcoordinates = (ChunkCoordinates) par1WatchableObject.getObject();
        par0DataOutputStream.writeInt(chunkcoordinates.posX);
        par0DataOutputStream.writeInt(chunkcoordinates.posY);
        par0DataOutputStream.writeInt(chunkcoordinates.posZ);
        break;
    }
  }
 public int getItemIcon(ItemStack itemstack, int i) {
   int j = super.getItemIcon(itemstack, i);
   if (itemstack.itemID == Item.fishingRod.shiftedIndex && fishEntity != null) {
     j = itemstack.getIconIndex() + 16;
   } else {
     if (itemstack.getItem().func_46058_c()) {
       return itemstack.getItem().func_46057_a(itemstack.getItemDamage(), i);
     }
     if (itemInUse != null && itemstack.itemID == Item.bow.shiftedIndex) {
       int k = itemstack.getMaxItemUseDuration() - itemInUseCount;
       if (k >= 18) {
         return 133;
       }
       if (k > 13) {
         return 117;
       }
       if (k > 0) {
         return 101;
       }
     }
   }
   return j;
 }
Example #10
0
 @Override
 public IItemStack withAmount(int amount) {
   ItemStack result = new ItemStack(stack.getItem(), amount, stack.getItemDamage());
   result.setTagCompound(stack.getTagCompound());
   return new MCItemStack(result, tag);
 }
Example #11
0
 @Override
 public IItemStack anyAmount() {
   ItemStack result = new ItemStack(stack.getItem(), 1, stack.getItemDamage());
   result.setTagCompound(stack.getTagCompound());
   return new MCItemStack(result, tag, true);
 }
Example #12
0
 @Override
 public int getDamage() {
   return stack.getItemDamage();
 }