9
0
mirror of https://github.com/Xiao-MoMi/Custom-Crops.git synced 2025-12-22 08:29:35 +00:00
This commit is contained in:
Xiao-MoMi
2022-11-22 16:41:52 +08:00
parent bc97fa5aac
commit 5a734476c4
3 changed files with 9 additions and 6 deletions

View File

@@ -4,7 +4,7 @@ plugins {
}
group = 'net.momirealms'
version = '2.0.11-hotfix'
version = '2.0.12'
repositories {
mavenCentral()

View File

@@ -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);

View File

@@ -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;