diff --git a/lang/en.yml b/lang/en.yml index 03a4415..0be57b5 100644 --- a/lang/en.yml +++ b/lang/en.yml @@ -209,4 +209,4 @@ VALID_DONATION_KEY: "Valid donation key." VERSION_INCOMPATIBLE: "{0} {1} is not supported." VERSION_NOTICE: "Version {0} is now available." VERSION_REQUIRED: "{0} {1} or higher is required." -WORLD_NOT_FOUND: "World \"{0}\" not found." +WORLD_NOT_FOUND: "World \"{0}\" not found." \ No newline at end of file diff --git a/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java b/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java index a7a2284..23f9207 100644 --- a/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java +++ b/src/main/java/net/coreprotect/bukkit/BukkitAdapter.java @@ -23,6 +23,7 @@ import org.bukkit.entity.EntityType; import org.bukkit.entity.ItemFrame; import org.bukkit.entity.LivingEntity; import org.bukkit.event.block.SignChangeEvent; +import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MerchantRecipe; @@ -355,6 +356,11 @@ public class BukkitAdapter implements BukkitInterface { return null; } + @Override + public boolean isCrafter(InventoryType type) { + return false; + } + @Override public boolean isCopperChest(Material material) { return false; diff --git a/src/main/java/net/coreprotect/bukkit/BukkitInterface.java b/src/main/java/net/coreprotect/bukkit/BukkitInterface.java index 9614eff..c66d7fc 100644 --- a/src/main/java/net/coreprotect/bukkit/BukkitInterface.java +++ b/src/main/java/net/coreprotect/bukkit/BukkitInterface.java @@ -15,6 +15,7 @@ import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; import org.bukkit.event.block.SignChangeEvent; +import org.bukkit.event.inventory.InventoryType; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.MerchantRecipe; @@ -434,7 +435,10 @@ public interface BukkitInterface { */ String parseLegacyName(String name); + boolean isCrafter(InventoryType type); + boolean isCopperChest(Material material); Set copperChestMaterials(); + } diff --git a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_21.java b/src/main/java/net/coreprotect/bukkit/Bukkit_v1_21.java index 64220ff..4d52be8 100644 --- a/src/main/java/net/coreprotect/bukkit/Bukkit_v1_21.java +++ b/src/main/java/net/coreprotect/bukkit/Bukkit_v1_21.java @@ -11,6 +11,7 @@ import org.bukkit.Material; import org.bukkit.NamespacedKey; import org.bukkit.Tag; import org.bukkit.entity.EntityType; +import org.bukkit.event.inventory.InventoryType; import net.coreprotect.model.BlockGroup; @@ -162,6 +163,11 @@ public class Bukkit_v1_21 extends Bukkit_v1_20 implements BukkitInterface { } + @Override + public boolean isCrafter(InventoryType type) { + return type == InventoryType.CRAFTER; + } + @Override public boolean isCopperChest(Material material) { if (COPPER_CHESTS.contains(material) && material != Material.CHEST) { diff --git a/src/main/java/net/coreprotect/listener/player/InventoryChangeListener.java b/src/main/java/net/coreprotect/listener/player/InventoryChangeListener.java index 571499e..5db038e 100644 --- a/src/main/java/net/coreprotect/listener/player/InventoryChangeListener.java +++ b/src/main/java/net/coreprotect/listener/player/InventoryChangeListener.java @@ -17,10 +17,19 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; -import org.bukkit.event.inventory.*; -import org.bukkit.inventory.*; +import org.bukkit.event.inventory.ClickType; +import org.bukkit.event.inventory.InventoryAction; +import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.inventory.InventoryDragEvent; +import org.bukkit.event.inventory.InventoryMoveItemEvent; +import org.bukkit.event.inventory.InventoryType; +import org.bukkit.inventory.BlockInventoryHolder; +import org.bukkit.inventory.Inventory; +import org.bukkit.inventory.InventoryHolder; +import org.bukkit.inventory.ItemStack; import net.coreprotect.CoreProtect; +import net.coreprotect.bukkit.BukkitAdapter; import net.coreprotect.config.Config; import net.coreprotect.config.ConfigHandler; import net.coreprotect.consumer.Queue; @@ -338,7 +347,7 @@ public final class InventoryChangeListener extends Queue implements Listener { private boolean checkCrafterSlotChange(InventoryClickEvent event) { // Check if the clicked inventory is a crafter - if (event.getInventory().getType() != InventoryType.CRAFTER) { + if (!BukkitAdapter.ADAPTER.isCrafter(event.getInventory().getType())) { return false; } @@ -364,7 +373,8 @@ public final class InventoryChangeListener extends Queue implements Listener { Location location = null; try { location = inventory.getLocation(); - } catch (Exception e) { + } + catch (Exception e) { return false; } diff --git a/src/main/java/net/coreprotect/services/VersionCheckService.java b/src/main/java/net/coreprotect/services/VersionCheckService.java index 85e8834..68aeb64 100644 --- a/src/main/java/net/coreprotect/services/VersionCheckService.java +++ b/src/main/java/net/coreprotect/services/VersionCheckService.java @@ -45,7 +45,7 @@ public class VersionCheckService { } // Patch version validation - if (VersionUtils.newVersion(ConfigHandler.PATCH_VERSION, VersionUtils.getPluginVersion()) && !ConfigHandler.EDITION_BRANCH.contains("-dev")) { + if (VersionUtils.newVersion(ConfigHandler.PATCH_VERSION, VersionUtils.getPluginVersion()) && !VersionUtils.isBranch("dev")) { Chat.console(Phrase.build(Phrase.VERSION_INCOMPATIBLE, "CoreProtect", "v" + VersionUtils.getPluginVersion())); Chat.sendConsoleMessage(Color.GREY + "[CoreProtect] " + Phrase.build(Phrase.INVALID_BRANCH_2)); return false;