summaryrefslogtreecommitdiff
path: root/src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java')
-rw-r--r--src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java b/src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java
new file mode 100644
index 0000000..cfef033
--- /dev/null
+++ b/src/main/java/jp/plusplus/fbs/entity/EntityMagicArrow.java
@@ -0,0 +1,45 @@
+package jp.plusplus.fbs.entity;
+
+import net.minecraft.client.particle.EntityCritFX;
+import net.minecraft.entity.EntityLiving;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.monster.EntityMob;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.entity.projectile.EntityArrow;
+import net.minecraft.util.DamageSource;
+import net.minecraft.util.MovingObjectPosition;
+import net.minecraft.world.World;
+
+/**
+ * Createdby pluslus_Fon 2015/06/08.
+ */
+public class EntityMagicArrow extends EntityMagicProjectileBase {
+ public EntityMagicArrow(World p_i1582_1_) {
+ super(p_i1582_1_);
+ }
+ public EntityMagicArrow(World par1World, EntityLivingBase par2EntityLivingBase, float speed, float speed2, float damage) {
+ super(par1World, par2EntityLivingBase, speed, speed2, 0, 0, 0);
+ setDamage(damage);
+ }
+
+ public boolean canExist(){ return worldObj.isRemote || ticksExisted<20*1.5; }
+
+ public void onCollideWithPlayer(MovingObjectPosition pos, EntityPlayer entity){
+ if(!worldObj.isRemote && !shootingEntity.isEntityEqual(entity)) {
+ entity.attackEntityFrom(DamageSource.causeIndirectMagicDamage(shootingEntity, entity), getDamage());
+ setDead();
+ }
+ }
+ public void onCollideWithMob(MovingObjectPosition pos, EntityMob entity){
+ if(!worldObj.isRemote) {
+ entity.attackEntityFrom(DamageSource.causeIndirectMagicDamage(shootingEntity, entity), getDamage());
+ setDead();
+ }
+ }
+ public void onCollideWithLiving(MovingObjectPosition pos, EntityLiving entity){
+ if(!worldObj.isRemote) {
+ entity.attackEntityFrom(DamageSource.causeIndirectMagicDamage(shootingEntity, entity), getDamage());
+ setDead();
+ }
+ }
+}