SPIGOT-7910: Fix launching breeze wind charge from API and improve dispenser launch API
By: md_5 <git@md-5.net>
This commit is contained in:
@@ -58,7 +58,9 @@ import org.bukkit.craftbukkit.inventory.CraftEntityEquipment;
|
||||
import org.bukkit.craftbukkit.inventory.CraftItemStack;
|
||||
import org.bukkit.craftbukkit.potion.CraftPotionEffectType;
|
||||
import org.bukkit.entity.AbstractArrow;
|
||||
import org.bukkit.entity.AbstractWindCharge;
|
||||
import org.bukkit.entity.Arrow;
|
||||
import org.bukkit.entity.BreezeWindCharge;
|
||||
import org.bukkit.entity.DragonFireball;
|
||||
import org.bukkit.entity.Egg;
|
||||
import org.bukkit.entity.EnderPearl;
|
||||
@@ -81,7 +83,6 @@ import org.bukkit.entity.ThrownExpBottle;
|
||||
import org.bukkit.entity.ThrownPotion;
|
||||
import org.bukkit.entity.TippedArrow;
|
||||
import org.bukkit.entity.Trident;
|
||||
import org.bukkit.entity.WindCharge;
|
||||
import org.bukkit.entity.WitherSkull;
|
||||
import org.bukkit.entity.memory.MemoryKey;
|
||||
import org.bukkit.event.entity.EntityPotionEffectEvent;
|
||||
@@ -498,10 +499,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
||||
launch = new EntityWitherSkull(world, getHandle(), vec);
|
||||
} else if (DragonFireball.class.isAssignableFrom(projectile)) {
|
||||
launch = new EntityDragonFireball(world, getHandle(), vec);
|
||||
} else if (WindCharge.class.isAssignableFrom(projectile)) {
|
||||
launch = EntityTypes.WIND_CHARGE.create(world);
|
||||
((net.minecraft.world.entity.projectile.windcharge.WindCharge) launch).setOwner(getHandle());
|
||||
((net.minecraft.world.entity.projectile.windcharge.WindCharge) launch).assignDirectionalMovement(vec, 0.1D);
|
||||
} else if (AbstractWindCharge.class.isAssignableFrom(projectile)) {
|
||||
if (BreezeWindCharge.class.isAssignableFrom(projectile)) {
|
||||
launch = EntityTypes.BREEZE_WIND_CHARGE.create(world);
|
||||
} else {
|
||||
launch = EntityTypes.WIND_CHARGE.create(world);
|
||||
}
|
||||
|
||||
((net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge) launch).setOwner(getHandle());
|
||||
((net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge) launch).shootFromRotation(getHandle(), getHandle().getXRot(), getHandle().getYRot(), 0.0F, 1.5F, 1.0F); // WindChargeItem
|
||||
} else {
|
||||
launch = new EntityLargeFireball(world, getHandle(), vec, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user