summaryrefslogtreecommitdiffstats
path: root/bukkit/src
diff options
context:
space:
mode:
authorKrakenied <Krakenied1@gmail.com>2023-03-24 14:17:35 +0100
committerLeonardo Bishop <13875753+LMBishop@users.noreply.github.com>2023-04-02 12:20:10 +0100
commit34a84d74cb32ae9ec1f0a3e6c14a198d077844a3 (patch)
tree4467eec226a948a18270a936130a927a9167ffb1 /bukkit/src
parent04527a2d5c248d424c12de1b2bda22ac34dd5bf1 (diff)
Fix CaveVinesPlant not being handled properly
Diffstat (limited to 'bukkit/src')
-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;
}