Java 类net.minecraft.item.ItemTool 实例源码

项目:pnc-repressurized    文件:RenderDroneHeldItem.java   
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);
}
项目:EMC    文件:IItem.java   
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;
}
项目:Mods    文件:AustraliumRecipe.java   
@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();
}
项目:OpenHarvest    文件:HarvestEvents.java   
/** 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;
}
项目:TFICore    文件:FuseRock.java   
@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));
        }
    }
}
项目:Nuclear-Foundation    文件:EventHandler.java   
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;
}
项目:Nuclear-Foundation    文件:EventHandler.java   
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;
}
项目:TWBB-Tweaks    文件:ToolRecipeTweaks.java   
@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);
            }
        }
    }
}
项目:TWBB-Tweaks    文件:BetterBeginningsHandler.java   
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;
}
项目:DimsumCraft    文件:ESteamFurnace.java   
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);
    }
}
项目:TheDarkEra    文件:TESmeltery.java   
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);
    }
}
项目:M4Armory    文件:AOEHandler.java   
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);
            }
        }
    }
}
项目:M4Armory    文件:AOEHandler.java   
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);
}
项目:Levels    文件:EventTooltip.java   
@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);
            }
        }
    }
}
项目:Chocolate-Factory    文件:TileEntityCocoaDryer.java   
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);
    }
}
项目:ToolUtilities    文件:AOEHandler.java   
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);
            }
        }
    }
}
项目:ToolUtilities    文件:AOEHandler.java   
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);
}
项目:MerchantsTFC    文件:ToolRackContainer.java   
@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
        ;
}
项目:mcplus_mods    文件:EventHandlerLumber.java   
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;
}
项目:ShadowsOfPhysis    文件:PhysisToolMaterial.java   
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;
}
项目:RuneCraftery    文件:TileEntityFurnace.java   
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)))))));
   }
}
项目:TheStuffMod    文件:BlockBreakHandler.java   
@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);
        }
    }
}
项目:IceAndShadow2    文件:IaSRegistry.java   
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());
}
项目:copyVanillaTweaks    文件:GravelFlintDropHandler.java   
@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));
}
项目:ProgressiveAutomation    文件:ToolHelper.java   
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;
    }
}
项目:ProgressiveAutomation    文件:ToolHelper.java   
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;
}
项目:ProgressiveAutomation    文件:ToolHelper.java   
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;
}
项目:NeoCraft    文件:TileEntitySteeper.java   
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);
    }
}
项目:NeoCraft    文件:TileEntityGeneratorSteam.java   
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;
    }
}
项目:Lanolin    文件:RecipeLanolinFactory.java   
@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;
}
项目:DecompiledMinecraft    文件:TileEntityFurnace.java   
/**
 * 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)))))));
    }
}
项目:DecompiledMinecraft    文件:TileEntityFurnace.java   
/**
 * 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)))))));
    }
}
项目:BaseClient    文件:TileEntityFurnace.java   
/**
 * 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)))))));
    }
}
项目:BaseClient    文件:TileEntityFurnace.java   
/**
 * 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)))))));
    }
}
项目:Backmemed    文件:TileEntityFurnace.java   
/**
 * 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)))))))))));
    }
}
项目:Mods    文件:SpinToWin.java   
public boolean isTool(Item stack){
    for(ResourceLocation location: toolItems){
        if(location.equals(stack.getRegistryName()))
            return true;
    }
    return stack instanceof ItemTool;
}
项目:Mods    文件:TileEntityAmmoFurnace.java   
/**
 * 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);
    }
}
项目:ToroQuest    文件:QuestMine.java   
@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;
}
项目:Gravestone-mod-Extended    文件:AltarSlot.java   
@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);
}
项目:Toms-Mod    文件:CoreInit.java   
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);
    }
}