Search in sources :

Example 31 with ItemSword

use of net.minecraft.item.ItemSword in project Charset by CharsetMC.

the class TweakDisableVanillaTools method enable.

@Override
public void enable() {
    Set<Item> itemSet = new HashSet<Item>();
    for (ResourceLocation l : Item.itemRegistry.getKeys()) {
        Item i = Item.itemRegistry.getObject(l);
        if (i instanceof ItemPickaxe || i instanceof ItemAxe || i instanceof ItemSpade || i instanceof ItemSword) {
            i.setMaxDamage(1);
            itemSet.add(i);
        }
    }
    if (getMode() >= 2) {
        Iterator<IRecipe> iterator = CraftingManager.getInstance().getRecipeList().iterator();
        while (iterator.hasNext()) {
            ItemStack output = iterator.next().getRecipeOutput();
            if (output != null && itemSet.contains(output.getItem())) {
                iterator.remove();
                itemSet.remove(output.getItem());
                ModCharsetLib.logger.info("Disabled " + Item.itemRegistry.getNameForObject(output.getItem()).toString() + " (removed recipe)");
            }
        }
    }
    for (Item i : itemSet) {
        ModCharsetLib.logger.info("Disabled " + Item.itemRegistry.getNameForObject(i).toString());
    }
}
Also used : ItemSword(net.minecraft.item.ItemSword) Item(net.minecraft.item.Item) ItemAxe(net.minecraft.item.ItemAxe) ItemSpade(net.minecraft.item.ItemSpade) IRecipe(net.minecraft.item.crafting.IRecipe) ResourceLocation(net.minecraft.util.ResourceLocation) ItemPickaxe(net.minecraft.item.ItemPickaxe) ItemStack(net.minecraft.item.ItemStack) HashSet(java.util.HashSet)

Example 32 with ItemSword

use of net.minecraft.item.ItemSword in project minecolonies by Minecolonies.

the class EntityAIMeleeGuard method attackEntity.

private boolean attackEntity(@NotNull final EntityLivingBase entityToAttack, final float baseDamage) {
    double damgeToBeDealt = baseDamage;
    if (worker.getHealth() <= 2) {
        damgeToBeDealt *= 2;
    }
    damgeToBeDealt += ((AbstractBuildingGuards) getOwnBuilding()).getOffenceBonus();
    final ItemStack heldItem = worker.getHeldItem(EnumHand.MAIN_HAND);
    if (heldItem != null) {
        if (ItemStackUtils.doesItemServeAsWeapon(heldItem)) {
            if (heldItem.getItem() instanceof ItemSword) {
                damgeToBeDealt += ((ItemSword) heldItem.getItem()).getAttackDamage();
            } else {
                damgeToBeDealt += TinkersWeaponHelper.getDamage(heldItem);
            }
        }
        damgeToBeDealt += EnchantmentHelper.getModifierForCreature(heldItem, targetEntity.getCreatureAttribute());
    }
    targetEntity.attackEntityFrom(new DamageSource(worker.getName()), (float) damgeToBeDealt);
    targetEntity.setRevengeTarget(worker);
    final int fireAspectModifier = EnchantmentHelper.getFireAspectModifier(worker);
    if (fireAspectModifier > 0) {
        targetEntity.setFire(fireAspectModifier * FIRE_CHANCE_MULTIPLIER);
    }
    boolean killedEnemy = false;
    if (targetEntity.getHealth() <= 0.0F) {
        this.onKilledEntity(targetEntity);
        killedEnemy = true;
    }
    worker.faceEntity(entityToAttack, (float) TURN_AROUND, (float) TURN_AROUND);
    worker.getLookHelper().setLookPositionWithEntity(entityToAttack, (float) TURN_AROUND, (float) TURN_AROUND);
    final double xDiff = targetEntity.posX - worker.posX;
    final double zDiff = targetEntity.posZ - worker.posZ;
    final double goToX = xDiff > 0 ? MOVE_MINIMAL : -MOVE_MINIMAL;
    final double goToZ = zDiff > 0 ? MOVE_MINIMAL : -MOVE_MINIMAL;
    worker.move(MoverType.SELF, goToX, 0, goToZ);
    worker.swingArm(EnumHand.MAIN_HAND);
    worker.playSound(SoundEvents.ENTITY_PLAYER_ATTACK_SWEEP, (float) BASIC_VOLUME, (float) getRandomPitch());
    worker.damageItemInHand(1);
    return killedEnemy;
}
Also used : ItemSword(net.minecraft.item.ItemSword) DamageSource(net.minecraft.util.DamageSource) ItemStack(net.minecraft.item.ItemStack)

Example 33 with ItemSword

use of net.minecraft.item.ItemSword in project Adventurers-Toolbox by the-realest-stu.

the class SpecialToolAbilityHandler method onTooltip.

@SideOnly(Side.CLIENT)
@SubscribeEvent(priority = EventPriority.HIGH)
public void onTooltip(ItemTooltipEvent event) {
    if (event.getItemStack() != null && event.getEntityPlayer() != null) {
        ItemStack stack = event.getItemStack();
        Item item = stack.getItem();
        if (item instanceof ItemATAxe || item instanceof ItemATDagger || item instanceof ItemATHammer || item instanceof ItemATHandpick || item instanceof ItemATHoe || item instanceof ItemATMace || item instanceof ItemATPickaxe || item instanceof ItemATShovel || item instanceof ItemATSword) {
            boolean shift = GameSettings.isKeyDown(Minecraft.getMinecraft().gameSettings.keyBindSneak);
            boolean advanced = event.getFlags().isAdvanced();
            List<String> tooltip = event.getToolTip();
            tooltip.clear();
            String s = stack.getDisplayName();
            s = s + TextFormatting.RESET;
            if (advanced) {
                String s1 = "";
                if (!s.isEmpty()) {
                    s = s + " (";
                    s1 = ")";
                }
                int i = Item.getIdFromItem(item);
                if (stack.getHasSubtypes()) {
                    s = s + String.format("#%04d/%d%s", i, stack.getItemDamage(), s1);
                } else {
                    s = s + String.format("#%04d%s", i, s1);
                }
            }
            tooltip.add(s);
            int i1 = 0;
            if (shift) {
                tooltip.add("");
                if (item instanceof IHeadTool) {
                    HeadMaterial mat = IHeadTool.getHeadMat(stack);
                    tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.head.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                }
                if (item instanceof IBladeTool) {
                    HeadMaterial mat = IBladeTool.getBladeMat(stack);
                    tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.blade.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                }
                if (item instanceof ICrossguardTool) {
                    HeadMaterial mat = ICrossguardTool.getCrossguardMat(stack);
                    tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.crossguard.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                }
                if (item instanceof IHaftTool) {
                    HaftMaterial mat = IHaftTool.getHaftMat(stack);
                    tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.haft.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                }
                if (item instanceof IHandleTool) {
                    HandleMaterial mat = IHandleTool.getHandleMat(stack);
                    tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.handle.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                }
                if (item instanceof IAdornedTool) {
                    AdornmentMaterial mat = IAdornedTool.getAdornmentMat(stack);
                    if (!mat.getName().equals("null")) {
                        tooltip.add(TextFormatting.YELLOW + " " + I18n.translateToLocal("desc.adornment.name") + ": " + I18n.translateToLocal("guide.mat." + mat.getName() + ".name"));
                    }
                }
                tooltip.add("");
            }
            if (stack.hasTagCompound() && stack.getTagCompound().hasKey("HideFlags", 99)) {
                i1 = stack.getTagCompound().getInteger("HideFlags");
            }
            if ((i1 & 32) == 0) {
                item.addInformation(stack, event.getEntityPlayer() == null ? null : event.getEntityPlayer().world, tooltip, event.getFlags());
            }
            if (item instanceof ItemSword && isVoidTool(stack) && CommonProxy.thaumcraftLoaded) {
                tooltip.add(TextFormatting.GOLD + I18n.translateToLocal("enchantment.special.sapless"));
            }
            if (stack.hasTagCompound()) {
                if ((i1 & 1) == 0) {
                    NBTTagList nbttaglist = stack.getEnchantmentTagList();
                    for (int j = 0; j < nbttaglist.tagCount(); ++j) {
                        NBTTagCompound nbttagcompound = nbttaglist.getCompoundTagAt(j);
                        int k = nbttagcompound.getShort("id");
                        int l = nbttagcompound.getShort("lvl");
                        Enchantment enchantment = Enchantment.getEnchantmentByID(k);
                        if (enchantment != null) {
                            tooltip.add(enchantment.getTranslatedName(l));
                        }
                    }
                }
                if (stack.getTagCompound().hasKey("display", 10)) {
                    NBTTagCompound nbttagcompound1 = stack.getTagCompound().getCompoundTag("display");
                    if (nbttagcompound1.getTagId("Lore") == 9) {
                        NBTTagList nbttaglist3 = nbttagcompound1.getTagList("Lore", 8);
                        if (!nbttaglist3.hasNoTags()) {
                            for (int l1 = 0; l1 < nbttaglist3.tagCount(); ++l1) {
                                tooltip.add(TextFormatting.DARK_PURPLE + "" + TextFormatting.ITALIC + nbttaglist3.getStringTagAt(l1));
                            }
                        }
                    }
                }
            }
            Multimap<String, AttributeModifier> multimap = stack.getAttributeModifiers(EntityEquipmentSlot.MAINHAND);
            if ((i1 & 2) == 0) {
                if (!tooltip.get(tooltip.size() - 1).isEmpty()) {
                    tooltip.add("");
                }
                if (item instanceof ItemATPickaxe || item instanceof ItemATHandpick || item instanceof ItemATHammer || item instanceof ItemATAxe || item instanceof ItemATShovel) {
                    int harvestLvl = -1;
                    float efficiency = 0F;
                    if (item instanceof ItemATPickaxe) {
                        harvestLvl = ((ItemATPickaxe) item).getHarvestLevel(stack);
                        efficiency = ((ItemATPickaxe) item).getEfficiency(stack);
                    } else if (item instanceof ItemATHandpick) {
                        harvestLvl = ((ItemATHandpick) item).getHarvestLevel(stack);
                        efficiency = ((ItemATHandpick) item).getEfficiency(stack);
                    } else if (item instanceof ItemATHammer) {
                        harvestLvl = ((ItemATHammer) item).getHarvestLevel(stack);
                        efficiency = ((ItemATHammer) item).getEfficiency(stack);
                    } else if (item instanceof ItemATAxe) {
                        harvestLvl = ((ItemATAxe) item).getHarvestLevel(stack);
                        efficiency = ((ItemATAxe) item).getEfficiency(stack);
                    } else if (item instanceof ItemATShovel) {
                        harvestLvl = ((ItemATShovel) item).getHarvestLevel(stack);
                        efficiency = ((ItemATShovel) item).getEfficiency(stack);
                    }
                    tooltip.add(I18n.translateToLocal("desc.harvest_level.name") + ": " + harvestLvl);
                    tooltip.add(I18n.translateToLocal("desc.efficiency.name") + ": " + ItemStack.DECIMALFORMAT.format(efficiency));
                }
                for (Entry<String, AttributeModifier> entry : multimap.entries()) {
                    AttributeModifier attributemodifier = entry.getValue();
                    double d0 = attributemodifier.getAmount();
                    if (event.getEntityPlayer() != null && (shift || item instanceof ItemSword)) {
                        if (attributemodifier.getID() == ItemBase.getAttackDamageUUID()) {
                            d0 = d0 + event.getEntityPlayer().getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getBaseValue();
                            d0 = d0 + (double) EnchantmentHelper.getModifierForCreature(stack, EnumCreatureAttribute.UNDEFINED);
                            double d1 = d0 * 100.0D;
                            ;
                            if (attributemodifier.getOperation() != 1 && attributemodifier.getOperation() != 2) {
                                d1 = d0;
                            }
                            tooltip.add(I18n.translateToLocal("desc.attack_damage.name") + ": " + ItemStack.DECIMALFORMAT.format(d1));
                        } else if (attributemodifier.getID() == ItemBase.getAttackSpeedUUID()) {
                            d0 += event.getEntityPlayer().getEntityAttribute(SharedMonsterAttributes.ATTACK_SPEED).getBaseValue();
                            double d1 = d0 * 100.0D;
                            ;
                            if (attributemodifier.getOperation() != 1 && attributemodifier.getOperation() != 2) {
                                d1 = d0;
                            }
                            tooltip.add(I18n.translateToLocal("desc.attack_speed.name") + ": " + ItemStack.DECIMALFORMAT.format(d1));
                        }
                    }
                }
                if (shift) {
                    tooltip.add(I18n.translateToLocal("desc.enchantability.name") + ": " + item.getItemEnchantability(stack));
                }
                if (stack.isItemDamaged() && stack.isItemStackDamageable()) {
                    tooltip.add(I18n.translateToLocal("desc.durability.name") + ": " + (stack.getMaxDamage() - stack.getItemDamage()) + " / " + ItemStack.DECIMALFORMAT.format(stack.getMaxDamage()));
                } else if (stack.isItemStackDamageable()) {
                    tooltip.add(I18n.translateToLocal("desc.durability.name") + ": " + stack.getMaxDamage());
                }
            }
            if (stack.hasTagCompound() && stack.getTagCompound().getBoolean("Unbreakable") && (i1 & 4) == 0) {
                tooltip.add(TextFormatting.BLUE + I18n.translateToLocal("item.unbreakable"));
            }
            if (stack.hasTagCompound() && stack.getTagCompound().hasKey("CanDestroy", 9) && (i1 & 8) == 0) {
                NBTTagList nbttaglist1 = stack.getTagCompound().getTagList("CanDestroy", 8);
                if (!nbttaglist1.hasNoTags()) {
                    tooltip.add("");
                    tooltip.add(TextFormatting.GRAY + I18n.translateToLocal("item.canBreak"));
                    for (int j1 = 0; j1 < nbttaglist1.tagCount(); ++j1) {
                        Block block = Block.getBlockFromName(nbttaglist1.getStringTagAt(j1));
                        if (block != null) {
                            tooltip.add(TextFormatting.DARK_GRAY + block.getLocalizedName());
                        } else {
                            tooltip.add(TextFormatting.DARK_GRAY + "missingno");
                        }
                    }
                }
            }
            if (advanced) {
                tooltip.add(TextFormatting.DARK_GRAY + ((ResourceLocation) Item.REGISTRY.getNameForObject(item)).toString());
                tooltip.add(TextFormatting.DARK_GRAY + I18n.translateToLocalFormatted("item.nbt_tags", stack.hasTagCompound() ? stack.getTagCompound().getKeySet().size() : 0));
            }
        }
    }
}
Also used : AdornmentMaterial(api.materials.AdornmentMaterial) ItemATShovel(toolbox.common.items.tools.ItemATShovel) ItemATSword(toolbox.common.items.tools.ItemATSword) IHaftTool(toolbox.common.items.tools.IHaftTool) ItemATHammer(toolbox.common.items.tools.ItemATHammer) NBTTagCompound(net.minecraft.nbt.NBTTagCompound) ICrossguardTool(toolbox.common.items.tools.ICrossguardTool) NBTTagList(net.minecraft.nbt.NBTTagList) Item(net.minecraft.item.Item) EntityItem(net.minecraft.entity.item.EntityItem) ItemATAxe(toolbox.common.items.tools.ItemATAxe) HandleMaterial(api.materials.HandleMaterial) ResourceLocation(net.minecraft.util.ResourceLocation) IHeadTool(toolbox.common.items.tools.IHeadTool) ItemSword(net.minecraft.item.ItemSword) ItemATHoe(toolbox.common.items.tools.ItemATHoe) ItemATPickaxe(toolbox.common.items.tools.ItemATPickaxe) HeadMaterial(api.materials.HeadMaterial) IBladeTool(toolbox.common.items.tools.IBladeTool) AttributeModifier(net.minecraft.entity.ai.attributes.AttributeModifier) IHandleTool(toolbox.common.items.tools.IHandleTool) Block(net.minecraft.block.Block) ItemStack(net.minecraft.item.ItemStack) ItemATMace(toolbox.common.items.tools.ItemATMace) Enchantment(net.minecraft.enchantment.Enchantment) IAdornedTool(toolbox.common.items.tools.IAdornedTool) ItemATDagger(toolbox.common.items.tools.ItemATDagger) ItemATHandpick(toolbox.common.items.tools.ItemATHandpick) HaftMaterial(api.materials.HaftMaterial) SubscribeEvent(net.minecraftforge.fml.common.eventhandler.SubscribeEvent) SideOnly(net.minecraftforge.fml.relauncher.SideOnly)

Example 34 with ItemSword

use of net.minecraft.item.ItemSword in project Wurst-MC-1.12 by Wurst-Imperium.

the class AutoToolMod method equipBestTool.

public void equipBestTool(BlockPos pos, boolean useSwords, boolean useHands) {
    EntityPlayer player = WMinecraft.getPlayer();
    if (player.capabilities.isCreativeMode)
        return;
    IBlockState state = WBlock.getState(pos);
    ItemStack heldItem = player.getHeldItemMainhand();
    float bestSpeed = getDestroySpeed(heldItem, state);
    int bestSlot = -1;
    boolean useFallback = useHands && isDamageable(heldItem);
    int fallbackSlot = -1;
    for (int slot = 0; slot < 9; slot++) {
        if (slot == player.inventory.currentItem)
            continue;
        ItemStack stack = player.inventory.getStackInSlot(slot);
        if (fallbackSlot == -1 && !isDamageable(stack))
            fallbackSlot = slot;
        float speed = getDestroySpeed(stack, state);
        if (speed <= bestSpeed)
            continue;
        if (!useSwords && stack.getItem() instanceof ItemSword)
            continue;
        bestSpeed = speed;
        bestSlot = slot;
    }
    if (bestSlot != -1)
        player.inventory.currentItem = bestSlot;
    else if (useFallback && bestSpeed <= 1 && fallbackSlot != -1)
        player.inventory.currentItem = fallbackSlot;
}
Also used : ItemSword(net.minecraft.item.ItemSword) IBlockState(net.minecraft.block.state.IBlockState) EntityPlayer(net.minecraft.entity.player.EntityPlayer) ItemStack(net.minecraft.item.ItemStack)

Example 35 with ItemSword

use of net.minecraft.item.ItemSword in project BetterRain by OreCruncher.

the class EnvironStateHandler method onItemUse.

@SubscribeEvent
public void onItemUse(final AttackEntityEvent event) {
    if (SWORD == null || event.entityPlayer == null || event.entityPlayer.worldObj == null)
        return;
    if (event.entityPlayer.worldObj.isRemote && EnvironState.isPlayer(event.entityPlayer)) {
        final ItemStack currentItem = event.entityPlayer.getCurrentEquippedItem();
        if (currentItem != null) {
            SoundEffect sound = null;
            final Item item = currentItem.getItem();
            if (item instanceof ItemSword)
                sound = SWORD;
            else if (item instanceof ItemAxe)
                sound = AXE;
            if (sound != null)
                SoundManager.playSoundAtPlayer(EnvironState.getPlayer(), sound);
        }
    }
}
Also used : SoundEffect(org.blockartistry.mod.DynSurround.client.sound.SoundEffect) ItemSword(net.minecraft.item.ItemSword) Item(net.minecraft.item.Item) ItemAxe(net.minecraft.item.ItemAxe) ItemStack(net.minecraft.item.ItemStack) SubscribeEvent(net.minecraftforge.fml.common.eventhandler.SubscribeEvent)

Aggregations

ItemSword (net.minecraft.item.ItemSword)76 ItemStack (net.minecraft.item.ItemStack)53 Item (net.minecraft.item.Item)25 SubscribeEvent (net.minecraftforge.fml.common.eventhandler.SubscribeEvent)23 EntityPlayer (net.minecraft.entity.player.EntityPlayer)22 ItemTool (net.minecraft.item.ItemTool)21 ItemHoe (net.minecraft.item.ItemHoe)18 IBlockState (net.minecraft.block.state.IBlockState)17 ItemBow (net.minecraft.item.ItemBow)15 Entity (net.minecraft.entity.Entity)13 Block (net.minecraft.block.Block)9 EntityLivingBase (net.minecraft.entity.EntityLivingBase)8 ItemAxe (net.minecraft.item.ItemAxe)8 ItemBlock (net.minecraft.item.ItemBlock)8 World (net.minecraft.world.World)7 ItemArmor (net.minecraft.item.ItemArmor)6 ItemFishingRod (net.minecraft.item.ItemFishingRod)6 DamageSource (net.minecraft.util.DamageSource)6 ItemDoor (net.minecraft.item.ItemDoor)5 ItemShield (net.minecraft.item.ItemShield)5