mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-12-24 16:58:50 +01:00
Cleaning and API Addition
Begins the process of removing "magic values" for directions in the plugin. Signed-off-by: matt <4009945+MattBDev@users.noreply.github.com>
This commit is contained in:
parent
92718a5ec8
commit
c5d9412c6c
@ -0,0 +1,26 @@
|
||||
package com.github.intellectualsites.plotsquared.plot.object;
|
||||
|
||||
public enum Direction {
|
||||
NORTH(0, "north"), EAST(1, "east"), SOUTH(2, "south"), WEST(3, "west"), NORTHEAST(4,
|
||||
"northeast"), SOUTHEAST(5, "southeast"), SOUTHWEST(6, "southwest"), NORTHWEST(7,
|
||||
"northwest"),
|
||||
;
|
||||
|
||||
|
||||
private int index;
|
||||
private String name;
|
||||
|
||||
Direction(int index, String name) {
|
||||
|
||||
this.index = index;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public int getIndex() {
|
||||
return index;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
}
|
@ -546,23 +546,24 @@ public class Plot {
|
||||
* 6 = south-west<br>
|
||||
* 7 = north-west<br>
|
||||
* ----------<br>
|
||||
* //todo these artificial values are way too confusing.
|
||||
* Note: A plot that is merged north and east will not be merged northeast if the northeast plot is not part of the same group<br>
|
||||
*
|
||||
* @param direction direction to check for merged plot
|
||||
* @param dir direction to check for merged plot
|
||||
* @return true if merged in that direction
|
||||
*/
|
||||
public boolean getMerged(int direction) {
|
||||
public boolean getMerged(int dir) {
|
||||
if (this.settings == null) {
|
||||
return false;
|
||||
}
|
||||
switch (direction) {
|
||||
switch (dir) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
return this.getSettings().getMerged(direction);
|
||||
return this.getSettings().getMerged(dir);
|
||||
case 7:
|
||||
int i = direction - 4;
|
||||
int i = dir - 4;
|
||||
int i2 = 0;
|
||||
if (this.getSettings().getMerged(i2)) {
|
||||
if (this.getSettings().getMerged(i)) {
|
||||
@ -577,8 +578,8 @@ public class Plot {
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
i = direction - 4;
|
||||
i2 = direction - 3;
|
||||
i = dir - 4;
|
||||
i2 = dir - 3;
|
||||
return this.getSettings().getMerged(i2) && this.getSettings().getMerged(i)
|
||||
&& this.area.getPlotAbs(this.id.getRelative(i)).getMerged(i2) && this.area
|
||||
.getPlotAbs(this.id.getRelative(i2)).getMerged(i);
|
||||
@ -954,7 +955,7 @@ public class Plot {
|
||||
*
|
||||
* @param name name
|
||||
*/
|
||||
public void setSign(final String name) {
|
||||
public void setSign(@Nonnull String name) {
|
||||
if (!isLoaded()) {
|
||||
return;
|
||||
}
|
||||
@ -962,10 +963,6 @@ public class Plot {
|
||||
TaskManager.runTask(() -> Plot.this.setSign(name));
|
||||
return;
|
||||
}
|
||||
if (name == null) {
|
||||
PlotSquared.log("Attempted to add null name to sign at plot: " + getId());
|
||||
return;
|
||||
}
|
||||
PlotManager manager = this.area.getPlotManager();
|
||||
if (this.area.ALLOW_SIGNS) {
|
||||
Location loc = manager.getSignLoc(this.area, this);
|
||||
@ -1393,7 +1390,12 @@ public class Plot {
|
||||
this.setSign("unknown");
|
||||
return;
|
||||
}
|
||||
this.setSign(UUIDHandler.getName(this.owner));
|
||||
String name = UUIDHandler.getName(this.owner);
|
||||
if (name == null) {
|
||||
this.setSign("unknown");
|
||||
} else {
|
||||
this.setSign(name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1471,10 +1473,7 @@ public class Plot {
|
||||
* @param notify notify
|
||||
* @return true if plot was created successfully
|
||||
*/
|
||||
public boolean create(final UUID uuid, final boolean notify) {
|
||||
if (uuid == null) {
|
||||
throw new IllegalArgumentException("UUID cannot be null");
|
||||
}
|
||||
public boolean create(@Nonnull UUID uuid, final boolean notify) {
|
||||
this.owner = uuid;
|
||||
Plot existing = this.area.getOwnedPlotAbs(this.id);
|
||||
if (existing != null) {
|
||||
@ -1526,9 +1525,7 @@ public class Plot {
|
||||
//TODO Better documentation needed.
|
||||
|
||||
/**
|
||||
* Return the top location for the plot.
|
||||
*
|
||||
* @return
|
||||
* Returns the top location for the plot.
|
||||
*/
|
||||
public Location getTopAbs() {
|
||||
Location top = this.area.getPlotManager().getPlotTopLocAbs(this.area, this.id);
|
||||
@ -1539,7 +1536,7 @@ public class Plot {
|
||||
//TODO Better documentation needed.
|
||||
|
||||
/**
|
||||
* Return the bottom location for the plot.
|
||||
* Returns the bottom location for the plot.
|
||||
*/
|
||||
public Location getBottomAbs() {
|
||||
Location loc = this.area.getPlotManager().getPlotBottomLocAbs(this.area, this.id);
|
||||
@ -1623,11 +1620,11 @@ public class Plot {
|
||||
if (!this.isMerged()) {
|
||||
return top;
|
||||
}
|
||||
if (this.getMerged(2)) {
|
||||
top.setZ(this.getRelative(2).getBottomAbs().getZ() - 1);
|
||||
if (this.getMerged(Direction.SOUTH.getIndex())) {
|
||||
top.setZ(this.getRelative(Direction.SOUTH.getIndex()).getBottomAbs().getZ() - 1);
|
||||
}
|
||||
if (this.getMerged(1)) {
|
||||
top.setX(this.getRelative(1).getBottomAbs().getX() - 1);
|
||||
if (this.getMerged(Direction.EAST.getIndex())) {
|
||||
top.setX(this.getRelative(Direction.SOUTH.getIndex()).getBottomAbs().getX() - 1);
|
||||
}
|
||||
return top;
|
||||
}
|
||||
@ -1644,11 +1641,11 @@ public class Plot {
|
||||
if (!this.isMerged()) {
|
||||
return bot;
|
||||
}
|
||||
if (this.getMerged(0)) {
|
||||
bot.setZ(this.getRelative(0).getTopAbs().getZ() + 1);
|
||||
if (this.getMerged(Direction.NORTH.getIndex())) {
|
||||
bot.setZ(this.getRelative(Direction.NORTH.getIndex()).getTopAbs().getZ() + 1);
|
||||
}
|
||||
if (this.getMerged(3)) {
|
||||
bot.setX(this.getRelative(3).getTopAbs().getX() + 1);
|
||||
if (this.getMerged(Direction.WEST.getIndex())) {
|
||||
bot.setX(this.getRelative(Direction.WEST.getIndex()).getTopAbs().getX() + 1);
|
||||
}
|
||||
return bot;
|
||||
}
|
||||
@ -1677,7 +1674,7 @@ public class Plot {
|
||||
if (this.area.TERRAIN == 3) {
|
||||
return;
|
||||
}
|
||||
Plot other = this.getRelative(1);
|
||||
Plot other = this.getRelative(Direction.EAST.getIndex());
|
||||
Location bot = other.getBottomAbs();
|
||||
Location top = this.getTopAbs();
|
||||
Location pos1 = new Location(this.getWorldName(), top.getX(), 0, bot.getZ());
|
||||
|
Loading…
Reference in New Issue
Block a user