Merge branch 'IntellectualSites:main' into main

This commit is contained in:
2023-04-21 19:41:30 -05:00
committed by GitHub
20 changed files with 276 additions and 149 deletions
@@ -23,6 +23,7 @@ import com.sk89q.worldedit.world.World;
import org.apache.logging.log4j.Logger;
import org.bukkit.Bukkit;
import java.lang.ref.WeakReference;
import java.util.List;
import java.util.Locale;
import java.util.Set;
@@ -176,15 +177,28 @@ public class PlotSquaredFeature extends FaweMaskManager {
maskedRegion = new RegionIntersection(world, weRegions);
}
return new FaweMask(maskedRegion) {
@Override
public boolean isValid(Player player, MaskType type) {
if (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(finalPlot)) {
return false;
}
return isAllowed(player, finalPlot, type);
return new PlotSquaredMask(maskedRegion, finalPlot);
}
private final class PlotSquaredMask extends FaweMask {
private final Plot plot;
private final WeakReference<Set<Plot>> connectedPlots;
private PlotSquaredMask(Region region, Plot plot) {
super(region);
this.plot = plot;
connectedPlots = new WeakReference<>(plot.getConnectedPlots());
}
@Override
public boolean isValid(Player player, MaskType type) {
if (!connectedPlots.refersTo(plot.getConnectedPlots()) || (Settings.Done.RESTRICT_BUILDING && DoneFlag.isDone(plot))) {
return false;
}
};
return isAllowed(player, plot, type);
}
}
}