本文整理匯總了Java中net.minecraft.entity.projectile.EntityArrow.setFire方法的典型用法代碼示例。如果您正苦於以下問題:Java EntityArrow.setFire方法的具體用法?Java EntityArrow.setFire怎麽用?Java EntityArrow.setFire使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類net.minecraft.entity.projectile.EntityArrow
的用法示例。
在下文中一共展示了EntityArrow.setFire方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: attackEntityWithRangedAttack
import net.minecraft.entity.projectile.EntityArrow; //導入方法依賴的package包/類
/**
* Attack the specified entity using a ranged attack.
*/
public void attackEntityWithRangedAttack(EntityLivingBase p_82196_1_, float p_82196_2_)
{
EntityArrow entityarrow = new EntityArrow(this.worldObj, this, p_82196_1_, 1.6F, (float)(14 - this.worldObj.getDifficulty().getDifficultyId() * 4));
int i = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, this.getHeldItem());
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, this.getHeldItem());
entityarrow.setDamage((double)(p_82196_2_ * 2.0F) + this.rand.nextGaussian() * 0.25D + (double)((float)this.worldObj.getDifficulty().getDifficultyId() * 0.11F));
if (i > 0)
{
entityarrow.setDamage(entityarrow.getDamage() + (double)i * 0.5D + 0.5D);
}
if (j > 0)
{
entityarrow.setKnockbackStrength(j);
}
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, this.getHeldItem()) > 0 || this.getSkeletonType() == 1)
{
entityarrow.setFire(100);
}
this.playSound("random.bow", 1.0F, 1.0F / (this.getRNG().nextFloat() * 0.4F + 0.8F));
this.worldObj.spawnEntityInWorld(entityarrow);
}
示例2: killArrows
import net.minecraft.entity.projectile.EntityArrow; //導入方法依賴的package包/類
/**
* Destroys skeleton arrows in the protected area
* Checks whether the arrow was shot by a class deriving from IRangedAttackMob
* Sets the arrow on fire for visual effect by default
* An arrow already on fire is killed
* The effect of this is that the arrow, for one tick, is engulfed in flame, as it looks strange to have the arrow disappear for no reason
* @param chunkBounds AxisAlignedBB in which block should act
*/
private void killArrows(AxisAlignedBB chunkBounds) {
List<EntityArrow> list = world.getEntitiesWithinAABB(EntityArrow.class, chunkBounds);
for (EntityArrow arrow : list) {
if (arrow.shootingEntity instanceof IRangedAttackMob) {
if (arrow.isBurning()) {
arrow.setDead();
} else {
arrow.setFire(1);
arrow.addVelocity(-arrow.motionX, 0, -arrow.motionZ);
}
}
}
}
示例3: killArrows
import net.minecraft.entity.projectile.EntityArrow; //導入方法依賴的package包/類
/**
* Destroys skeleton arrows in the protected area
* Checks whether the arrow was shot by a class deriving from IRangedAttackMob
* Sets the arrow on fire for visual effect by default
* An arrow already on fire is killed
* The effect of this is that the arrow, for one tick, is engulfed in flame, as it looks strange to have the arrow disappear for no reason
* @param areaBounds AxisAlignedBB in which block should act
*/
private void killArrows(AxisAlignedBB areaBounds) {
List<EntityArrow> list = world.getEntitiesWithinAABB(EntityArrow.class, areaBounds);
for (EntityArrow arrow : list) {
if (arrow.shootingEntity instanceof IRangedAttackMob) {
if (arrow.isBurning()) {
arrow.setDead();
} else {
arrow.setFire(1);
arrow.addVelocity(-arrow.motionX, 0, -arrow.motionZ);
}
}
}
}
示例4: onPlayerStoppedUsing
import net.minecraft.entity.projectile.EntityArrow; //導入方法依賴的package包/類
/**
* Called when the player stops using an Item (stops holding the right mouse button).
*/
public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityPlayer playerIn, int timeLeft)
{
boolean flag = playerIn.capabilities.isCreativeMode || EnchantmentHelper.getEnchantmentLevel(Enchantment.infinity.effectId, stack) > 0;
if (flag || playerIn.inventory.hasItem(Items.arrow))
{
int i = this.getMaxItemUseDuration(stack) - timeLeft;
float f = (float)i / 20.0F;
f = (f * f + f * 2.0F) / 3.0F;
if ((double)f < 0.1D)
{
return;
}
if (f > 1.0F)
{
f = 1.0F;
}
EntityArrow entityarrow = new EntityArrow(worldIn, playerIn, f * 2.0F);
if (f == 1.0F)
{
entityarrow.setIsCritical(true);
}
int j = EnchantmentHelper.getEnchantmentLevel(Enchantment.power.effectId, stack);
if (j > 0)
{
entityarrow.setDamage(entityarrow.getDamage() + (double)j * 0.5D + 0.5D);
}
int k = EnchantmentHelper.getEnchantmentLevel(Enchantment.punch.effectId, stack);
if (k > 0)
{
entityarrow.setKnockbackStrength(k);
}
if (EnchantmentHelper.getEnchantmentLevel(Enchantment.flame.effectId, stack) > 0)
{
entityarrow.setFire(100);
}
stack.damageItem(1, playerIn);
worldIn.playSoundAtEntity(playerIn, "random.bow", 1.0F, 1.0F / (itemRand.nextFloat() * 0.4F + 1.2F) + f * 0.5F);
if (flag)
{
entityarrow.canBePickedUp = 2;
}
else
{
playerIn.inventory.consumeInventoryItem(Items.arrow);
}
playerIn.triggerAchievement(StatList.objectUseStats[Item.getIdFromItem(this)]);
if (!worldIn.isRemote)
{
worldIn.spawnEntityInWorld(entityarrow);
}
}
}
示例5: func_190726_a
import net.minecraft.entity.projectile.EntityArrow; //導入方法依賴的package包/類
protected EntityArrow func_190726_a(float p_190726_1_)
{
EntityArrow entityarrow = super.func_190726_a(p_190726_1_);
entityarrow.setFire(100);
return entityarrow;
}