From 4b290e26cdc3d33f1573b87f5768c3b7e9c2ce0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E9=9B=A8=E8=90=BD?= Date: Sun, 17 Nov 2024 08:23:47 +0800 Subject: [PATCH] Fix CraftOminousItemSpawner is not a ProjectileSource. (Closes #1560) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 秋雨落 --- .../world/entity/projectile/AbstractArrowMixin.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/projectile/AbstractArrowMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/projectile/AbstractArrowMixin.java index e57d1a165..1e8a0cc95 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/projectile/AbstractArrowMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/projectile/AbstractArrowMixin.java @@ -79,6 +79,14 @@ public abstract class AbstractArrowMixin extends ProjectileMixin { @Inject(method = "setOwner", at = @At("HEAD")) private void arclight$setShooter(Entity entityIn, CallbackInfo ci) { - this.projectileSource = entityIn == null ? null : (ProjectileSource) ((EntityBridge) entityIn).bridge$getBukkitEntity(); + if (entityIn != null) { + var craftEntity = entityIn.bridge$getBukkitEntity(); + if (craftEntity instanceof ProjectileSource p) { + this.projectileSource = p; + return; + } + } + + this.projectileSource = null; } }