当前位置: 首页>>代码示例>>Java>>正文


Java EnchantmentHelper.getEfficiencyModifier方法代码示例

本文整理汇总了Java中net.minecraft.enchantment.EnchantmentHelper.getEfficiencyModifier方法的典型用法代码示例。如果您正苦于以下问题:Java EnchantmentHelper.getEfficiencyModifier方法的具体用法?Java EnchantmentHelper.getEfficiencyModifier怎么用?Java EnchantmentHelper.getEfficiencyModifier使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.enchantment.EnchantmentHelper的用法示例。


在下文中一共展示了EnchantmentHelper.getEfficiencyModifier方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: func_190777_m

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
public void func_190777_m(boolean p_190777_1_)
{
    float f = 0.25F + (float)EnchantmentHelper.getEfficiencyModifier(this) * 0.05F;

    if (p_190777_1_)
    {
        f += 0.75F;
    }

    if (this.rand.nextFloat() < f)
    {
        this.getCooldownTracker().setCooldown(Items.SHIELD, 100);
        this.resetActiveHand();
        this.world.setEntityState(this, (byte)30);
    }
}
 
开发者ID:NSExceptional,项目名称:Zombe-Modpack,代码行数:17,代码来源:EntityPlayer.java

示例2: doAxeStuff

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
private void doAxeStuff(EntityLivingBase attacked, EntityLivingBase attacker)
{
    //Copied from EntityMob#attackEntityAsMob() L134-150 START
    if (attacked instanceof EntityPlayer)
    {
        EntityPlayer entityplayer = (EntityPlayer)attacked;
        ItemStack itemstack = attacker.getHeldItemMainhand();
        ItemStack itemstack1 = entityplayer.isHandActive() ? entityplayer.getActiveItemStack() : ItemStack.EMPTY;

        if (!itemstack.isEmpty() && !itemstack1.isEmpty() && itemstack.getItem() instanceof ItemAxe && itemstack1.getItem() == RegisterItems.wickerShield)
        {
            float f1 = 0.25F + (float)EnchantmentHelper.getEfficiencyModifier(attacker) * 0.05F;

            if (attacker.world.rand.nextFloat() < f1)
            {
            entityplayer.getCooldownTracker().setCooldown(RegisterItems.wickerShield, 100);
            attacker.world.setEntityState(entityplayer, (byte) 30);
            }
        }
    }
    //Copied from EntityMob#attackEntityAsMob() L134-150 END
}
 
开发者ID:einsteinsci,项目名称:BetterBeginningsReborn,代码行数:23,代码来源:ItemWickerShield.java

示例3: breakSpeed

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
@SubscribeEvent
public void breakSpeed(PlayerEvent.BreakSpeed event){
    // Check if the break speed has been modified due to water
    // prevent the modification if there is lanolin on the tool being used
    // decrement the lanolin when the block is successfully broken
    EntityPlayer player = event.getEntityPlayer();
    IBlockState state = event.getState();
    BlockPos pos = event.getPos();
    if(player.isInsideOfMaterial(Material.WATER)) {
        //Player is inside water, check for lanolin
        if(player.getHeldItemMainhand().hasTagCompound() && player.getHeldItemMainhand().getTagCompound().hasKey("lanolin")){
            // Recalculate ala EntityPlayer.getDigSpeed(), but skip the water portion
            float f = player.inventory.getStrVsBlock(state);

            if (f > 1.0F)
            {
                int i = EnchantmentHelper.getEfficiencyModifier(player);
                ItemStack itemstack = player.getHeldItemMainhand();

                if (i > 0 && !itemstack.isEmpty())
                {
                    f += (float)(i * i + 1);
                }
            }

            if (player.isPotionActive(MobEffects.HASTE))
            {
                f *= 1.0F + (float)(player.getActivePotionEffect(MobEffects.HASTE).getAmplifier() + 1) * 0.2F;
            }

            if (player.isPotionActive(MobEffects.MINING_FATIGUE))
            {
                float f1;

                switch (player.getActivePotionEffect(MobEffects.MINING_FATIGUE).getAmplifier())
                {
                    case 0:
                        f1 = 0.3F;
                        break;
                    case 1:
                        f1 = 0.09F;
                        break;
                    case 2:
                        f1 = 0.0027F;
                        break;
                    case 3:
                    default:
                        f1 = 8.1E-4F;
                }

                f *= f1;
            }
            if(f > event.getNewSpeed()){
                event.setNewSpeed(f < 0 ? 0 : f);
            }
        }
    }
}
 
开发者ID:SirLyle,项目名称:Lanolin,代码行数:59,代码来源:EventHandlerCommon.java

示例4: getToolDigEfficiency

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
/**
 * Block hardness will be further counted in net/minecraft/block/Block.getPlayerRelativeBlockHardness
 */
public float getToolDigEfficiency(Block p_180471_1_)
{
    float f = this.inventory.getStrVsBlock(p_180471_1_);

    if (f > 1.0F)
    {
        int i = EnchantmentHelper.getEfficiencyModifier(this);
        ItemStack itemstack = this.inventory.getCurrentItem();

        if (i > 0 && itemstack != null)
        {
            f += (float)(i * i + 1);
        }
    }

    if (this.isPotionActive(Potion.digSpeed))
    {
        f *= 1.0F + (float)(this.getActivePotionEffect(Potion.digSpeed).getAmplifier() + 1) * 0.2F;
    }

    if (this.isPotionActive(Potion.digSlowdown))
    {
        float f1 = 1.0F;

        switch (this.getActivePotionEffect(Potion.digSlowdown).getAmplifier())
        {
            case 0:
                f1 = 0.3F;
                break;

            case 1:
                f1 = 0.09F;
                break;

            case 2:
                f1 = 0.0027F;
                break;

            case 3:
            default:
                f1 = 8.1E-4F;
        }

        f *= f1;
    }

    if (this.isInsideOfMaterial(Material.water) && !EnchantmentHelper.getAquaAffinityModifier(this))
    {
        f /= 5.0F;
    }

    if (!this.onGround)
    {
        f /= 5.0F;
    }

    return f;
}
 
开发者ID:Notoh,项目名称:DecompiledMinecraft,代码行数:62,代码来源:EntityPlayer.java

示例5: getDigSpeed

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
public float getDigSpeed(IBlockState state)
{
    float f = this.inventory.getStrVsBlock(state);

    if (f > 1.0F)
    {
        int i = EnchantmentHelper.getEfficiencyModifier(this);
        ItemStack itemstack = this.getHeldItemMainhand();

        if (i > 0 && !itemstack.func_190926_b())
        {
            f += (float)(i * i + 1);
        }
    }

    if (this.isPotionActive(MobEffects.HASTE))
    {
        f *= 1.0F + (float)(this.getActivePotionEffect(MobEffects.HASTE).getAmplifier() + 1) * 0.2F;
    }

    if (this.isPotionActive(MobEffects.MINING_FATIGUE))
    {
        float f1;

        switch (this.getActivePotionEffect(MobEffects.MINING_FATIGUE).getAmplifier())
        {
            case 0:
                f1 = 0.3F;
                break;

            case 1:
                f1 = 0.09F;
                break;

            case 2:
                f1 = 0.0027F;
                break;

            case 3:
            default:
                f1 = 8.1E-4F;
        }

        f *= f1;
    }

    if (this.isInsideOfMaterial(Material.WATER) && !EnchantmentHelper.getAquaAffinityModifier(this))
    {
        f /= 5.0F;
    }

    if (!this.onGround)
    {
        f /= 5.0F;
    }

    return f;
}
 
开发者ID:NSExceptional,项目名称:Zombe-Modpack,代码行数:59,代码来源:EntityPlayer.java

示例6: attackEntityAsMob

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
public boolean attackEntityAsMob(Entity entityIn)
{
    float f = (float)this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue();
    int i = 0;

    if (entityIn instanceof EntityLivingBase)
    {
        f += EnchantmentHelper.getModifierForCreature(this.getHeldItemMainhand(), ((EntityLivingBase)entityIn).getCreatureAttribute());
        i += EnchantmentHelper.getKnockbackModifier(this);
    }

    boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), f);

    if (flag)
    {
        if (i > 0 && entityIn instanceof EntityLivingBase)
        {
            ((EntityLivingBase)entityIn).knockBack(this, (float)i * 0.5F, (double)MathHelper.sin(this.rotationYaw * 0.017453292F), (double)(-MathHelper.cos(this.rotationYaw * 0.017453292F)));
            this.motionX *= 0.6D;
            this.motionZ *= 0.6D;
        }

        int j = EnchantmentHelper.getFireAspectModifier(this);

        if (j > 0)
        {
            entityIn.setFire(j * 4);
        }

        if (entityIn instanceof EntityPlayer)
        {
            EntityPlayer entityplayer = (EntityPlayer)entityIn;
            ItemStack itemstack = this.getHeldItemMainhand();
            ItemStack itemstack1 = entityplayer.isHandActive() ? entityplayer.getActiveItemStack() : ItemStack.field_190927_a;

            if (!itemstack.func_190926_b() && !itemstack1.func_190926_b() && itemstack.getItem() instanceof ItemAxe && itemstack1.getItem() == Items.SHIELD)
            {
                float f1 = 0.25F + (float)EnchantmentHelper.getEfficiencyModifier(this) * 0.05F;

                if (this.rand.nextFloat() < f1)
                {
                    entityplayer.getCooldownTracker().setCooldown(Items.SHIELD, 100);
                    this.world.setEntityState(entityplayer, (byte)30);
                }
            }
        }

        this.applyEnchantments(this, entityIn);
    }

    return flag;
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:53,代码来源:EntityMob.java

示例7: attackEntityAsMob

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
@Override
public boolean attackEntityAsMob(Entity entityIn) {
	float f = (float) this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getBaseValue();
	int i = 0;

	if (entityIn instanceof EntityLivingBase) {
		f += EnchantmentHelper.getModifierForCreature(this.getHeldItemMainhand(),
				((EntityLivingBase) entityIn).getCreatureAttribute());
		i += EnchantmentHelper.getKnockbackModifier(this);
	}

	boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), f);

	if (flag) {
		if (i > 0 && entityIn instanceof EntityLivingBase) {
			((EntityLivingBase) entityIn).knockBack(this, i * 0.5F, MathHelper.sin(this.rotationYaw * 0.017453292F),
					(-MathHelper.cos(this.rotationYaw * 0.017453292F)));
			this.motionX *= 0.6D;
			this.motionZ *= 0.6D;
		}

		int j = EnchantmentHelper.getFireAspectModifier(this);

		if (j > 0)
			entityIn.setFire(j * 4);

		if (entityIn instanceof EntityPlayer) {
			EntityPlayer entityplayer = (EntityPlayer) entityIn;
			ItemStack itemstack = this.getHeldItemMainhand();
			ItemStack itemstack1 = entityplayer.isHandActive() ? entityplayer.getActiveItemStack() : null;

			if (!itemstack.isEmpty() && itemstack1 != null && itemstack.getItem() instanceof ItemAxe
					&& itemstack1.getItem() == Items.SHIELD) {
				float f1 = 0.25F + EnchantmentHelper.getEfficiencyModifier(this) * 0.05F;

				if (this.rand.nextFloat() < f1) {
					entityplayer.getCooldownTracker().setCooldown(Items.SHIELD, 100);
					this.world.setEntityState(entityplayer, (byte) 30);
				}
			}
		}

		this.applyEnchantments(this, entityIn);
	}

	return flag;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:48,代码来源:EntityTF2Character.java

示例8: attackEntityAsMob

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
@Override
public boolean attackEntityAsMob(Entity entityIn) {
	float f = (float) this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue();
	int i = 0;

	if (entityIn instanceof EntityLivingBase) {
		f += EnchantmentHelper.getModifierForCreature(this.getHeldItemMainhand(),
				((EntityLivingBase) entityIn).getCreatureAttribute());
		i += EnchantmentHelper.getKnockbackModifier(this);
	}

	boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), f);

	if (flag) {
		if (i > 0 && entityIn instanceof EntityLivingBase) {
			((EntityLivingBase) entityIn).knockBack(this, i * 0.5F, MathHelper.sin(this.rotationYaw * 0.017453292F),
					(-MathHelper.cos(this.rotationYaw * 0.017453292F)));
			this.motionX *= 0.6D;
			this.motionZ *= 0.6D;
		}

		int j = EnchantmentHelper.getFireAspectModifier(this);

		if (j > 0)
			entityIn.setFire(j * 4);

		if (entityIn instanceof EntityPlayer) {
			EntityPlayer entityplayer = (EntityPlayer) entityIn;
			ItemStack itemstack = this.getHeldItemMainhand();
			ItemStack itemstack1 = entityplayer.isHandActive() ? entityplayer.getActiveItemStack() : null;

			if (!itemstack.isEmpty() && itemstack1 != null && itemstack.getItem() instanceof ItemAxe
					&& itemstack1.getItem() == Items.SHIELD) {
				float f1 = 0.25F + EnchantmentHelper.getEfficiencyModifier(this) * 0.05F;

				if (this.rand.nextFloat() < f1) {
					entityplayer.getCooldownTracker().setCooldown(Items.SHIELD, 100);
					this.world.setEntityState(entityplayer, (byte) 30);
				}
			}
		}

		this.applyEnchantments(this, entityIn);

		if (entityIn instanceof EntityLivingBase && ((EntityLivingBase) entityIn).getHealth() <= 0)
			if (entityIn instanceof EntityBuilding)
				this.playSound(TF2Sounds.MOB_SAXTON_DESTROY, 2.2F, 1f);
			else
				this.playSound(TF2Sounds.MOB_SAXTON_KILL, 2.2F, 1f);
	}

	return flag;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:54,代码来源:EntitySaxtonHale.java

示例9: getDigSpeed

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
public float getDigSpeed(IBlockState state, BlockPos pos)
{
    float f = this.inventory.getStrVsBlock(state);

    if (f > 1.0F)
    {
        int i = EnchantmentHelper.getEfficiencyModifier(this);
        ItemStack itemstack = this.getHeldItemMainhand();

        if (i > 0 && itemstack != null)
        {
            f += (float)(i * i + 1);
        }
    }

    if (this.isPotionActive(MobEffects.HASTE))
    {
        f *= 1.0F + (float)(this.getActivePotionEffect(MobEffects.HASTE).getAmplifier() + 1) * 0.2F;
    }

    if (this.isPotionActive(MobEffects.MINING_FATIGUE))
    {
        float f1;

        switch (this.getActivePotionEffect(MobEffects.MINING_FATIGUE).getAmplifier())
        {
            case 0:
                f1 = 0.3F;
                break;
            case 1:
                f1 = 0.09F;
                break;
            case 2:
                f1 = 0.0027F;
                break;
            case 3:
            default:
                f1 = 8.1E-4F;
        }

        f *= f1;
    }

    if (this.isInsideOfMaterial(Material.WATER) && !EnchantmentHelper.getAquaAffinityModifier(this))
    {
        f /= 5.0F;
    }

    if (!this.onGround)
    {
        f /= 5.0F;
    }

    f = net.minecraftforge.event.ForgeEventFactory.getBreakSpeed(this, state, f, pos);
    return (f < 0 ? 0 : f);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:57,代码来源:EntityPlayer.java

示例10: attackEntityAsMob

import net.minecraft.enchantment.EnchantmentHelper; //导入方法依赖的package包/类
public boolean attackEntityAsMob(Entity entityIn)
{
    float f = (float)this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).getAttributeValue();
    int i = 0;

    if (entityIn instanceof EntityLivingBase)
    {
        f += EnchantmentHelper.getModifierForCreature(this.getHeldItemMainhand(), ((EntityLivingBase)entityIn).getCreatureAttribute());
        i += EnchantmentHelper.getKnockbackModifier(this);
    }

    boolean flag = entityIn.attackEntityFrom(DamageSource.causeMobDamage(this), f);

    if (flag)
    {
        if (i > 0 && entityIn instanceof EntityLivingBase)
        {
            ((EntityLivingBase)entityIn).knockBack(this, (float)i * 0.5F, (double)MathHelper.sin(this.rotationYaw * 0.017453292F), (double)(-MathHelper.cos(this.rotationYaw * 0.017453292F)));
            this.motionX *= 0.6D;
            this.motionZ *= 0.6D;
        }

        int j = EnchantmentHelper.getFireAspectModifier(this);

        if (j > 0)
        {
            entityIn.setFire(j * 4);
        }

        if (entityIn instanceof EntityPlayer)
        {
            EntityPlayer entityplayer = (EntityPlayer)entityIn;
            ItemStack itemstack = this.getHeldItemMainhand();
            ItemStack itemstack1 = entityplayer.isHandActive() ? entityplayer.getActiveItemStack() : null;

            if (itemstack != null && itemstack1 != null && itemstack.getItem() instanceof ItemAxe && itemstack1.getItem() == Items.SHIELD)
            {
                float f1 = 0.25F + (float)EnchantmentHelper.getEfficiencyModifier(this) * 0.05F;

                if (this.rand.nextFloat() < f1)
                {
                    entityplayer.getCooldownTracker().setCooldown(Items.SHIELD, 100);
                    this.worldObj.setEntityState(entityplayer, (byte)30);
                }
            }
        }

        this.applyEnchantments(this, entityIn);
    }

    return flag;
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:53,代码来源:EntityMob.java


注:本文中的net.minecraft.enchantment.EnchantmentHelper.getEfficiencyModifier方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。