Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-11-16 21:10:17 +01:00
SPIGOT-1676: Launch projectiles with velocity
Dieser Commit ist enthalten in:
Ursprung
4d3af9c19b
Commit
78578ca517
@ -20,6 +20,7 @@ import net.minecraft.server.EntityLargeFireball;
|
|||||||
import net.minecraft.server.EntityLiving;
|
import net.minecraft.server.EntityLiving;
|
||||||
import net.minecraft.server.EntityPlayer;
|
import net.minecraft.server.EntityPlayer;
|
||||||
import net.minecraft.server.EntityPotion;
|
import net.minecraft.server.EntityPotion;
|
||||||
|
import net.minecraft.server.EntityProjectile;
|
||||||
import net.minecraft.server.EntitySmallFireball;
|
import net.minecraft.server.EntitySmallFireball;
|
||||||
import net.minecraft.server.EntitySnowball;
|
import net.minecraft.server.EntitySnowball;
|
||||||
import net.minecraft.server.EntityThrownExpBottle;
|
import net.minecraft.server.EntityThrownExpBottle;
|
||||||
@ -327,16 +328,22 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity {
|
|||||||
|
|
||||||
if (Snowball.class.isAssignableFrom(projectile)) {
|
if (Snowball.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntitySnowball(world, getHandle());
|
launch = new EntitySnowball(world, getHandle());
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, 0.0F, 1.5F, 1.0F); // ItemSnowball
|
||||||
} else if (Egg.class.isAssignableFrom(projectile)) {
|
} else if (Egg.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntityEgg(world, getHandle());
|
launch = new EntityEgg(world, getHandle());
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, 0.0F, 1.5F, 1.0F); // ItemEgg
|
||||||
} else if (EnderPearl.class.isAssignableFrom(projectile)) {
|
} else if (EnderPearl.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntityEnderPearl(world, getHandle());
|
launch = new EntityEnderPearl(world, getHandle());
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, 0.0F, 1.5F, 1.0F); // ItemEnderPearl
|
||||||
} else if (Arrow.class.isAssignableFrom(projectile)) {
|
} else if (Arrow.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntityTippedArrow(world, getHandle());
|
launch = new EntityTippedArrow(world, getHandle());
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, 0.0F, 3.0F, 1.0F); // ItemBow
|
||||||
} else if (ThrownPotion.class.isAssignableFrom(projectile)) {
|
} else if (ThrownPotion.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntityPotion(world, getHandle(), CraftItemStack.asNMSCopy(new ItemStack(Material.POTION, 1)));
|
launch = new EntityPotion(world, getHandle(), CraftItemStack.asNMSCopy(new ItemStack(Material.POTION, 1)));
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, -20.0F, 0.5F, 1.0F); // ItemSplashPotion
|
||||||
} else if (ThrownExpBottle.class.isAssignableFrom(projectile)) {
|
} else if (ThrownExpBottle.class.isAssignableFrom(projectile)) {
|
||||||
launch = new EntityThrownExpBottle(world, getHandle());
|
launch = new EntityThrownExpBottle(world, getHandle());
|
||||||
|
((EntityProjectile) launch).a(getHandle(), getHandle().pitch, getHandle().yaw, -20.0F, 0.7F, 1.0F); // ItemExpBottle
|
||||||
} else if (Fish.class.isAssignableFrom(projectile) && getHandle() instanceof EntityHuman) {
|
} else if (Fish.class.isAssignableFrom(projectile) && getHandle() instanceof EntityHuman) {
|
||||||
launch = new EntityFishingHook(world, (EntityHuman) getHandle());
|
launch = new EntityFishingHook(world, (EntityHuman) getHandle());
|
||||||
} else if (Fireball.class.isAssignableFrom(projectile)) {
|
} else if (Fireball.class.isAssignableFrom(projectile)) {
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren