From 4610d2b744d7ac1f1ffd9fadb09c14f0227bc04f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A7=8B=E9=9B=A8=E8=90=BD?= Date: Fri, 20 Sep 2024 11:19:54 +0800 Subject: [PATCH] Fix entity colliding. (Closes #1468) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 秋雨落 --- .../common/bridge/core/entity/EntityBridge.java | 2 -- .../mixin/core/world/entity/EntityMixin.java | 9 --------- .../mixin/core/world/entity/LivingEntityMixin.java | 14 -------------- .../core/world/entity/animal/ParrotMixin.java | 9 --------- 4 files changed, 34 deletions(-) diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/bridge/core/entity/EntityBridge.java b/arclight-common/src/main/java/io/izzel/arclight/common/bridge/core/entity/EntityBridge.java index 06d8191ad..e281b6435 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/bridge/core/entity/EntityBridge.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/bridge/core/entity/EntityBridge.java @@ -57,8 +57,6 @@ public interface EntityBridge extends ICommandSourceBridge, InjectEntityBridge { int bridge$getRideCooldown(); - boolean bridge$canCollideWith(Entity entity); - void bridge$setLastLavaContact(BlockPos pos); void bridge$revive(); diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/EntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/EntityMixin.java index c8e5783d5..dd4aac17b 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/EntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/EntityMixin.java @@ -592,15 +592,6 @@ public void setSecondsOnFire(float seconds, boolean callEvent) { this.level().getChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4); } - public boolean canCollideWith(Entity entity) { - return this.isPushable(); - } - - @Override - public boolean bridge$canCollideWith(Entity entity) { - return canCollideWith(entity); - } - @Unique protected transient boolean arclight$saveNotIncludeAll = false; protected void addAdditionalSaveData(CompoundTag tag, boolean includeAll) { diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java index 1f11333d5..d12d8787a 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/LivingEntityMixin.java @@ -828,20 +828,6 @@ public boolean isPickable() { return !this.isRemoved() && this.collides; } - /** - * @author IzzrlAliz - * @reason - */ - @Overwrite - public boolean isPushable() { - return this.isAlive() && !this.onClimbable() && this.collides; - } - - @Override - public boolean canCollideWith(Entity entity) { - return this.isPushable() && this.collides != this.collidableExemptions.contains(entity.getUUID()); - } - @Decorate(method = "completeUsingItem", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/item/ItemStack;finishUsingItem(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/entity/LivingEntity;)Lnet/minecraft/world/item/ItemStack;")) private ItemStack arclight$itemConsume(ItemStack itemStack, Level worldIn, LivingEntity entityLiving) throws Throwable { diff --git a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/animal/ParrotMixin.java b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/animal/ParrotMixin.java index e7534ddb1..48e99369a 100644 --- a/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/animal/ParrotMixin.java +++ b/arclight-common/src/main/java/io/izzel/arclight/common/mixin/core/world/entity/animal/ParrotMixin.java @@ -25,15 +25,6 @@ public abstract class ParrotMixin extends AnimalMixin { private void arclight$handledInSuper(Parrot parrotEntity, boolean p_233687_1_) { } - /** - * @author IzzelAliz - * @reason - */ - @Overwrite - public boolean isPushable() { - return super.isPushable(); // CraftBukkit - collidable API - } - @Redirect(method = "mobInteract", at = @At(value = "INVOKE", target = "Lnet/minecraft/util/RandomSource;nextInt(I)I")) private int arclight$tame(RandomSource instance, int i, Player player) { var ret = instance.nextInt(i);