Skip to content

Commit 0cf0f26

Browse files
committed
baritone check if need to open door in src pos
1 parent 3174ab8 commit 0cf0f26

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/main/java/com/zenith/feature/pathfinder/movement/movements/MovementTraverse.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,18 @@ public MovementState updateState(MovementState state) {
219219
}
220220
}
221221

222+
var src0Block = BlockStateInterface.getBlock(src);
223+
var src1Block = BlockStateInterface.getBlock(src.above());
224+
if (src0Block.blockTags().contains(BlockTags.DOORS) || src1Block.blockTags().contains(BlockTags.DOORS)) {
225+
boolean notPassable = src0Block.blockTags().contains(BlockTags.DOORS) && !MovementHelper.isDoorPassable(src, dest) || src1Block.blockTags().contains(BlockTags.DOORS) && !MovementHelper.isDoorPassable(dest, src);
226+
boolean canOpen = !(BlockRegistry.IRON_DOOR.equals(src0Block) || BlockRegistry.IRON_DOOR.equals(src1Block));
227+
if (notPassable && canOpen) {
228+
return state.setTarget(new MovementState.MovementTarget(RotationUtils.calcRotationFromVec3d(ctx.playerHead(), VecUtils.calculateBlockCenter(src), ctx.playerRotations()), true))
229+
.setInput(PathInput.RIGHT_CLICK_BLOCK, true)
230+
.setClickTarget(src);
231+
}
232+
}
233+
222234
if (pb0Block.blockTags().contains(BlockTags.FENCE_GATES) || pb1Block.blockTags().contains(BlockTags.FENCE_GATES)) {
223235
BlockPos blocked = !MovementHelper.isGatePassable(positionsToBreak[0], src.above()) ? positionsToBreak[0]
224236
: !MovementHelper.isGatePassable(positionsToBreak[1], src) ? positionsToBreak[1]

0 commit comments

Comments
 (0)