mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 13:16:45 +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>
|
* 6 = south-west<br>
|
||||||
* 7 = north-west<br>
|
* 7 = north-west<br>
|
||||||
* ----------<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>
|
* 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
|
* @return true if merged in that direction
|
||||||
*/
|
*/
|
||||||
public boolean getMerged(int direction) {
|
public boolean getMerged(int dir) {
|
||||||
if (this.settings == null) {
|
if (this.settings == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
switch (direction) {
|
switch (dir) {
|
||||||
case 0:
|
case 0:
|
||||||
case 1:
|
case 1:
|
||||||
case 2:
|
case 2:
|
||||||
case 3:
|
case 3:
|
||||||
return this.getSettings().getMerged(direction);
|
return this.getSettings().getMerged(dir);
|
||||||
case 7:
|
case 7:
|
||||||
int i = direction - 4;
|
int i = dir - 4;
|
||||||
int i2 = 0;
|
int i2 = 0;
|
||||||
if (this.getSettings().getMerged(i2)) {
|
if (this.getSettings().getMerged(i2)) {
|
||||||
if (this.getSettings().getMerged(i)) {
|
if (this.getSettings().getMerged(i)) {
|
||||||
@ -577,8 +578,8 @@ public class Plot {
|
|||||||
case 4:
|
case 4:
|
||||||
case 5:
|
case 5:
|
||||||
case 6:
|
case 6:
|
||||||
i = direction - 4;
|
i = dir - 4;
|
||||||
i2 = direction - 3;
|
i2 = dir - 3;
|
||||||
return this.getSettings().getMerged(i2) && this.getSettings().getMerged(i)
|
return this.getSettings().getMerged(i2) && this.getSettings().getMerged(i)
|
||||||
&& this.area.getPlotAbs(this.id.getRelative(i)).getMerged(i2) && this.area
|
&& this.area.getPlotAbs(this.id.getRelative(i)).getMerged(i2) && this.area
|
||||||
.getPlotAbs(this.id.getRelative(i2)).getMerged(i);
|
.getPlotAbs(this.id.getRelative(i2)).getMerged(i);
|
||||||
@ -954,7 +955,7 @@ public class Plot {
|
|||||||
*
|
*
|
||||||
* @param name name
|
* @param name name
|
||||||
*/
|
*/
|
||||||
public void setSign(final String name) {
|
public void setSign(@Nonnull String name) {
|
||||||
if (!isLoaded()) {
|
if (!isLoaded()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -962,10 +963,6 @@ public class Plot {
|
|||||||
TaskManager.runTask(() -> Plot.this.setSign(name));
|
TaskManager.runTask(() -> Plot.this.setSign(name));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (name == null) {
|
|
||||||
PlotSquared.log("Attempted to add null name to sign at plot: " + getId());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
PlotManager manager = this.area.getPlotManager();
|
PlotManager manager = this.area.getPlotManager();
|
||||||
if (this.area.ALLOW_SIGNS) {
|
if (this.area.ALLOW_SIGNS) {
|
||||||
Location loc = manager.getSignLoc(this.area, this);
|
Location loc = manager.getSignLoc(this.area, this);
|
||||||
@ -1393,7 +1390,12 @@ public class Plot {
|
|||||||
this.setSign("unknown");
|
this.setSign("unknown");
|
||||||
return;
|
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
|
* @param notify notify
|
||||||
* @return true if plot was created successfully
|
* @return true if plot was created successfully
|
||||||
*/
|
*/
|
||||||
public boolean create(final UUID uuid, final boolean notify) {
|
public boolean create(@Nonnull UUID uuid, final boolean notify) {
|
||||||
if (uuid == null) {
|
|
||||||
throw new IllegalArgumentException("UUID cannot be null");
|
|
||||||
}
|
|
||||||
this.owner = uuid;
|
this.owner = uuid;
|
||||||
Plot existing = this.area.getOwnedPlotAbs(this.id);
|
Plot existing = this.area.getOwnedPlotAbs(this.id);
|
||||||
if (existing != null) {
|
if (existing != null) {
|
||||||
@ -1526,9 +1525,7 @@ public class Plot {
|
|||||||
//TODO Better documentation needed.
|
//TODO Better documentation needed.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the top location for the plot.
|
* Returns the top location for the plot.
|
||||||
*
|
|
||||||
* @return
|
|
||||||
*/
|
*/
|
||||||
public Location getTopAbs() {
|
public Location getTopAbs() {
|
||||||
Location top = this.area.getPlotManager().getPlotTopLocAbs(this.area, this.id);
|
Location top = this.area.getPlotManager().getPlotTopLocAbs(this.area, this.id);
|
||||||
@ -1539,7 +1536,7 @@ public class Plot {
|
|||||||
//TODO Better documentation needed.
|
//TODO Better documentation needed.
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the bottom location for the plot.
|
* Returns the bottom location for the plot.
|
||||||
*/
|
*/
|
||||||
public Location getBottomAbs() {
|
public Location getBottomAbs() {
|
||||||
Location loc = this.area.getPlotManager().getPlotBottomLocAbs(this.area, this.id);
|
Location loc = this.area.getPlotManager().getPlotBottomLocAbs(this.area, this.id);
|
||||||
@ -1623,11 +1620,11 @@ public class Plot {
|
|||||||
if (!this.isMerged()) {
|
if (!this.isMerged()) {
|
||||||
return top;
|
return top;
|
||||||
}
|
}
|
||||||
if (this.getMerged(2)) {
|
if (this.getMerged(Direction.SOUTH.getIndex())) {
|
||||||
top.setZ(this.getRelative(2).getBottomAbs().getZ() - 1);
|
top.setZ(this.getRelative(Direction.SOUTH.getIndex()).getBottomAbs().getZ() - 1);
|
||||||
}
|
}
|
||||||
if (this.getMerged(1)) {
|
if (this.getMerged(Direction.EAST.getIndex())) {
|
||||||
top.setX(this.getRelative(1).getBottomAbs().getX() - 1);
|
top.setX(this.getRelative(Direction.SOUTH.getIndex()).getBottomAbs().getX() - 1);
|
||||||
}
|
}
|
||||||
return top;
|
return top;
|
||||||
}
|
}
|
||||||
@ -1644,11 +1641,11 @@ public class Plot {
|
|||||||
if (!this.isMerged()) {
|
if (!this.isMerged()) {
|
||||||
return bot;
|
return bot;
|
||||||
}
|
}
|
||||||
if (this.getMerged(0)) {
|
if (this.getMerged(Direction.NORTH.getIndex())) {
|
||||||
bot.setZ(this.getRelative(0).getTopAbs().getZ() + 1);
|
bot.setZ(this.getRelative(Direction.NORTH.getIndex()).getTopAbs().getZ() + 1);
|
||||||
}
|
}
|
||||||
if (this.getMerged(3)) {
|
if (this.getMerged(Direction.WEST.getIndex())) {
|
||||||
bot.setX(this.getRelative(3).getTopAbs().getX() + 1);
|
bot.setX(this.getRelative(Direction.WEST.getIndex()).getTopAbs().getX() + 1);
|
||||||
}
|
}
|
||||||
return bot;
|
return bot;
|
||||||
}
|
}
|
||||||
@ -1677,7 +1674,7 @@ public class Plot {
|
|||||||
if (this.area.TERRAIN == 3) {
|
if (this.area.TERRAIN == 3) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Plot other = this.getRelative(1);
|
Plot other = this.getRelative(Direction.EAST.getIndex());
|
||||||
Location bot = other.getBottomAbs();
|
Location bot = other.getBottomAbs();
|
||||||
Location top = this.getTopAbs();
|
Location top = this.getTopAbs();
|
||||||
Location pos1 = new Location(this.getWorldName(), top.getX(), 0, bot.getZ());
|
Location pos1 = new Location(this.getWorldName(), top.getX(), 0, bot.getZ());
|
||||||
|
Loading…
Reference in New Issue
Block a user