From edbd95cddcba5aed226311cf532f4a9a201c3c3e Mon Sep 17 00:00:00 2001 From: granny Date: Sun, 16 Nov 2025 12:19:44 -0800 Subject: [PATCH] fix copper golem thinking barrels can be blocked --- .../behavior/TransportItemsBetweenContainers.java.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/behavior/TransportItemsBetweenContainers.java.patch b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/behavior/TransportItemsBetweenContainers.java.patch index a8cb256f4..4eb1c228b 100644 --- a/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/behavior/TransportItemsBetweenContainers.java.patch +++ b/purpur-server/minecraft-patches/sources/net/minecraft/world/entity/ai/behavior/TransportItemsBetweenContainers.java.patch @@ -9,6 +9,15 @@ double d1 = chestBlockEntity.getBlockPos().distToCenterSqr(mob.position()); if (d1 < d) { TransportItemsBetweenContainers.TransportItemTarget transportItemTarget1 = this.isTargetValidToPick( +@@ -338,7 +_,7 @@ + + private boolean hasValidTarget(Level level, PathfinderMob mob) { + boolean flag = this.target != null && this.isWantedBlock(mob, this.target.state) && this.targetHasNotChanged(level, this.target); +- if (flag && !this.isTargetBlocked(level, this.target)) { ++ if (flag && (mob.level().purpurConfig.copperGolemCanOpenBarrel && this.target.state.is(net.minecraft.world.level.block.Blocks.BARREL) || !this.isTargetBlocked(level, this.target))) { // Purpur - copper golem can place items in barrels option + if (!this.state.equals(TransportItemsBetweenContainers.TransportItemState.TRAVELLING)) { + return true; + } @@ -449,7 +_,7 @@ }