aboutsummaryrefslogtreecommitdiffstats
path: root/bukkit
diff options
context:
space:
mode:
Diffstat (limited to 'bukkit')
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler.java3
-rw-r--r--bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler17.java17
-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/FarmingTaskType.java2
5 files changed, 29 insertions, 2 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 0093e265..8146d177 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/BukkitQuestsPlugin.java
@@ -224,7 +224,8 @@ public class BukkitQuestsPlugin extends JavaPlugin implements Quests {
} else switch (version) {
case 9, 10 -> versionSpecificHandler = new VersionSpecificHandler9();
case 11, 12, 13, 14, 15 -> versionSpecificHandler = new VersionSpecificHandler11();
- default -> versionSpecificHandler = new VersionSpecificHandler16();
+ case 16 -> versionSpecificHandler = new VersionSpecificHandler16();
+ default -> versionSpecificHandler = new VersionSpecificHandler17();
}
questsConfig.setItemGetter(itemGetter);
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 ecd509b4..480d0d12 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
@@ -1,5 +1,6 @@
package com.leonardobishop.quests.bukkit.hook.versionspecific;
+import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
import org.bukkit.inventory.ItemStack;
@@ -26,5 +27,7 @@ public interface VersionSpecificHandler {
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
boolean isHotbarMoveAndReaddSupported();
+ boolean isCaveVinesPlantWithBerries(BlockData blockData);
+
ItemStack getItemInMainHand(Player player);
}
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler17.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler17.java
new file mode 100644
index 00000000..187f70af
--- /dev/null
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/hook/versionspecific/VersionSpecificHandler17.java
@@ -0,0 +1,17 @@
+package com.leonardobishop.quests.bukkit.hook.versionspecific;
+
+import org.bukkit.block.data.BlockData;
+import org.bukkit.block.data.type.CaveVinesPlant;
+
+public class VersionSpecificHandler17 extends VersionSpecificHandler16 implements VersionSpecificHandler {
+
+ @Override
+ public int getMinecraftVersion() {
+ return 17;
+ }
+
+ @Override
+ public boolean isCaveVinesPlantWithBerries(BlockData blockData) {
+ return blockData instanceof CaveVinesPlant caveVinesPlant && caveVinesPlant.isBerries();
+ }
+}
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 fbfc49c9..dc552ee6 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.block.data.BlockData;
import org.bukkit.entity.Horse;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@@ -65,6 +66,11 @@ public class VersionSpecificHandler8 implements VersionSpecificHandler {
return true;
}
+ @Override
+ public boolean isCaveVinesPlantWithBerries(BlockData blockData) {
+ return false;
+ }
+
@SuppressWarnings("deprecation")
@Override
public ItemStack getItemInMainHand(Player player) {
diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java
index e636694d..bfe0457a 100644
--- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java
+++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/FarmingTaskType.java
@@ -50,7 +50,7 @@ public final class FarmingTaskType extends BukkitTaskType {
}
private void handle(Player player, Block block, BlockData blockData, String mode) {
- if (!(blockData instanceof Ageable crop && crop.getAge() == crop.getMaximumAge())) {
+ if (!(blockData instanceof Ageable crop && crop.getAge() == crop.getMaximumAge() || plugin.getVersionSpecificHandler().isCaveVinesPlantWithBerries(blockData))) {
return;
}