From 7e2124cc2f8602b950d092c50ce6726f390b3287 Mon Sep 17 00:00:00 2001 From: Krakenied Date: Tue, 27 Feb 2024 16:06:56 +0100 Subject: Move instanceof Goat check to version specific handler --- .../quests/bukkit/hook/versionspecific/VersionSpecificHandler.java | 3 +++ .../bukkit/hook/versionspecific/VersionSpecificHandler17.java | 7 +++++++ .../bukkit/hook/versionspecific/VersionSpecificHandler8.java | 6 ++++++ .../quests/bukkit/tasktype/type/MilkingTaskType.java | 3 +-- 4 files changed, 17 insertions(+), 2 deletions(-) (limited to 'bukkit/src') 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 e2395961..5d383dbf 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,6 +1,7 @@ package com.leonardobishop.quests.bukkit.hook.versionspecific; import org.bukkit.block.data.BlockData; +import org.bukkit.entity.Entity; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.SmithItemEvent; @@ -35,4 +36,6 @@ public interface VersionSpecificHandler { ItemStack[] getSmithItems(SmithItemEvent event); String getSmithMode(SmithItemEvent event); + + boolean isGoat(Entity entity); } 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 index 187f70af..731b29f6 100644 --- 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 @@ -2,6 +2,8 @@ package com.leonardobishop.quests.bukkit.hook.versionspecific; import org.bukkit.block.data.BlockData; import org.bukkit.block.data.type.CaveVinesPlant; +import org.bukkit.entity.Entity; +import org.bukkit.entity.Goat; public class VersionSpecificHandler17 extends VersionSpecificHandler16 implements VersionSpecificHandler { @@ -14,4 +16,9 @@ public class VersionSpecificHandler17 extends VersionSpecificHandler16 implement public boolean isCaveVinesPlantWithBerries(BlockData blockData) { return blockData instanceof CaveVinesPlant caveVinesPlant && caveVinesPlant.isBerries(); } + + @Override + public boolean isGoat(Entity entity) { + return entity instanceof Goat; + } } 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 c2877f1d..f2417250 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,6 +1,7 @@ package com.leonardobishop.quests.bukkit.hook.versionspecific; import org.bukkit.block.data.BlockData; +import org.bukkit.entity.Entity; import org.bukkit.entity.Horse; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; @@ -87,4 +88,9 @@ public class VersionSpecificHandler8 implements VersionSpecificHandler { public String getSmithMode(SmithItemEvent event) { return null; } + + @Override + public boolean isGoat(Entity entity) { + return false; + } } diff --git a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java index 956978bf..f0177b16 100644 --- a/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java +++ b/bukkit/src/main/java/com/leonardobishop/quests/bukkit/tasktype/type/MilkingTaskType.java @@ -12,7 +12,6 @@ import org.bukkit.Material; import org.bukkit.entity.Animals; import org.bukkit.entity.Cow; import org.bukkit.entity.Entity; -import org.bukkit.entity.Goat; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -37,7 +36,7 @@ public final class MilkingTaskType extends BukkitTaskType { @EventHandler(priority = EventPriority.MONITOR, ignoreCancelled = true) public void onPlayerInteractEntity(PlayerInteractEntityEvent event) { Entity entity = event.getRightClicked(); - if (!(entity instanceof Cow || entity instanceof Goat)) { + if (!(entity instanceof Cow || plugin.getVersionSpecificHandler().isGoat(entity))) { return; } -- cgit v1.2.3-70-g09d2