Document area getters in PlotAreaManager, and replace y-value with z in the area contains check.

This commit is contained in:
Alexander Söderberg 2020-02-19 23:52:34 +01:00
parent 3ffa6cdb6c
commit 67e5d50e0d
3 changed files with 33 additions and 9 deletions

View File

@ -5,6 +5,7 @@ import com.github.intellectualsites.plotsquared.plot.object.PlotArea;
import com.github.intellectualsites.plotsquared.plot.util.StringMan;
import com.github.intellectualsites.plotsquared.plot.util.area.QuadMap;
import com.sk89q.worldedit.regions.CuboidRegion;
import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Arrays;
@ -61,7 +62,7 @@ public class DefaultPlotAreaManager implements PlotAreaManager {
if (areas == null) {
return null;
}
int y;
int z;
int x;
switch (areas.length) {
case 1:
@ -74,9 +75,9 @@ public class DefaultPlotAreaManager implements PlotAreaManager {
case 7:
case 8:
x = location.getX();
y = location.getY();
z = location.getZ();
for (PlotArea area : areas) {
if (area.contains(x, y)) {
if (area.contains(x, z)) {
return area;
}
}
@ -139,7 +140,7 @@ public class DefaultPlotAreaManager implements PlotAreaManager {
return null;
}
@Override public PlotArea getPlotArea(Location location) {
@Override public PlotArea getPlotArea(@NotNull Location location) {
switch (this.plotAreas.length) {
case 0:
return null;
@ -174,7 +175,7 @@ public class DefaultPlotAreaManager implements PlotAreaManager {
return null;
}
int x;
int y;
int z;
switch (areas.length) {
case 0:
PlotArea a = areas[0];
@ -187,9 +188,9 @@ public class DefaultPlotAreaManager implements PlotAreaManager {
case 7:
case 8:
x = location.getX();
y = location.getY();
z = location.getZ();
for (PlotArea area : areas) {
if (area.contains(x, y)) {
if (area.contains(x, z)) {
return area;
}
}

View File

@ -3,11 +3,33 @@ package com.github.intellectualsites.plotsquared.plot.object.worlds;
import com.github.intellectualsites.plotsquared.plot.object.Location;
import com.github.intellectualsites.plotsquared.plot.object.PlotArea;
import com.sk89q.worldedit.regions.CuboidRegion;
import org.jetbrains.annotations.NotNull;
public interface PlotAreaManager {
/**
* Get the plot area for a particular location. This
* method assumes that the caller already knows that
* the location belongs to a plot area, in which
* case it will return the appropriate plot area.
*
* If the location does not belong to a plot area,
* it may still return an area.
*
* @param location The location
* @return An applicable area, or null
*/
PlotArea getApplicablePlotArea(Location location);
PlotArea getPlotArea(Location location);
/**
* Get the plot area, if there is any, for the given
* location. This may return null, if given location
* does not belong to a plot area.
*
* @param location The location
* @return The area, if found
*/
PlotArea getPlotArea(@NotNull Location location);
PlotArea getPlotArea(String world, String id);

View File

@ -5,6 +5,7 @@ import com.github.intellectualsites.plotsquared.plot.object.PlotArea;
import com.github.intellectualsites.plotsquared.plot.util.ArrayUtil;
import com.github.intellectualsites.plotsquared.plot.util.SetupUtils;
import com.sk89q.worldedit.regions.CuboidRegion;
import org.jetbrains.annotations.NotNull;
public class SinglePlotAreaManager extends DefaultPlotAreaManager {
private final SinglePlotArea[] array;
@ -82,7 +83,7 @@ public class SinglePlotAreaManager extends DefaultPlotAreaManager {
return isWorld(world) || world.equals("*") ? area : super.getPlotArea(world, id);
}
@Override public PlotArea getPlotArea(Location location) {
@Override public PlotArea getPlotArea(@NotNull Location location) {
PlotArea found = super.getPlotArea(location);
if (found != null) {
return found;