From 5a734476c407173f481352760af78ef3a22b2c03 Mon Sep 17 00:00:00 2001 From: Xiao-MoMi <70987828+Xiao-MoMi@users.noreply.github.com> Date: Tue, 22 Nov 2022 16:41:52 +0800 Subject: [PATCH] 2.0.12 --- build.gradle | 2 +- .../itemsadder/ItemsAdderFrameHandler.java | 2 ++ .../integrations/protection/WorldGuardHook.java | 11 ++++++----- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/build.gradle b/build.gradle index efeb785..d363b4f 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group = 'net.momirealms' -version = '2.0.11-hotfix' +version = '2.0.12' repositories { mavenCentral() diff --git a/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderFrameHandler.java b/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderFrameHandler.java index 6939220..dfad40e 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderFrameHandler.java +++ b/src/main/java/net/momirealms/customcrops/integrations/customplugin/itemsadder/ItemsAdderFrameHandler.java @@ -78,6 +78,7 @@ public class ItemsAdderFrameHandler extends ItemsAdderHandler { if (!AntiGrief.testBreak(player, entity.getLocation())) return; if (!canProceedAction(player, entity.getLocation())) return; CustomFurniture.remove(entity, false); + if (entity.isValid()) entity.remove(); this.onInteractRipeCrop(location, namespacedID, player); return; } @@ -229,6 +230,7 @@ public class ItemsAdderFrameHandler extends ItemsAdderHandler { String seedID = customFurniture.getNamespacedID(); if (seedID.contains("_stage_")) { CustomFurniture.remove(itemFrame, false); + if (itemFrame.isValid()) itemFrame.remove(); if (seedID.equals(BasicItemConfig.deadCrop)) return; if (hasNextStage(seedID)) { super.onBreakUnripeCrop(location); diff --git a/src/main/java/net/momirealms/customcrops/integrations/protection/WorldGuardHook.java b/src/main/java/net/momirealms/customcrops/integrations/protection/WorldGuardHook.java index fb02f7c..e1abefa 100644 --- a/src/main/java/net/momirealms/customcrops/integrations/protection/WorldGuardHook.java +++ b/src/main/java/net/momirealms/customcrops/integrations/protection/WorldGuardHook.java @@ -21,6 +21,7 @@ import com.sk89q.worldedit.bukkit.BukkitAdapter; import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.world.World; import com.sk89q.worldguard.LocalPlayer; +import com.sk89q.worldguard.WorldGuard; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.internal.platform.WorldGuardPlatform; import com.sk89q.worldguard.protection.flags.Flags; @@ -37,10 +38,10 @@ public class WorldGuardHook implements AntiGrief { public boolean canPlace(Location location, Player player) { LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); World world = BukkitAdapter.adapt(location.getWorld()); - WorldGuardPlatform platform = com.sk89q.worldguard.WorldGuard.getInstance().getPlatform(); + WorldGuardPlatform platform = WorldGuard.getInstance().getPlatform(); if (hasRegion(world, BukkitAdapter.asBlockVector(location))){ RegionQuery query = platform.getRegionContainer().createQuery(); - return query.testBuild(BukkitAdapter.adapt(location), localPlayer, Flags.BUILD); + return query.testState(BukkitAdapter.adapt(location), localPlayer, Flags.BUILD); } else return true; } @@ -49,16 +50,16 @@ public class WorldGuardHook implements AntiGrief { public boolean canBreak(Location location, Player player) { LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); World world = BukkitAdapter.adapt(location.getWorld()); - WorldGuardPlatform platform = com.sk89q.worldguard.WorldGuard.getInstance().getPlatform(); + WorldGuardPlatform platform = WorldGuard.getInstance().getPlatform(); if (hasRegion(world, BukkitAdapter.asBlockVector(location))){ RegionQuery query = platform.getRegionContainer().createQuery(); - return query.testBuild(BukkitAdapter.adapt(location), localPlayer, Flags.BLOCK_BREAK); + return query.testState(BukkitAdapter.adapt(location), localPlayer, Flags.BLOCK_BREAK); } else return true; } private boolean hasRegion(World world, BlockVector3 vector){ - RegionContainer container = com.sk89q.worldguard.WorldGuard.getInstance().getPlatform().getRegionContainer(); + RegionContainer container = WorldGuard.getInstance().getPlatform().getRegionContainer(); RegionManager regionManager = container.get(world); if (regionManager == null) return true; return regionManager.getApplicableRegions(vector).size() > 0;