Simplify internal projectile entity handling

This commit is contained in:
md_5 2024-12-23 18:05:08 +11:00
parent 7bb75dc5c2
commit a0e06dfa0c
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
8 changed files with 15 additions and 27 deletions

View File

@ -1,20 +0,0 @@
package org.bukkit.craftbukkit.entity;
import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Projectile;
public abstract class AbstractProjectile extends CraftEntity implements Projectile {
public AbstractProjectile(CraftServer server, net.minecraft.world.entity.Entity entity) {
super(server, entity);
}
@Override
public boolean doesBounce() {
return false;
}
@Override
public void setBounce(boolean doesBounce) {}
}

View File

@ -12,7 +12,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.ItemStack;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
public class CraftAbstractArrow extends AbstractProjectile implements AbstractArrow { public class CraftAbstractArrow extends CraftProjectile implements AbstractArrow {
public CraftAbstractArrow(CraftServer server, EntityArrow entity) { public CraftAbstractArrow(CraftServer server, EntityArrow entity) {
super(server, entity); super(server, entity);

View File

@ -17,7 +17,7 @@ public abstract class CraftAbstractWindCharge extends CraftFireball implements A
@Override @Override
public net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge getHandle() { public net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge getHandle() {
return (net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge) this.entity; return (net.minecraft.world.entity.projectile.windcharge.AbstractWindCharge) super.getHandle();
} }
@Override @Override

View File

@ -10,7 +10,7 @@ public class CraftBreezeWindCharge extends CraftAbstractWindCharge implements Br
@Override @Override
public net.minecraft.world.entity.projectile.windcharge.BreezeWindCharge getHandle() { public net.minecraft.world.entity.projectile.windcharge.BreezeWindCharge getHandle() {
return (net.minecraft.world.entity.projectile.windcharge.BreezeWindCharge) this.entity; return (net.minecraft.world.entity.projectile.windcharge.BreezeWindCharge) super.getHandle();
} }
@Override @Override

View File

@ -9,7 +9,7 @@ import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
public class CraftFireball extends AbstractProjectile implements Fireball { public class CraftFireball extends CraftProjectile implements Fireball {
public CraftFireball(CraftServer server, EntityFireball entity) { public CraftFireball(CraftServer server, EntityFireball entity) {
super(server, entity); super(server, entity);
} }

View File

@ -5,7 +5,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.LlamaSpit; import org.bukkit.entity.LlamaSpit;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
public class CraftLlamaSpit extends AbstractProjectile implements LlamaSpit { public class CraftLlamaSpit extends CraftProjectile implements LlamaSpit {
public CraftLlamaSpit(CraftServer server, EntityLlamaSpit entity) { public CraftLlamaSpit(CraftServer server, EntityLlamaSpit entity) {
super(server, entity); super(server, entity);

View File

@ -6,7 +6,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Projectile; import org.bukkit.entity.Projectile;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
public abstract class CraftProjectile extends AbstractProjectile implements Projectile { public abstract class CraftProjectile extends CraftEntity implements Projectile {
public CraftProjectile(CraftServer server, net.minecraft.world.entity.projectile.IProjectile entity) { public CraftProjectile(CraftServer server, net.minecraft.world.entity.projectile.IProjectile entity) {
super(server, entity); super(server, entity);
} }
@ -26,6 +26,14 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
getHandle().projectileSource = shooter; getHandle().projectileSource = shooter;
} }
@Override
public boolean doesBounce() {
return false;
}
@Override
public void setBounce(boolean doesBounce) {}
@Override @Override
public IProjectile getHandle() { public IProjectile getHandle() {
return (IProjectile) entity; return (IProjectile) entity;

View File

@ -7,7 +7,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.ShulkerBullet; import org.bukkit.entity.ShulkerBullet;
import org.bukkit.projectiles.ProjectileSource; import org.bukkit.projectiles.ProjectileSource;
public class CraftShulkerBullet extends AbstractProjectile implements ShulkerBullet { public class CraftShulkerBullet extends CraftProjectile implements ShulkerBullet {
public CraftShulkerBullet(CraftServer server, EntityShulkerBullet entity) { public CraftShulkerBullet(CraftServer server, EntityShulkerBullet entity) {
super(server, entity); super(server, entity);