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.projectiles.ProjectileSource;
public class CraftAbstractArrow extends AbstractProjectile implements AbstractArrow {
public class CraftAbstractArrow extends CraftProjectile implements AbstractArrow {
public CraftAbstractArrow(CraftServer server, EntityArrow entity) {
super(server, entity);

View File

@ -17,7 +17,7 @@ public abstract class CraftAbstractWindCharge extends CraftFireball implements A
@Override
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

View File

@ -10,7 +10,7 @@ public class CraftBreezeWindCharge extends CraftAbstractWindCharge implements Br
@Override
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

View File

@ -9,7 +9,7 @@ import org.bukkit.projectiles.ProjectileSource;
import org.bukkit.util.Vector;
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) {
super(server, entity);
}

View File

@ -5,7 +5,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.LlamaSpit;
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) {
super(server, entity);

View File

@ -6,7 +6,7 @@ import org.bukkit.craftbukkit.CraftServer;
import org.bukkit.entity.Projectile;
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) {
super(server, entity);
}
@ -26,6 +26,14 @@ public abstract class CraftProjectile extends AbstractProjectile implements Proj
getHandle().projectileSource = shooter;
}
@Override
public boolean doesBounce() {
return false;
}
@Override
public void setBounce(boolean doesBounce) {}
@Override
public IProjectile getHandle() {
return (IProjectile) entity;

View File

@ -7,7 +7,7 @@ import org.bukkit.entity.Entity;
import org.bukkit.entity.ShulkerBullet;
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) {
super(server, entity);