public void render(@Nonnull ItemStack droneHeldItem) { EntityItem carriedItem = new EntityItem(world); carriedItem.hoverStart = 0.0F; carriedItem.setItem(droneHeldItem); double scaleFactor = carriedItem.getItem().getItem() instanceof ItemBlock ? 0.7F : 0.5F; double yOffset = -0.2F; if (carriedItem.getItem().getItem() instanceof ItemTool || carriedItem.getItem().getItem() instanceof ItemSword) { // since items are rendered suspended under the drone, // holding tools upside down looks more natural - especially if the drone is digging with them GlStateManager.rotate(180, 1, 0, 0); } GlStateManager.translate(0, yOffset, 0); GlStateManager.scale(scaleFactor, scaleFactor, scaleFactor); customRenderItem.doRender(carriedItem, 0, 0, 0, 0, 0); }
public boolean instanceOf(IItemType type) { if (type.equals(IItemType.ItemFishingRod)) { return item instanceof ItemFishingRod; } else if (type.equals(IItemType.ItemPotion)) { return item instanceof ItemPotion; } else if (type.equals(IItemType.ItemFood)) { return item instanceof ItemFood; } else if (type.equals(IItemType.ItemSword)) { return item instanceof ItemSword; } else if (type.equals(IItemType.ItemTool)) { return item instanceof ItemTool; } else if (type.equals(IItemType.ItemNameTag)) { return item instanceof ItemNameTag; } else if (type.equals(IItemType.ItemBlock)) { return item instanceof ItemBlock; } else if (type.equals(IItemType.ItemHoe)) { return item instanceof ItemHoe; } return false; }
@Override public boolean matches(InventoryCrafting inv, World worldIn) { int australium = 0; ItemStack stack2 = ItemStack.EMPTY; for (int x = 0; x < inv.getSizeInventory(); x++) { ItemStack stack = inv.getStackInSlot(x); if (!stack.isEmpty()) if (stack.getItem() == TF2weapons.itemTF2 && stack.getMetadata() == 2) { if (australium < 8) australium++; else return false; } else if (stack2.isEmpty() && (stack.getItem() instanceof ItemTool || stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemUsable || stack.getItem() instanceof ItemCloak)) stack2 = stack; else return false; } // System.out.println("matches "+(australium&&stack2!=null)); return australium == 8 && !stack2.isEmpty(); }
/** Can the player treecapitate based on the block selected? */ private boolean canTreecapitate(EntityPlayerMP player, BlockPos pos, IBlockState blockState) { // can't harvest blacklisted mods and logs if(HarvestConfig.modLogBlacklist.contains(blockState.getBlock().getRegistryName().getResourceDomain())) return false; if(HarvestConfig.logBlacklist.contains(blockState.getBlock().getRegistryName().toString())) return false; // make sure the tool is a valid axe and such ItemStack heldStack = player.getHeldItemMainhand(); if(heldStack != null && heldStack.getItem() instanceof ItemTool && playerSneakModeValid(player)) { ItemTool tool = (ItemTool)heldStack.getItem(); for(String tc : tool.getToolClasses(heldStack)) { if(tc.equals("axe")) { // now iterate through the drops to make sure the block is an oredict log for(ItemStack s : blockState.getBlock().getDrops(player.worldObj, pos, blockState, 0)) { for(int id : OreDictionary.getOreIDs(s)) { if(OreDictionary.getOreName(id).equals("logWood")) { return true; } } } } } } return false; }
@Override public void onBlockDestroyedByPlayer(World worldIn, BlockPos pos, IBlockState state) { EntityPlayer player = worldIn.getClosestPlayer(pos.getX(), pos.getY(), pos.getZ(), 10.0d, false); try { if (!player.capabilities.isCreativeMode) { if (player.getHeldItem(EnumHand.MAIN_HAND).getItem() instanceof ItemTool) { } else this.trigger(worldIn, pos, state.withProperty(EXPLODE, true)); } } catch (Exception e) { try { if (!player.capabilities.isCreativeMode) this.trigger(worldIn, pos, state.withProperty(EXPLODE, true)); } catch (Exception e2) { LogHelper.error(e2 + ": This is caused by an unrelated mod. Under normal conditions, this wont happen."); this.trigger(worldIn, pos, state.withProperty(EXPLODE, true)); } } }
public boolean isBlazonium(EntityPlayer player){ ItemStack item=player.getHeldItemMainhand(); if(item==null) return false; if(item.getItem()instanceof ItemTool){ if(((ItemTool)(item.getItem())).getToolMaterial()==ToolMaterials.Blazonium) return true; } if(item.getItem()instanceof ItemSword){ if(((ItemSword)(item.getItem())).getToolMaterialName().equals("Blazonium")) return true; } if(item.getItem()instanceof ItemHoe){ if(((ItemHoe)(item.getItem())).getMaterialName().equals("Blazonium")) return true; } return false; }
public boolean isEmerald(EntityPlayer player){ ItemStack item=player.getHeldItemMainhand(); if(item==null) return false; if(item.getItem()instanceof ItemTool){ if(((ItemTool)(item.getItem())).getToolMaterial()==ToolMaterials.Emerald) return true; } if(item.getItem()instanceof ItemSword){ if(((ItemSword)(item.getItem())).getToolMaterialName().equals("Emerald")) return true; } if(item.getItem()instanceof ItemHoe){ if(((ItemHoe)(item.getItem())).getMaterialName().equals("Emerald")) return true; } return false; }
@Override protected void nerfStandardRecipes () { for (Item item : (Iterable<Item>) GameData.getItemRegistry()) { if ((item instanceof ItemTool || item instanceof ItemSword) && !isBBTool(item)) { String repairMaterial = BetterBeginningsHandler.getToolRepairMaterial(item); if (!Strings.isNullOrEmpty(repairMaterial) && !OreDictionary.getOres(repairMaterial).isEmpty()) { nerfToolRecipe(new ItemStack(item), repairMaterial); } } } }
public static String getToolRepairMaterial (final Item tool) { for (String oreDictName : OreDictionary.getOreNames()) { if (!Strings.isNullOrEmpty(oreDictName)) { for (ItemStack ore : OreDictionary.getOres(oreDictName)) { if (tool instanceof ItemTool && ((ItemTool) tool).getIsRepairable(new ItemStack(tool), ore)) { return oreDictName; } else if (tool instanceof ItemSword && ((ItemSword) tool).getIsRepairable(new ItemStack(tool), ore)) { return oreDictName; } } } } return StringUtils.EMPTY; }
private int getItemBurnTime(ItemStack stack) { if (stack == null || stack.stackSize <= 0) { return 0; } else { Item item = stack.getItem(); if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) { Block block = Block.getBlockFromItem(item); if (block == Blocks.wooden_slab) return 150; if (block.getMaterial() == Material.wood) return 300; if (block == Blocks.coal_block) return 16000; } if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) return 200; if (item == Items.stick) return 100; if (item == Items.coal) return 1600; if (item == Items.lava_bucket) return 20000; if (item == Item.getItemFromBlock(Blocks.sapling)) return 100; if (item == Items.blaze_rod) return 2400; return net.minecraftforge.fml.common.registry.GameRegistry.getFuelValue(stack); } }
public static int getItemBurnTime(ItemStack stack) { if (stack == null) { return 0; } else { Item item = stack.getItem(); //If block if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) { Block block = Block.getBlockFromItem(item); if (block == Blocks.wooden_slab) return 150; if (block.getMaterial() == Material.wood) return 300; if (block == Blocks.coal_block) return 16000; } if (item instanceof ItemTool && ((ItemTool)item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemSword && ((ItemSword)item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemHoe && ((ItemHoe)item).getToolMaterialName().equals("WOOD")) return 200; if (item == Items.stick) return 100; if (item == Items.coal) return 1600; if (item == Items.lava_bucket) return 20000; if (item == Item.getItemFromBlock(Blocks.sapling)) return 100; if (item == Items.blaze_rod) return 2400; return GameRegistry.getFuelValue(stack); } }
public void mineOutEverything(int[][] locations, BreakEvent event) { EntityPlayer player = event.getPlayer(); ItemStack current = player.getCurrentEquippedItem(); for (int i = 0; i < locations.length; i++) { int curX = event.x + locations[i][0]; int curY = event.y + locations[i][1]; int curZ = event.z + locations[i][2]; Block miningBlock = event.world.getBlock(curX, curY, curZ); int meta = event.world.getBlockMetadata(curX, curY, curZ); if (canHarvestBlock(player, event.block, miningBlock, meta, curX, curY, curZ)) { if (!((ItemTool) current.getItem()).onBlockStartBreak(current, curX, curY, curZ, player)) { mineBlock(event.world, curX, curY, curZ, meta, player, miningBlock); ((ItemTool) current.getItem()).onBlockDestroyed(current, event.world, miningBlock, curX, curY, curZ, player); player.addExhaustion((float) 0.025); } } } }
private boolean canHarvestBlock(EntityPlayer player, Block origBlock, Block block, int meta, int x, int y, int z) { ItemStack current = player.getCurrentEquippedItem(); if (current == null) return false; String toolClass = getToolClass(current.getItem().getClass()); if (toolClass == null) return false; float hardness = block.getBlockHardness(player.worldObj, x, y, z); float digSpeed = ((ItemTool) current.getItem()).getDigSpeed(current, block, meta); // It works. It just does. return (digSpeed > 1.0F && block.getHarvestLevel(meta) <= ((ItemTool) current.getItem()).getHarvestLevel(current, toolClass) && hardness >= 0 && origBlock .getBlockHardness(player.worldObj, x, y, z) >= hardness - 1.5); }
@SubscribeEvent(priority = EventPriority.HIGHEST) public void onTooltip(ItemTooltipEvent event) { ArrayList<String> tooltip = (ArrayList<String>) event.getToolTip(); ItemStack stack = event.getItemStack(); NBTTagCompound nbt = NBTHelper.loadStackNBT(stack); if (stack != null && nbt != null) { if (stack.getItem() instanceof ItemSword || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemBow || stack.getItem() instanceof ItemShield || stack.getItem() instanceof ItemTool) { Rarity rarity = Rarity.getRarity(nbt); if (rarity != Rarity.DEFAULT) { addTooltips(tooltip, stack, nbt); } } } }
public static int getItemBurnTime(ItemStack itemstack){ if(itemstack == null){ return 0; }else{ Item item = itemstack.getItem(); if(item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air){ Block block = Block.getBlockFromItem(item); if(block == CocoaBlocks.cocoaDryer){ return 200; } if(block.getMaterial() == Material.rock){ return 300; } } if(item == Items.coal) return 1600; if(item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("EMERALD")) return 300; return GameRegistry.getFuelValue(itemstack); } }
@Override protected boolean isItemValid(TileEntity tileEntity, ItemStack itemStack) { Class<?> cls = tileEntity.getClass(); if(cls != TEToolRack.class) return false; Item item = itemStack.getItem(); return item instanceof ItemTool || item instanceof ItemWeapon || item instanceof ItemHoe || item instanceof ItemProPick || item instanceof ItemBow || item instanceof ItemSword || item instanceof ItemAxe || item instanceof ItemSpade || item instanceof ItemShears || item instanceof ItemSpindle ; }
private boolean isAxeTool(ItemStack par1ItemStack) { if (par1ItemStack != null) { if (par1ItemStack.getItem() instanceof ItemTool) { ItemTool tool = (ItemTool) par1ItemStack.getItem(); if (tool.getDigSpeed(par1ItemStack, Blocks.log.getDefaultState()) > 1F) { return true; } } } return false; }
public PhysisToolMaterial(String orename, ItemStack ingot, String stickorename, ItemStack stick, ItemStack pick, Object source) { //Physis.logger.info("Registering material for "+orename+" with ingot "+ingot+", stick "+stick+" and pick "+pick); this.id = nextId; materialsById.add(this); nextId++; this.orename = orename; this.orematerial = orename.replaceFirst("[^A-Z]*(?=[A-Z])", ""); this.ingot = ingot; this.stick = stick; this.stickorename = stickorename; this.pick = pick; this.pickitem = (ItemTool)(pick.getItem()); this.toolmaterial = this.pickitem.func_150913_i(); this.maxdamage = this.toolmaterial.getMaxUses(); this.sourceRecipe = source; }
public static int func_70398_a(ItemStack p_70398_0_) { if(p_70398_0_ == null) { return 0; } else { int var1 = p_70398_0_.func_77973_b().field_77779_bT; Item var2 = p_70398_0_.func_77973_b(); if(var1 < 256 && Block.field_71973_m[var1] != null) { Block var3 = Block.field_71973_m[var1]; if(var3 == Block.field_72092_bO) { return 150; } if(var3.field_72018_cp == Material.field_76245_d) { return 300; } if(var3 == Block.field_111034_cE) { return 16000; } } return var2 instanceof ItemTool && ((ItemTool)var2).func_77861_e().equals("WOOD")?200:(var2 instanceof ItemSword && ((ItemSword)var2).func_77825_f().equals("WOOD")?200:(var2 instanceof ItemHoe && ((ItemHoe)var2).func_77842_f().equals("WOOD")?200:(var1 == Item.field_77669_D.field_77779_bT?100:(var1 == Item.field_77705_m.field_77779_bT?1600:(var1 == Item.field_77775_ay.field_77779_bT?20000:(var1 == Block.field_71987_y.field_71990_ca?100:(var1 == Item.field_77731_bo.field_77779_bT?2400:0))))))); } }
@SubscribeEvent public void OnBlockBreak(HarvestDropsEvent event) { if(event.harvester != null && event.harvester.getHeldItem() != null && event.harvester.getHeldItem().getItem() != null) { if(event.harvester.getHeldItem().getItem() instanceof ItemTool && ((ItemTool) event.harvester.getHeldItem().getItem()).func_150913_i() == ModTools.FYRESTONE && !event.isSilkTouching) { if(FurnaceRecipes.smelting().getSmeltingResult(new ItemStack(event.block.getItemDropped(event.blockMetadata, event.world.rand, event.fortuneLevel))) != null) { event.drops.clear(); event.world.playSoundAtEntity(event.harvester, "random.fizz", 0.7f, 1.6f); event.drops.add(new ItemStack(FurnaceRecipes.smelting().getSmeltingResult(new ItemStack(event.block.getItemDropped(event.blockMetadata, event.world.rand, event.fortuneLevel))).getItem(), 1, FurnaceRecipes.smelting().getSmeltingResult(new ItemStack(event.block.getItemDropped(event.blockMetadata, event.world.rand, event.fortuneLevel))).getItemDamage())); } else if(event.block.isFlammable(event.world, event.x, event.y, event.z, ForgeDirection.WEST)) { event.drops.clear(); event.world.playSoundAtEntity(event.harvester, "random.fizz", 0.7f, 1.6f); } } else if(event.harvester.getHeldItem().getItem() instanceof ItemTool && ((ItemTool) event.harvester.getHeldItem().getItem()).func_150913_i() == ModTools.VOIDIUM) { event.drops.clear(); event.world.playSoundAtEntity(event.harvester, "mob.endermen.portal", 1.0f, 1.6f); } } }
public static void preInit() { for (final Object o : IceAndShadow2.getPreRegistrationHandlers()) { IaSRegistry.doAdd(o); } setPrimarilyTransfusionTarget(ItemArmor.class); setPrimarilyTransfusionTarget(ItemTool.class); setPrimarilyTransfusionTarget(ItemSword.class); setPrimarilyTransfusionTarget(ItemHoe.class); setPrimarilyTransfusionTarget(ItemShears.class); setPrimarilyTransfusionTarget(ItemFlintAndSteel.class); setPrimarilyTransfusionTarget(ItemBow.class); setPrimarilyTransfusionTarget(ItemFishingRod.class); setPrimarilyTransfusionTarget(IaSItemEchirArmorActive.class); setPrimarilyTransfusionTarget(IaSItemEchirKnifeActive.class); setPrimarilyTransfusionTarget(IaSItemEchirToolActive.class); setPrimarilyTransfusionTarget(IaSItemToolBroken.class); setPrimarilyTransfusionTarget(NyxBaseItemBow.class); setPrimarilyTransfusionTarget(NyxItemFlask.class); setPrimarilyTransfusionTarget(NyxItemSwordFrost.class); addGrenadeLogic(new NyxGrenadeExplosive()); addGrenadeLogic(new NyxGrenadeIceWall()); addGrenadeLogic(new NyxGrenadeShadow()); }
@SubscribeEvent public void onHarvestDrops(HarvestDropsEvent event) { if ((event.block != Blocks.gravel) || event.isSilkTouching) return; double chance = 0; ItemStack holding = ((event.harvester != null) ? event.harvester.getCurrentEquippedItem() : null); ItemTool tool = (((holding != null) && (holding.getItem() instanceof ItemTool)) ? (ItemTool)holding.getItem() : null); if ((tool != null) && tool.getToolClasses(holding).contains("shovel")) { chance = 0.35 - tool.getHarvestLevel(holding, "shovel") * 0.15; if (event.fortuneLevel > 0) chance += event.fortuneLevel * 0.15; } event.drops.clear(); event.drops.add(RandomUtils.getBoolean(chance) ? new ItemStack(Items.flint) : new ItemStack(Blocks.gravel)); }
public static int getType(ItemStack itemStack) { Item item = itemStack.getItem(); if (item instanceof ItemPickaxe) { return TYPE_PICKAXE; } else if (item instanceof ItemAxe) { return TYPE_AXE; } else if (item instanceof ItemSpade) { return TYPE_SHOVEL; } else if (item instanceof ItemSword) { return TYPE_SWORD; } else if (item instanceof ItemHoe) { return TYPE_HOE; } else if (item instanceof ItemTool) { Set<String> toolClasses = ((ItemTool)item).getToolClasses(itemStack); if (toolClasses.contains("pickaxe")) return TYPE_PICKAXE; else if (toolClasses.contains("axe")) return TYPE_AXE; else if (toolClasses.contains("shovel")) return TYPE_SHOVEL; else if (toolClasses.contains("hoe")) return TYPE_HOE; else return -1; } else if (tinkersType(item)>=0) { //see if it's a tinkers type return tinkersType(item); } else { return -1; } }
public static int getLevel(ItemStack itemStack) { //Vanilla Tools if (itemStack.getItem() instanceof ItemTool) { return ((ItemTool)itemStack.getItem()).getToolMaterial().getHarvestLevel(); } else if ((itemStack.getItem() instanceof ItemSword) || (itemStack.getItem() instanceof ItemHoe)) { String material = ""; if (itemStack.getItem() instanceof ItemSword) material = ((ItemSword)itemStack.getItem()).getToolMaterialName(); else if (itemStack.getItem() instanceof ItemHoe) material = ((ItemHoe)itemStack.getItem()).getMaterialName(); if (material.equals("WOOD")) return LEVEL_WOOD; else if (material.equals("STONE")) return LEVEL_STONE; else if (material.equals("IRON")) return LEVEL_IRON; else if (material.equals("GOLD")) return LEVEL_GOLD; else if (material.equals("EMERALD")) return LEVEL_DIAMOND; else if (material.equals("DIAMOND")) return LEVEL_DIAMOND; } else { //Tinkers Tools if (itemStack.hasTagCompound()) { return tinkersLevel(itemStack); } } return -1; }
public static boolean damageTool(ItemStack tool, World world, int x, int y, int z) { if ( (tool.getItem() instanceof ItemShears) || (tool.getItem() instanceof ItemTool) || (tool.getItem() instanceof ItemHoe) || (tool.getItem() instanceof ItemSword) ) { if (tool.attemptDamageItem(1, RND)) { return true; } } else { Block mineBlock = world.getBlockState(new BlockPos(x, y, z)).getBlock(); PlayerFake fakePlayer = new PlayerFake((WorldServer)world); if (tinkersType(tool.getItem())==TYPE_HOE) { tool.attemptDamageItem(1, RND); } else { tool.getItem().onBlockDestroyed(tool, world, mineBlock.getDefaultState(), new BlockPos(x, y, z), fakePlayer); } if (tinkersIsBroken(tool)) return true; } return false; }
public static int getItemBurnTime(ItemStack fuel) { if (fuel == null) { return 0; } else { int i = fuel.getItem().itemID; Item item = fuel.getItem(); if (fuel.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { Block block = Block.blocksList[i]; if (block == Block.woodSingleSlab) { return 150; } if (block.blockMaterial == Material.wood) { return 300; } } if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) return 200; if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) return 200; if (i == Item.stick.itemID) return 100; if (i == Item.coal.itemID) return 1600; if (i == Item.bucketLava.itemID) return 20000; if (i == Block.sapling.blockID) return 100; if (i == Item.blazeRod.itemID) return 2400; return GameRegistry.getFuelValue(fuel); } }
public static int getItemBurnTime(ItemStack fuel) { int ret = 0; if (fuel == null) { return ret; } else { int i = fuel.getItem().itemID; Item item = fuel.getItem(); if (fuel.getItem() instanceof ItemBlock && Block.blocksList[i] != null) { Block block = Block.blocksList[i]; if (block == Block.woodSingleSlab) { ret = 150; } if (block.blockMaterial == Material.wood) { ret = 300; } } else if (item instanceof ItemTool && ((ItemTool) item).getToolMaterialName().equals("WOOD")) ret = 200; else if (item instanceof ItemSword && ((ItemSword) item).getToolMaterialName().equals("WOOD")) ret = 200; else if (item instanceof ItemHoe && ((ItemHoe) item).getMaterialName().equals("WOOD")) ret = 200; else if (i == Item.stick.itemID) ret = 100; else if (i == Item.coal.itemID) ret = 1600; else if (i == Item.bucketLava.itemID) ret = 20000; else if (i == Block.sapling.blockID) ret = 100; else if (i == Item.blazeRod.itemID) ret = 2400; else { ret = GameRegistry.getFuelValue(fuel); } return ret / 4; } }
@Override @Nonnull public ItemStack getCraftingResult(InventoryCrafting inv) { int lanolinCount = 0; ItemStack craftStack = null; for(int i = 0; i < inv.getSizeInventory(); i++){ ItemStack tempStack = inv.getStackInSlot(i); if(tempStack.getItem().getRegistryName().equals(ModItems.itemLanolin.getRegistryName())) lanolinCount++; else if(ItemLanolin.canCraftWith(tempStack) && craftStack == null) { craftStack = tempStack.copy(); } else if(tempStack != ItemStack.EMPTY) return ItemStack.EMPTY; } if (craftStack == ItemStack.EMPTY || !ItemLanolin.canCraftWith(craftStack)) { return ItemStack.EMPTY; } // Copy Existing NBT if(craftStack.hasTagCompound()) { if(craftStack.getTagCompound().hasKey("lanolin")){ // Increase existing lanolin count lanolinCount += craftStack.getTagCompound().getInteger("lanolin"); } } if(craftStack.getItem() instanceof ItemArmor) craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, Config.MAX_LANOLIN_ARMOR))); else if(craftStack.getItem() instanceof ItemTool) craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, Config.MAX_LANOLIN_TOOLS))); else // Unconfigured item, that passed craftStack.setTagInfo("lanolin", new NBTTagByte((byte) clamp(lanolinCount,0, 15))); return craftStack; }
/** * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't * fuel */ public static int getItemBurnTime(ItemStack p_145952_0_) { if (p_145952_0_ == null) { return 0; } else { Item item = p_145952_0_.getItem(); if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.air) { Block block = Block.getBlockFromItem(item); if (block == Blocks.wooden_slab) { return 150; } if (block.getMaterial() == Material.wood) { return 300; } if (block == Blocks.coal_block) { return 16000; } } return item instanceof ItemTool && ((ItemTool)item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemSword && ((ItemSword)item).getToolMaterialName().equals("WOOD") ? 200 : (item instanceof ItemHoe && ((ItemHoe)item).getMaterialName().equals("WOOD") ? 200 : (item == Items.stick ? 100 : (item == Items.coal ? 1600 : (item == Items.lava_bucket ? 20000 : (item == Item.getItemFromBlock(Blocks.sapling) ? 100 : (item == Items.blaze_rod ? 2400 : 0))))))); } }
/** * Returns the number of ticks that the supplied fuel item will keep the furnace burning, or 0 if the item isn't * fuel */ public static int getItemBurnTime(ItemStack stack) { if (stack.func_190926_b()) { return 0; } else { Item item = stack.getItem(); return item == Item.getItemFromBlock(Blocks.WOODEN_SLAB) ? 150 : (item == Item.getItemFromBlock(Blocks.WOOL) ? 100 : (item == Item.getItemFromBlock(Blocks.CARPET) ? 67 : (item == Item.getItemFromBlock(Blocks.LADDER) ? 300 : (item == Item.getItemFromBlock(Blocks.WOODEN_BUTTON) ? 100 : (Block.getBlockFromItem(item).getDefaultState().getMaterial() == Material.WOOD ? 300 : (item == Item.getItemFromBlock(Blocks.COAL_BLOCK) ? 16000 : (item instanceof ItemTool && "WOOD".equals(((ItemTool)item).getToolMaterialName()) ? 200 : (item instanceof ItemSword && "WOOD".equals(((ItemSword)item).getToolMaterialName()) ? 200 : (item instanceof ItemHoe && "WOOD".equals(((ItemHoe)item).getMaterialName()) ? 200 : (item == Items.STICK ? 100 : (item != Items.BOW && item != Items.FISHING_ROD ? (item == Items.SIGN ? 200 : (item == Items.COAL ? 1600 : (item == Items.LAVA_BUCKET ? 20000 : (item != Item.getItemFromBlock(Blocks.SAPLING) && item != Items.BOWL ? (item == Items.BLAZE_ROD ? 2400 : (item instanceof ItemDoor && item != Items.IRON_DOOR ? 200 : (item instanceof ItemBoat ? 400 : 0))) : 100)))) : 300))))))))))); } }
public boolean isTool(Item stack){ for(ResourceLocation location: toolItems){ if(location.equals(stack.getRegistryName())) return true; } return stack instanceof ItemTool; }
/** * Returns the number of ticks that the supplied fuel item will keep the * furnace burning, or 0 if the item isn't fuel */ public static int getItemBurnTime(ItemStack stack) { if (stack.isEmpty()) return 0; else { Item item = stack.getItem(); if (item instanceof ItemBlock && Block.getBlockFromItem(item) != Blocks.AIR) { Block block = Block.getBlockFromItem(item); if (block == Blocks.WOODEN_SLAB) return 150; if (block.getDefaultState().getMaterial() == Material.WOOD) return 300; if (block == Blocks.COAL_BLOCK) return 16000; } if (item instanceof ItemTool && "WOOD".equals(((ItemTool) item).getToolMaterialName())) return 200; if (item instanceof ItemSword && "WOOD".equals(((ItemSword) item).getToolMaterialName())) return 200; if (item instanceof ItemHoe && "WOOD".equals(((ItemHoe) item).getMaterialName())) return 200; if (item == Items.STICK) return 100; if (item == Items.COAL) return 1600; if (item == Items.LAVA_BUCKET) return 20000; if (item == Item.getItemFromBlock(Blocks.SAPLING)) return 100; if (item == Items.BLAZE_ROD) return 2400; return net.minecraftforge.fml.common.registry.GameRegistry.getFuelValue(stack); } }
@Override public List<ItemStack> complete(QuestData data, List<ItemStack> in) { if (in == null) { return null; } List<ItemStack> givenItems = copyItems(in); int requiredLeft = getTargetAmount(data); boolean toolIncluded = false; for (ItemStack item : givenItems) { if (isForThisQuest(data, item)) { if (item.getItem() instanceof ItemTool) { toolIncluded = true; item.setCount(0); } else { requiredLeft -= item.getCount(); item.setCount(0); } } else { } } if (requiredLeft > 0) { data.getPlayer().sendMessage(new TextComponentString("You are " + requiredLeft + " short")); return null; } if (!toolIncluded) { data.getPlayer().sendMessage(new TextComponentString("You must turn in the tool that you were given")); return null; } givenItems = removeEmptyItemStacks(givenItems); addRewardItems(data, givenItems); return givenItems; }
@Override public boolean isItemValid(ItemStack stack) { return (Block.getBlockFromItem(stack.getItem()) instanceof BlockCorpse && EnumCorpse.getById((byte) stack.getItemDamage()).canBeResurrected() || stack.getItem() instanceof ItemTool || stack.getItem() instanceof ItemArmor || stack.getItem() instanceof ItemSword); }
private static void nerfTool(Item tool) { try { if (tool instanceof ItemTool) { ReflectionHelper.setPrivateValue(ItemTool.class, (ItemTool) tool, null, "toolClass");// Remove tool class Field[] fields = ItemTool.class.getDeclaredFields(); boolean s = false; for (Field f : fields) { f.setAccessible(true); Object o = f.get(tool); if (o instanceof Set) { TomsModUtils.setFinalField(f, tool, Sets.newHashSet()); log.info("Hacked effectiveBlocks name: " + f.getName()); s = true; } else if (o instanceof Float) { f.setFloat(tool, 1); } } if (!s) log.error("Did't find effectiveBlocks field"); com.tom.handler.EventHandler.disabledItems.add(tool); } else if (tool instanceof ItemSword) { com.tom.handler.EventHandler.disabledItems.add(tool); } else if (tool instanceof ItemHoe) { com.tom.handler.EventHandler.disabledItems.add(tool); } proxy.runMethod((IClientMethod) () -> EventHandlerClient.addTooltipOverride(tool, "tomsMod.tooltip.nerfed", TextFormatting.RED)); log.info("Successfully nerfed " + tool.getUnlocalizedName()); } catch (Throwable e) { log.error("Unable to nerf " + tool.getUnlocalizedName() + " " + tool.getClass().getName(), e); } }