summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java4
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler11.java17
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler16.java2
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java6
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/WalkingTaskType.java12
6 files changed, 36 insertions, 7 deletions
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
index 45e30454..f902395e 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -18,6 +18,7 @@ import com.leonardobishop.quests.bukkit.hook.title.Title_Bukkit;
import com.leonardobishop.quests.bukkit.hook.title.Title_BukkitNoTimings;
import com.leonardobishop.quests.bukkit.hook.title.Title_Other;
import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler;
+import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler11;
import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler16;
import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler8;
import com.leonardobishop.quests.bukkit.hook.versionspecific.VersionSpecificHandler9;
@@ -222,7 +223,8 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
if (version <= 8) {
versionSpecificHandler = new VersionSpecificHandler8();
} else switch (version) {
- case 9, 10, 11, 12, 13, 14, 15 -> versionSpecificHandler = new VersionSpecificHandler9();
+ case 9, 10 -> versionSpecificHandler = new VersionSpecificHandler9();
+ case 11, 12, 13, 14, 15 -> versionSpecificHandler = new VersionSpecificHandler11();
default -> versionSpecificHandler = new VersionSpecificHandler16();
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java
index f1b750cd..50d9b8c6 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java
@@ -14,6 +14,8 @@ public interface VersionSpecificHandler {
boolean isPlayerOnStrider(Player player);
+ boolean isPlayerOnHorse(Player player);
+
boolean isOffHandSwap(ClickType clickType);
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler11.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler11.java
new file mode 100644
index 00000000..4772a521
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler11.java
@@ -0,0 +1,17 @@
+package com.leonardobishop.quests.bukkit.hook.versionspecific;
+
+import org.bukkit.entity.AbstractHorse;
+import org.bukkit.entity.Player;
+
+public class VersionSpecificHandler11 extends VersionSpecificHandler9 implements VersionSpecificHandler {
+
+ @Override
+ public int getMinecraftVersion() {
+ return 11;
+ }
+
+ @Override
+ public boolean isPlayerOnHorse(Player player) {
+ return player.getVehicle() instanceof AbstractHorse;
+ }
+}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler16.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler16.java
index 5e82a499..6a9a4e0d 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler16.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler16.java
@@ -4,7 +4,7 @@ import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
-public class VersionSpecificHandler16 extends VersionSpecificHandler9 implements VersionSpecificHandler {
+public class VersionSpecificHandler16 extends VersionSpecificHandler11 implements VersionSpecificHandler {
@Override
public int getMinecraftVersion() {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java
index 386f692d..d3cc24c5 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler8.java
@@ -1,5 +1,6 @@
package com.leonardobishop.quests.bukkit.hook.versionspecific;
+import org.bukkit.entity.Horse;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -25,6 +26,11 @@ public class VersionSpecificHandler8 implements VersionSpecificHandler {
}
@Override
+ public boolean isPlayerOnHorse(Player player) {
+ return player.getVehicle() instanceof Horse;
+ }
+
+ @Override
public boolean isOffHandSwap(ClickType clickType) {
return false;
}
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 f7bf0e42..3bcc5f56 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
@@ -7,7 +7,9 @@ import com.leonardobishop.quests.common.player.QPlayer;
import com.leonardobishop.quests.common.player.questprogressfile.TaskProgress;
import com.leonardobishop.quests.common.quest.Quest;
import com.leonardobishop.quests.common.quest.Task;
-import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Boat;
+import org.bukkit.entity.Minecart;
+import org.bukkit.entity.Pig;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
@@ -82,10 +84,10 @@ public final class WalkingTaskType extends BukkitTaskType {
private boolean validateMode(Player player, String mode) {
return switch (mode) {
- case "boat" -> player.getVehicle() != null && player.getVehicle().getType() == EntityType.BOAT;
- case "horse" -> player.getVehicle() != null && player.getVehicle().getType() == EntityType.HORSE;
- case "pig" -> player.getVehicle() != null && player.getVehicle().getType() == EntityType.PIG;
- case "minecart" -> player.getVehicle() != null && player.getVehicle().getType() == EntityType.MINECART;
+ case "boat" -> player.getVehicle() instanceof Boat;
+ case "horse" -> plugin.getVersionSpecificHandler().isPlayerOnHorse(player);
+ case "pig" -> player.getVehicle() instanceof Pig;
+ case "minecart" -> player.getVehicle() instanceof Minecart;
case "strider" -> plugin.getVersionSpecificHandler().isPlayerOnStrider(player);
case "sneaking" -> // sprinting does not matter
player.isSneaking() && !player.isSwimming() && !player.isFlying()