diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java index 93191d71..bccba3d0 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java @@ -152,11 +152,19 @@ private boolean validateMode(final @NotNull Player player, final @NotNull Mode m // is not possible, so we ignore it as well !player.isInsideVehicle() && !player.isSneaking() && !player.isSwimming() && player.isSprinting() && !player.isFlying() && !this.plugin.getVersionSpecificHandler().isPlayerGliding(player); + case FOOT_LIKE -> + // player is sneaking, walking, or running + !player.isInsideVehicle() && !player.isSwimming() + && !player.isFlying() && !this.plugin.getVersionSpecificHandler().isPlayerGliding(player); case SWIMMING -> // sprinting and sneaking is possible with swimming at once, // so we ignore it but not gliding as it's a bit different !player.isInsideVehicle() && player.isSwimming() && !this.plugin.getVersionSpecificHandler().isPlayerGliding(player); + case MANUAL_MOVEMENT -> + // player is sneaking, walking, running, or swimming + !player.isInsideVehicle() + && !player.isFlying() && !this.plugin.getVersionSpecificHandler().isPlayerGliding(player); case FLYING -> // sprinting and sneaking is possible with flying at once, // so we ignore it but not gliding as it's a bit different @@ -166,6 +174,8 @@ private boolean validateMode(final @NotNull Player player, final @NotNull Mode m // we can safely ignore any other actions here as there is // really no better way to detect flying with elytra !player.isInsideVehicle() && this.plugin.getVersionSpecificHandler().isPlayerGliding(player); + + case ANY -> true; }; } @@ -188,9 +198,12 @@ private enum Mode { SNEAKING, WALKING, RUNNING, + FOOT_LIKE, SWIMMING, + MANUAL_MOVEMENT, FLYING, - ELYTRA; + ELYTRA, + ANY; private static final Map STRING_MODE_MAP = new HashMap<>() {{ for (final Mode mode : Mode.values()) {