summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2017-08-03 08:23:27 +1000
committermd_5 <git@md-5.net>2017-08-03 08:23:27 +1000
commitb5dc294d32b43514929d35e86e4a45b807d543ca (patch)
tree2ead39dee4d313e8f3b3c9f6e5f41af786b9f30d /src
parent2cfb85dae20056d4fc6f25742229f4b11063c039 (diff)
downloadcraftbukkit-b5dc294d32b43514929d35e86e4a45b807d543ca.tar
craftbukkit-b5dc294d32b43514929d35e86e4a45b807d543ca.tar.gz
craftbukkit-b5dc294d32b43514929d35e86e4a45b807d543ca.tar.lz
craftbukkit-b5dc294d32b43514929d35e86e4a45b807d543ca.tar.xz
craftbukkit-b5dc294d32b43514929d35e86e4a45b807d543ca.zip
SPIGOT-3485: Launch shulker bullets as projectiles
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
index ede2e932..922a0f0e 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java
@@ -24,6 +24,7 @@ import net.minecraft.server.EntityLlamaSpit;
import net.minecraft.server.EntityPlayer;
import net.minecraft.server.EntityPotion;
import net.minecraft.server.EntityProjectile;
+import net.minecraft.server.EntityShulkerBullet;
import net.minecraft.server.EntitySmallFireball;
import net.minecraft.server.EntitySnowball;
import net.minecraft.server.EntityThrownExpBottle;
@@ -60,6 +61,7 @@ import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.LlamaSpit;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
+import org.bukkit.entity.ShulkerBullet;
import org.bukkit.entity.SmallFireball;
import org.bukkit.entity.Snowball;
import org.bukkit.entity.SpectralArrow;
@@ -400,6 +402,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
((EntityLlamaSpit) launch).shooter = getHandle();
((EntityLlamaSpit) launch).shoot(direction.getX(), direction.getY(), direction.getZ(), 1.5F, 10.0F); // EntityLlama
launch.setPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
+ } else if (ShulkerBullet.class.isAssignableFrom(projectile)) {
+ Location location = getEyeLocation();
+
+ launch = new EntityShulkerBullet(world, getHandle(), null, null);
+ launch.setPositionRotation(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch());
}
Validate.notNull(launch, "Projectile not supported");