本文整理汇总了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);
}
}
示例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
}
示例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);
}
}
}
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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;
}
示例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);
}
示例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;
}