mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-22 13:16:45 +01:00
CheckStyle code tweaks
This commit is contained in:
parent
76bcb76905
commit
5bdb2263dc
@ -155,7 +155,8 @@ public class PS {
|
|||||||
}
|
}
|
||||||
this.TASK = this.IMP.getTaskManager();
|
this.TASK = this.IMP.getTaskManager();
|
||||||
setupConfigs();
|
setupConfigs();
|
||||||
this.translationFile = MainUtil.getFile(this.IMP.getDirectory(), Settings.Paths.TRANSLATIONS + File.separator + "PlotSquared.use_THIS.yml");
|
this.translationFile =
|
||||||
|
MainUtil.getFile(this.IMP.getDirectory(), Settings.Paths.TRANSLATIONS + File.separator + "PlotSquared.use_THIS.yml");
|
||||||
C.load(this.translationFile);
|
C.load(this.translationFile);
|
||||||
|
|
||||||
// Database
|
// Database
|
||||||
@ -340,9 +341,9 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the current logger
|
* Get the current logger.
|
||||||
*
|
*
|
||||||
* @return
|
* @return The assigned logger
|
||||||
*/
|
*/
|
||||||
public ILogger getLogger() {
|
public ILogger getLogger() {
|
||||||
return logger;
|
return logger;
|
||||||
@ -352,7 +353,7 @@ public class PS {
|
|||||||
* Set the Logger.
|
* Set the Logger.
|
||||||
* @see DelegateLogger
|
* @see DelegateLogger
|
||||||
* @see #getLogger()
|
* @see #getLogger()
|
||||||
* @param logger
|
* @param logger the logger the plugin should use
|
||||||
*/
|
*/
|
||||||
public void setLogger(ILogger logger) {
|
public void setLogger(ILogger logger) {
|
||||||
this.logger = logger;
|
this.logger = logger;
|
||||||
@ -463,14 +464,15 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the relevant plot area for a location.
|
* Get the relevant plot area for a specified location.
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>If there is only one plot area globally that will be returned</li>
|
* <li>If there is only one plot area globally that will be returned.
|
||||||
* <li>If there is only one plot area in the world, it will return that</li>
|
* <li>If there is only one plot area in the world, it will return that.
|
||||||
* <li>If the plot area for a location cannot be unambiguously resolved; null will be returned</li>
|
* <li>If the plot area for a location cannot be unambiguously
|
||||||
|
* resolved, null will be returned.
|
||||||
* </ul>
|
* </ul>
|
||||||
* Note: An applicable plot area may not include the location i.e. clusters
|
* Note: An applicable plot area may not include the location i.e. clusters
|
||||||
* @param location
|
* @param location the location
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public PlotArea getApplicablePlotArea(Location location) {
|
public PlotArea getApplicablePlotArea(Location location) {
|
||||||
@ -559,46 +561,15 @@ public class PS {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlotArea getPlotAreaByString(String search) {
|
|
||||||
String[] split = search.split(";|,");
|
|
||||||
PlotArea[] areas = this.plotAreaMap.get(split[0]);
|
|
||||||
if (areas == null) {
|
|
||||||
for (PlotArea area : this.plotAreas) {
|
|
||||||
if (area.worldname.equalsIgnoreCase(split[0])) {
|
|
||||||
if (area.id == null || split.length == 2 && area.id.equalsIgnoreCase(split[1])) {
|
|
||||||
return area;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
if (areas.length == 1) {
|
|
||||||
return areas[0];
|
|
||||||
} else if (split.length == 1) {
|
|
||||||
return null;
|
|
||||||
} else {
|
|
||||||
for (PlotArea area : areas) {
|
|
||||||
if (StringMan.isEqual(split[1], area.id)) {
|
|
||||||
return area;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<PlotArea> getPlotAreas(String world, RegionWrapper region) {
|
|
||||||
QuadMap<PlotArea> areas = this.plotAreaGrid.get(world);
|
|
||||||
return areas != null ? areas.get(region) : new HashSet<PlotArea>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the plot area which contains a location.
|
* Get the {@code PlotArea} which contains a location.
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>If the plot area does not contain a location, null will be returned.</li>
|
* <li>If the plot area does not contain a location, null
|
||||||
|
* will be returned.
|
||||||
* </ul>
|
* </ul>
|
||||||
*
|
*
|
||||||
* @param location
|
* @param location the location
|
||||||
* @return
|
* @return the {@link PlotArea} in the location, null if non existent
|
||||||
*/
|
*/
|
||||||
public PlotArea getPlotAreaAbs(Location location) {
|
public PlotArea getPlotAreaAbs(Location location) {
|
||||||
switch (this.plotAreas.length) {
|
switch (this.plotAreas.length) {
|
||||||
@ -657,6 +628,38 @@ public class PS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public PlotArea getPlotAreaByString(String search) {
|
||||||
|
String[] split = search.split(";|,");
|
||||||
|
PlotArea[] areas = this.plotAreaMap.get(split[0]);
|
||||||
|
if (areas == null) {
|
||||||
|
for (PlotArea area : this.plotAreas) {
|
||||||
|
if (area.worldname.equalsIgnoreCase(split[0])) {
|
||||||
|
if (area.id == null || split.length == 2 && area.id.equalsIgnoreCase(split[1])) {
|
||||||
|
return area;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
if (areas.length == 1) {
|
||||||
|
return areas[0];
|
||||||
|
} else if (split.length == 1) {
|
||||||
|
return null;
|
||||||
|
} else {
|
||||||
|
for (PlotArea area : areas) {
|
||||||
|
if (StringMan.isEqual(split[1], area.id)) {
|
||||||
|
return area;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public Set<PlotArea> getPlotAreas(String world, RegionWrapper region) {
|
||||||
|
QuadMap<PlotArea> areas = this.plotAreaGrid.get(world);
|
||||||
|
return areas != null ? areas.get(region) : new HashSet<PlotArea>();
|
||||||
|
}
|
||||||
|
|
||||||
public PlotManager getPlotManager(Plot plot) {
|
public PlotManager getPlotManager(Plot plot) {
|
||||||
return plot.getArea().manager;
|
return plot.getArea().manager;
|
||||||
}
|
}
|
||||||
@ -786,75 +789,8 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A more generic way to filter plots - make your own method if you need complex filters.
|
* Get all the base plots in a single set (for merged plots it just returns
|
||||||
* @param filters
|
* the bottom plot).
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public Set<Plot> getPlots(final PlotFilter... filters) {
|
|
||||||
final HashSet<Plot> set = new HashSet<>();
|
|
||||||
foreachPlotArea(new RunnableVal<PlotArea>() {
|
|
||||||
@Override
|
|
||||||
public void run(PlotArea value) {
|
|
||||||
for (PlotFilter filter : filters) {
|
|
||||||
if (!filter.allowsArea(value)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (Entry<PlotId, Plot> entry2 : value.getPlotEntries()) {
|
|
||||||
Plot plot = entry2.getValue();
|
|
||||||
for (PlotFilter filter : filters) {
|
|
||||||
if (!filter.allowsPlot(plot)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
set.add(plot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return set;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all the plots in a single set.
|
|
||||||
* @return Set of Plots
|
|
||||||
*/
|
|
||||||
public Set<Plot> getPlots() {
|
|
||||||
int size = getPlotCount();
|
|
||||||
final Set<Plot> result = new HashSet<>(size);
|
|
||||||
foreachPlotArea(new RunnableVal<PlotArea>() {
|
|
||||||
@Override
|
|
||||||
public void run(PlotArea value) {
|
|
||||||
result.addAll(value.getPlots());
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setPlots(HashMap<String, HashMap<PlotId, Plot>> plots) {
|
|
||||||
if (this.plots_tmp == null) {
|
|
||||||
this.plots_tmp = new HashMap<>();
|
|
||||||
}
|
|
||||||
for (Entry<String, HashMap<PlotId, Plot>> entry : plots.entrySet()) {
|
|
||||||
String world = entry.getKey();
|
|
||||||
PlotArea area = getPlotArea(world, null);
|
|
||||||
if (area == null) {
|
|
||||||
HashMap<PlotId, Plot> map = this.plots_tmp.get(world);
|
|
||||||
if (map == null) {
|
|
||||||
map = new HashMap<>();
|
|
||||||
this.plots_tmp.put(world, map);
|
|
||||||
}
|
|
||||||
map.putAll(entry.getValue());
|
|
||||||
} else {
|
|
||||||
for (Plot plot : entry.getValue().values()) {
|
|
||||||
plot.setArea(area);
|
|
||||||
area.addPlot(plot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Get all the base plots in a single set (for merged plots it just returns the bottom plot).
|
|
||||||
* @return Set of base Plots
|
* @return Set of base Plots
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getBasePlots() {
|
public Set<Plot> getBasePlots() {
|
||||||
@ -913,9 +849,11 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort plots by hashcode.
|
* Sort plots by hashcode.
|
||||||
* @param plots
|
* @param plots the collection of plots to sort
|
||||||
* @return
|
* @return the sorted collection
|
||||||
* @deprecated Unchecked, please use {@link #sortPlots(Collection, SortType, PlotArea)} which has additional checks before calling this
|
* @deprecated Unchecked, please use
|
||||||
|
* {@link #sortPlots(Collection, SortType, PlotArea)} which has
|
||||||
|
* additional checks before calling this
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArrayList<Plot> sortPlotsByHash(Collection<Plot> plots) {
|
public ArrayList<Plot> sortPlotsByHash(Collection<Plot> plots) {
|
||||||
@ -965,6 +903,38 @@ public class PS {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Unchecked, use {@link #sortPlots(Collection, SortType, PlotArea)} instead which will in turn call this.
|
||||||
|
* @param input an array of plots to sort
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
public void sortPlotsByHash(Plot[] input) {
|
||||||
|
List<Plot>[] bucket = new ArrayList[32];
|
||||||
|
for (int i = 0; i < bucket.length; i++) {
|
||||||
|
bucket[i] = new ArrayList<>();
|
||||||
|
}
|
||||||
|
boolean maxLength = false;
|
||||||
|
int placement = 1;
|
||||||
|
while (!maxLength) {
|
||||||
|
maxLength = true;
|
||||||
|
for (Plot i : input) {
|
||||||
|
int tmp = MathMan.getPositiveId(i.hashCode()) / placement;
|
||||||
|
bucket[tmp & 31].add(i);
|
||||||
|
if (maxLength && tmp > 0) {
|
||||||
|
maxLength = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int a = 0;
|
||||||
|
for (int b = 0; b < 32; b++) {
|
||||||
|
for (Plot i : bucket[b]) {
|
||||||
|
input[a++] = i;
|
||||||
|
}
|
||||||
|
bucket[b].clear();
|
||||||
|
}
|
||||||
|
placement *= 32;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public ArrayList<Plot> sortPlotsByTimestamp(Collection<Plot> plots) {
|
public ArrayList<Plot> sortPlotsByTimestamp(Collection<Plot> plots) {
|
||||||
int hardMax = 256000;
|
int hardMax = 256000;
|
||||||
@ -1037,50 +1007,20 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Unchecked, use {@link #sortPlots(Collection, SortType, PlotArea)} instead which will in turn call this
|
* Sort a collection of plots by world (with a priority world), then
|
||||||
* @param input
|
* by hashcode.
|
||||||
*/
|
* @param plots the plots to sort
|
||||||
@Deprecated
|
|
||||||
public void sortPlotsByHash(Plot[] input) {
|
|
||||||
List<Plot>[] bucket = new ArrayList[32];
|
|
||||||
for (int i = 0; i < bucket.length; i++) {
|
|
||||||
bucket[i] = new ArrayList<>();
|
|
||||||
}
|
|
||||||
boolean maxLength = false;
|
|
||||||
int placement = 1;
|
|
||||||
while (!maxLength) {
|
|
||||||
maxLength = true;
|
|
||||||
for (Plot i : input) {
|
|
||||||
int tmp = MathMan.getPositiveId(i.hashCode()) / placement;
|
|
||||||
bucket[tmp & 31].add(i);
|
|
||||||
if (maxLength && tmp > 0) {
|
|
||||||
maxLength = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
int a = 0;
|
|
||||||
for (int b = 0; b < 32; b++) {
|
|
||||||
for (Plot i : bucket[b]) {
|
|
||||||
input[a++] = i;
|
|
||||||
}
|
|
||||||
bucket[b].clear();
|
|
||||||
}
|
|
||||||
placement *= 32;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Sort a collection of plots by world (with a priority world), then by hashcode.
|
|
||||||
* @param myPlots
|
|
||||||
* @param type The sorting method to use for each world (timestamp, or hash)
|
* @param type The sorting method to use for each world (timestamp, or hash)
|
||||||
* @param priorityArea Use null, "world", or "gibberish" if you want default world order
|
* @param priorityArea Use null, "world", or "gibberish" if you
|
||||||
|
* want default world order
|
||||||
* @return ArrayList of plot
|
* @return ArrayList of plot
|
||||||
*/
|
*/
|
||||||
public ArrayList<Plot> sortPlots(Collection<Plot> myPlots, SortType type, final PlotArea priorityArea) {
|
public ArrayList<Plot> sortPlots(Collection<Plot> plots, SortType type, final PlotArea priorityArea) {
|
||||||
// group by world
|
// group by world
|
||||||
// sort each
|
// sort each
|
||||||
HashMap<PlotArea, Collection<Plot>> map = new HashMap<>();
|
HashMap<PlotArea, Collection<Plot>> map = new HashMap<>();
|
||||||
int totalSize = getPlotCount();
|
int totalSize = getPlotCount();
|
||||||
if (myPlots.size() == totalSize) {
|
if (plots.size() == totalSize) {
|
||||||
for (PlotArea area : this.plotAreas) {
|
for (PlotArea area : this.plotAreas) {
|
||||||
map.put(area, area.getPlots());
|
map.put(area, area.getPlots());
|
||||||
}
|
}
|
||||||
@ -1090,7 +1030,7 @@ public class PS {
|
|||||||
}
|
}
|
||||||
Collection<Plot> lastList = null;
|
Collection<Plot> lastList = null;
|
||||||
PlotArea lastWorld = null;
|
PlotArea lastWorld = null;
|
||||||
for (Plot plot : myPlots) {
|
for (Plot plot : plots) {
|
||||||
if (lastWorld == plot.getArea()) {
|
if (lastWorld == plot.getArea()) {
|
||||||
lastList.add(plot);
|
lastList.add(plot);
|
||||||
} else {
|
} else {
|
||||||
@ -1110,7 +1050,7 @@ public class PS {
|
|||||||
return a.hashCode() - b.hashCode();
|
return a.hashCode() - b.hashCode();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
ArrayList<Plot> toReturn = new ArrayList<>(myPlots.size());
|
ArrayList<Plot> toReturn = new ArrayList<>(plots.size());
|
||||||
for (PlotArea area : areas) {
|
for (PlotArea area : areas) {
|
||||||
switch (type) {
|
switch (type) {
|
||||||
case CREATION_DATE:
|
case CREATION_DATE:
|
||||||
@ -1124,6 +1064,7 @@ public class PS {
|
|||||||
break;
|
break;
|
||||||
case LAST_MODIFIED:
|
case LAST_MODIFIED:
|
||||||
toReturn.addAll(sortPlotsByModified(map.get(area)));
|
toReturn.addAll(sortPlotsByModified(map.get(area)));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1131,10 +1072,79 @@ public class PS {
|
|||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A more generic way to filter plots - make your own method
|
||||||
|
* if you need complex filters.
|
||||||
|
* @param filters the filter
|
||||||
|
* @return a filtered set of plots
|
||||||
|
*/
|
||||||
|
public Set<Plot> getPlots(final PlotFilter... filters) {
|
||||||
|
final HashSet<Plot> set = new HashSet<>();
|
||||||
|
foreachPlotArea(new RunnableVal<PlotArea>() {
|
||||||
|
@Override
|
||||||
|
public void run(PlotArea value) {
|
||||||
|
for (PlotFilter filter : filters) {
|
||||||
|
if (!filter.allowsArea(value)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (Entry<PlotId, Plot> entry2 : value.getPlotEntries()) {
|
||||||
|
Plot plot = entry2.getValue();
|
||||||
|
for (PlotFilter filter : filters) {
|
||||||
|
if (!filter.allowsPlot(plot)) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
set.add(plot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return set;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get all the plots in a single set.
|
||||||
|
* @return Set of Plots
|
||||||
|
*/
|
||||||
|
public Set<Plot> getPlots() {
|
||||||
|
int size = getPlotCount();
|
||||||
|
final Set<Plot> result = new HashSet<>(size);
|
||||||
|
foreachPlotArea(new RunnableVal<PlotArea>() {
|
||||||
|
@Override
|
||||||
|
public void run(PlotArea value) {
|
||||||
|
result.addAll(value.getPlots());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlots(HashMap<String, HashMap<PlotId, Plot>> plots) {
|
||||||
|
if (this.plots_tmp == null) {
|
||||||
|
this.plots_tmp = new HashMap<>();
|
||||||
|
}
|
||||||
|
for (Entry<String, HashMap<PlotId, Plot>> entry : plots.entrySet()) {
|
||||||
|
String world = entry.getKey();
|
||||||
|
PlotArea area = getPlotArea(world, null);
|
||||||
|
if (area == null) {
|
||||||
|
HashMap<PlotId, Plot> map = this.plots_tmp.get(world);
|
||||||
|
if (map == null) {
|
||||||
|
map = new HashMap<>();
|
||||||
|
this.plots_tmp.put(world, map);
|
||||||
|
}
|
||||||
|
map.putAll(entry.getValue());
|
||||||
|
} else {
|
||||||
|
for (Plot plot : entry.getValue().values()) {
|
||||||
|
plot.setArea(area);
|
||||||
|
area.addPlot(plot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all the plots owned by a player name.
|
* Get all the plots owned by a player name.
|
||||||
* @param world
|
* @param world the world
|
||||||
* @param player
|
* @param player the plot owner
|
||||||
* @return Set of Plot
|
* @return Set of Plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(String world, String player) {
|
public Set<Plot> getPlots(String world, String player) {
|
||||||
@ -1144,8 +1154,8 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all the plots owned by a player name.
|
* Get all the plots owned by a player name.
|
||||||
* @param area
|
* @param area the PlotArea
|
||||||
* @param player
|
* @param player the plot owner
|
||||||
* @return Set of Plot
|
* @return Set of Plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(PlotArea area, String player) {
|
public Set<Plot> getPlots(PlotArea area, String player) {
|
||||||
@ -1155,8 +1165,8 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plots by a PlotPlayer.
|
* Get all plots by a PlotPlayer.
|
||||||
* @param world
|
* @param world the world
|
||||||
* @param player
|
* @param player the plot owner
|
||||||
* @return Set of plot
|
* @return Set of plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(String world, PlotPlayer player) {
|
public Set<Plot> getPlots(String world, PlotPlayer player) {
|
||||||
@ -1165,8 +1175,8 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plots by a PlotPlayer.
|
* Get all plots by a PlotPlayer.
|
||||||
* @param area
|
* @param area the PlotArea
|
||||||
* @param player
|
* @param player the plot owner
|
||||||
* @return Set of plot
|
* @return Set of plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(PlotArea area, PlotPlayer player) {
|
public Set<Plot> getPlots(PlotArea area, PlotPlayer player) {
|
||||||
@ -1175,8 +1185,8 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plots by a UUID in a world.
|
* Get all plots by a UUID in a world.
|
||||||
* @param world
|
* @param world the world
|
||||||
* @param uuid
|
* @param uuid the plot owner
|
||||||
* @return Set of plot
|
* @return Set of plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(String world, UUID uuid) {
|
public Set<Plot> getPlots(String world, UUID uuid) {
|
||||||
@ -1193,8 +1203,8 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get all plots by a UUID in an area.
|
* Get all plots by a UUID in an area.
|
||||||
* @param area
|
* @param area the {@code PlotArea}
|
||||||
* @param uuid
|
* @param uuid the plot owner
|
||||||
* @return Set of plot
|
* @return Set of plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(PlotArea area, UUID uuid) {
|
public Set<Plot> getPlots(PlotArea area, UUID uuid) {
|
||||||
@ -1213,8 +1223,8 @@ public class PS {
|
|||||||
* Use {@link #hasPlotArea(String)}.
|
* Use {@link #hasPlotArea(String)}.
|
||||||
* Note: Worlds may have more than one plot area
|
* Note: Worlds may have more than one plot area
|
||||||
* @deprecated
|
* @deprecated
|
||||||
* @param world
|
* @param world the world
|
||||||
* @return
|
* @return if the world is a plotworld
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
public boolean isPlotWorld(String world) {
|
public boolean isPlotWorld(String world) {
|
||||||
@ -1223,7 +1233,7 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Check if a plot world.
|
* Check if a plot world.
|
||||||
* @param world
|
* @param world the world
|
||||||
* @see #getPlotAreaByString(String) to get the PlotArea object
|
* @see #getPlotAreaByString(String) to get the PlotArea object
|
||||||
* @return if a plot world is registered
|
* @return if a plot world is registered
|
||||||
*/
|
*/
|
||||||
@ -1264,6 +1274,15 @@ public class PS {
|
|||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the plots for a PlotPlayer.
|
||||||
|
* @param player the player to retrieve the plots for
|
||||||
|
* @return Set of Plot
|
||||||
|
*/
|
||||||
|
public Set<Plot> getPlots(PlotPlayer player) {
|
||||||
|
return getPlots(player.getUUID());
|
||||||
|
}
|
||||||
|
|
||||||
public Collection<Plot> getPlots(PlotArea area) {
|
public Collection<Plot> getPlots(PlotArea area) {
|
||||||
return area == null ? new HashSet<Plot>() : area.getPlots();
|
return area == null ? new HashSet<Plot>() : area.getPlots();
|
||||||
}
|
}
|
||||||
@ -1272,23 +1291,14 @@ public class PS {
|
|||||||
return area == null ? null : id == null ? null : area.getPlot(id);
|
return area == null ? null : id == null ? null : area.getPlot(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Get the plots for a PlotPlayer.
|
|
||||||
* @param player
|
|
||||||
* @return Set of Plot
|
|
||||||
*/
|
|
||||||
public Set<Plot> getPlots(PlotPlayer player) {
|
|
||||||
return getPlots(player.getUUID());
|
|
||||||
}
|
|
||||||
|
|
||||||
public Set<Plot> getBasePlots(PlotPlayer player) {
|
public Set<Plot> getBasePlots(PlotPlayer player) {
|
||||||
return getBasePlots(player.getUUID());
|
return getBasePlots(player.getUUID());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the plots for a UUID.
|
* Get the plots for a UUID.
|
||||||
* @param uuid
|
* @param uuid the plot owner
|
||||||
* @return Set of Plot
|
* @return Set of Plot's owned by the player
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlots(final UUID uuid) {
|
public Set<Plot> getPlots(final UUID uuid) {
|
||||||
final ArrayList<Plot> myPlots = new ArrayList<>();
|
final ArrayList<Plot> myPlots = new ArrayList<>();
|
||||||
@ -1318,7 +1328,7 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the plots for a UUID.
|
* Get the plots for a UUID.
|
||||||
* @param uuid The UUID of the owner
|
* @param uuid the UUID of the owner
|
||||||
* @return Set of Plot
|
* @return Set of Plot
|
||||||
*/
|
*/
|
||||||
public Set<Plot> getPlotsAbs(final UUID uuid) {
|
public Set<Plot> getPlotsAbs(final UUID uuid) {
|
||||||
@ -1335,8 +1345,8 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Unregister a plot from local memory (does not call DB)
|
* Unregister a plot from local memory (does not call DB).
|
||||||
* @param plot
|
* @param plot the plot to remove
|
||||||
* @param callEvent If to call an event about the plot being removed
|
* @param callEvent If to call an event about the plot being removed
|
||||||
* @return true if plot existed | false if it didn't
|
* @return true if plot existed | false if it didn't
|
||||||
*/
|
*/
|
||||||
@ -1362,18 +1372,19 @@ public class PS {
|
|||||||
/**
|
/**
|
||||||
* This method is called by the PlotGenerator class normally.
|
* This method is called by the PlotGenerator class normally.
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>Initializes the PlotArea and PlotManager classes</li>
|
* <li>Initializes the PlotArea and PlotManager classes
|
||||||
* <li>Registers the PlotArea and PlotManager classes</li>
|
* <li>Registers the PlotArea and PlotManager classes
|
||||||
* <li>Loads (and/or generates) the PlotArea configuration</li>
|
* <li>Loads (and/or generates) the PlotArea configuration
|
||||||
* <li>Sets up the world border if configured</li>
|
* <li>Sets up the world border if configured
|
||||||
* </ul>
|
* </ul>
|
||||||
* If loading an augmented plot world:
|
*
|
||||||
* <ul>
|
* <p>If loading an augmented plot world:
|
||||||
* <li>Creates the AugmentedPopulator classes</li>
|
* <ul>
|
||||||
* <li>Injects the AugmentedPopulator classes if required</li>
|
* <li>Creates the AugmentedPopulator classes
|
||||||
* </ul>
|
* <li>Injects the AugmentedPopulator classes if required
|
||||||
* @param world The world to load
|
* </ul>
|
||||||
* @param baseGenerator The generator for that world, or null if no generator
|
* @param world the world to load
|
||||||
|
* @param baseGenerator The generator for that world, or null
|
||||||
*/
|
*/
|
||||||
public void loadWorld(String world, GeneratorWrapper<?> baseGenerator) {
|
public void loadWorld(String world, GeneratorWrapper<?> baseGenerator) {
|
||||||
if (world.equals("CheckingPlotSquaredGenerator")) {
|
if (world.equals("CheckingPlotSquaredGenerator")) {
|
||||||
@ -1594,11 +1605,13 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup the configuration for a plot world based on world arguments.
|
* Setup the configuration for a plot world based on world arguments.
|
||||||
|
*
|
||||||
* <p>
|
* <p>
|
||||||
* <i>e.g. /mv create <world> normal -g PlotSquared:<args></i>
|
* <i>e.g. /mv create <world> normal -g PlotSquared:<args></i>
|
||||||
* </p>
|
*
|
||||||
* @param world The name of the world
|
* @param world The name of the world
|
||||||
* @param args The arguments
|
* @param args The arguments
|
||||||
|
* @param generator the plot generator
|
||||||
* @return boolean | if valid arguments were provided
|
* @return boolean | if valid arguments were provided
|
||||||
*/
|
*/
|
||||||
public boolean setupPlotWorld(String world, String args, IndependentPlotGenerator generator) {
|
public boolean setupPlotWorld(String world, String args, IndependentPlotGenerator generator) {
|
||||||
@ -1785,7 +1798,7 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close the database connection
|
* Close the database connection.
|
||||||
*/
|
*/
|
||||||
public void disable() {
|
public void disable() {
|
||||||
try {
|
try {
|
||||||
@ -1810,13 +1823,14 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup the database connection
|
* Setup the database connection.
|
||||||
*/
|
*/
|
||||||
public void setupDatabase() {
|
public void setupDatabase() {
|
||||||
try {
|
try {
|
||||||
if (DBFunc.dbManager == null) {
|
if (DBFunc.dbManager == null) {
|
||||||
if (Storage.MySQL.USE) {
|
if (Storage.MySQL.USE) {
|
||||||
this.database = new com.intellectualcrafters.plot.database.MySQL(Storage.MySQL.HOST, Storage.MySQL.PORT, Storage.MySQL.DATABASE, Storage.MySQL.USER, Storage.MySQL.PASSWORD);
|
this.database = new com.intellectualcrafters.plot.database.MySQL(Storage.MySQL.HOST, Storage.MySQL.PORT, Storage.MySQL.DATABASE,
|
||||||
|
Storage.MySQL.USER, Storage.MySQL.PASSWORD);
|
||||||
} else if (Storage.SQLite.USE) {
|
} else if (Storage.SQLite.USE) {
|
||||||
File file = MainUtil.getFile(IMP.getDirectory(), Storage.SQLite.DB + ".db");
|
File file = MainUtil.getFile(IMP.getDirectory(), Storage.SQLite.DB + ".db");
|
||||||
this.database = new com.intellectualcrafters.plot.database.SQLite(file);
|
this.database = new com.intellectualcrafters.plot.database.SQLite(file);
|
||||||
@ -1845,7 +1859,8 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup the default configuration (settings.yml)
|
* Setup the default configuration.
|
||||||
|
* @throws IOException if the config failed to save
|
||||||
*/
|
*/
|
||||||
public void setupConfig() throws IOException {
|
public void setupConfig() throws IOException {
|
||||||
String lastVersionString = this.config.getString("version");
|
String lastVersionString = this.config.getString("version");
|
||||||
@ -1853,7 +1868,7 @@ public class PS {
|
|||||||
String[] split = lastVersionString.split("\\.");
|
String[] split = lastVersionString.split("\\.");
|
||||||
this.lastVersion = new int[]{Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2])};
|
this.lastVersion = new int[]{Integer.parseInt(split[0]), Integer.parseInt(split[1]), Integer.parseInt(split[2])};
|
||||||
}
|
}
|
||||||
if (lastVersion != null && checkVersion(new int[]{3,4,0}, lastVersion)) {
|
if (lastVersion != null && checkVersion(new int[]{3, 4, 0}, lastVersion)) {
|
||||||
Settings.convertLegacy(configFile);
|
Settings.convertLegacy(configFile);
|
||||||
if (config.contains("worlds")) {
|
if (config.contains("worlds")) {
|
||||||
ConfigurationSection worldSection = config.getConfigurationSection("worlds");
|
ConfigurationSection worldSection = config.getConfigurationSection("worlds");
|
||||||
@ -1881,12 +1896,12 @@ public class PS {
|
|||||||
* - Translation: PlotSquared.use_THIS.yml, style.yml<br>
|
* - Translation: PlotSquared.use_THIS.yml, style.yml<br>
|
||||||
*/
|
*/
|
||||||
public void setupConfigs() {
|
public void setupConfigs() {
|
||||||
File folder = new File(this.IMP.getDirectory(),"config");
|
File folder = new File(this.IMP.getDirectory(), "config");
|
||||||
if (!folder.exists() && !folder.mkdirs()) {
|
if (!folder.exists() && !folder.mkdirs()) {
|
||||||
PS.log(C.PREFIX + "&cFailed to create the /plugins/config folder. Please create it manually.");
|
PS.log(C.PREFIX + "&cFailed to create the /plugins/config folder. Please create it manually.");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.worldsFile = new File(folder,"worlds.yml");
|
this.worldsFile = new File(folder, "worlds.yml");
|
||||||
if (!this.worldsFile.exists() && !this.worldsFile.createNewFile()) {
|
if (!this.worldsFile.exists() && !this.worldsFile.createNewFile()) {
|
||||||
PS.log("Could not create the worlds file, please create \"worlds.yml\" manually.");
|
PS.log("Could not create the worlds file, please create \"worlds.yml\" manually.");
|
||||||
}
|
}
|
||||||
@ -1895,7 +1910,7 @@ public class PS {
|
|||||||
PS.log("Failed to save settings.yml");
|
PS.log("Failed to save settings.yml");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.configFile = new File(folder,"settings.yml");
|
this.configFile = new File(folder, "settings.yml");
|
||||||
if (!this.configFile.exists() && !this.configFile.createNewFile()) {
|
if (!this.configFile.exists() && !this.configFile.createNewFile()) {
|
||||||
PS.log("Could not create the settings file, please create \"settings.yml\" manually.");
|
PS.log("Could not create the settings file, please create \"settings.yml\" manually.");
|
||||||
}
|
}
|
||||||
@ -1905,7 +1920,7 @@ public class PS {
|
|||||||
PS.log("Failed to save settings.yml");
|
PS.log("Failed to save settings.yml");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.styleFile = MainUtil.getFile(IMP.getDirectory(), Settings.Paths.TRANSLATIONS +File.separator + "style.yml" );
|
this.styleFile = MainUtil.getFile(IMP.getDirectory(), Settings.Paths.TRANSLATIONS + File.separator + "style.yml");
|
||||||
if (!this.styleFile.exists()) {
|
if (!this.styleFile.exists()) {
|
||||||
if (!this.styleFile.getParentFile().exists()) {
|
if (!this.styleFile.getParentFile().exists()) {
|
||||||
this.styleFile.getParentFile().mkdirs();
|
this.styleFile.getParentFile().mkdirs();
|
||||||
@ -1921,7 +1936,7 @@ public class PS {
|
|||||||
PS.log("failed to save style.yml");
|
PS.log("failed to save style.yml");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.storageFile = new File(folder,"storage.yml");
|
this.storageFile = new File(folder, "storage.yml");
|
||||||
if (!this.storageFile.exists() && !this.storageFile.createNewFile()) {
|
if (!this.storageFile.exists() && !this.storageFile.createNewFile()) {
|
||||||
PS.log("Could not the storage settings file, please create \"storage.yml\" manually.");
|
PS.log("Could not the storage settings file, please create \"storage.yml\" manually.");
|
||||||
}
|
}
|
||||||
@ -1931,7 +1946,7 @@ public class PS {
|
|||||||
PS.log("Failed to save storage.yml");
|
PS.log("Failed to save storage.yml");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
this.commandsFile = new File(folder,"commands.yml");
|
this.commandsFile = new File(folder, "commands.yml");
|
||||||
if (!this.commandsFile.exists() && !this.commandsFile.createNewFile()) {
|
if (!this.commandsFile.exists() && !this.commandsFile.createNewFile()) {
|
||||||
PS.log("Could not the storage settings file, please create \"commands.yml\" manually.");
|
PS.log("Could not the storage settings file, please create \"commands.yml\" manually.");
|
||||||
}
|
}
|
||||||
@ -1949,7 +1964,7 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Setup the storage file (load + save missing nodes)
|
* Setup the storage file (load + save missing nodes).
|
||||||
*/
|
*/
|
||||||
private void setupStorage() {
|
private void setupStorage() {
|
||||||
Storage.load(storageFile);
|
Storage.load(storageFile);
|
||||||
@ -2000,6 +2015,16 @@ public class PS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void foreachPlotArea(String world, RunnableVal<PlotArea> runnable) {
|
||||||
|
PlotArea[] array = this.plotAreaMap.get(world);
|
||||||
|
if (array == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (PlotArea area : array) {
|
||||||
|
runnable.run(area);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void foreachPlot(RunnableVal<Plot> runnable) {
|
public void foreachPlot(RunnableVal<Plot> runnable) {
|
||||||
for (PlotArea area : this.plotAreas) {
|
for (PlotArea area : this.plotAreas) {
|
||||||
for (Plot plot : area.getPlots()) {
|
for (Plot plot : area.getPlots()) {
|
||||||
@ -2029,16 +2054,6 @@ public class PS {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void foreachPlotArea(String world, RunnableVal<PlotArea> runnable) {
|
|
||||||
PlotArea[] array = this.plotAreaMap.get(world);
|
|
||||||
if (array == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
for (PlotArea area : array) {
|
|
||||||
runnable.run(area);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public PlotArea getFirstPlotArea() {
|
public PlotArea getFirstPlotArea() {
|
||||||
return this.plotAreas.length > 0 ? this.plotAreas[0] : null;
|
return this.plotAreas.length > 0 ? this.plotAreas[0] : null;
|
||||||
}
|
}
|
||||||
@ -2062,7 +2077,7 @@ public class PS {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated Since worlds can have multiple plot areas
|
* Not recommended for use since worlds can have multiple PlotAreas.
|
||||||
* @return Set of world names
|
* @return Set of world names
|
||||||
*/
|
*/
|
||||||
@Deprecated
|
@Deprecated
|
||||||
@ -2087,7 +2102,7 @@ public class PS {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Get a list of PlotArea objects.
|
* Get a list of PlotArea objects.
|
||||||
* @param world
|
* @param world the world
|
||||||
* @return Collection of PlotArea objects
|
* @return Collection of PlotArea objects
|
||||||
*/
|
*/
|
||||||
public Set<PlotArea> getPlotAreas(String world) {
|
public Set<PlotArea> getPlotAreas(String world) {
|
||||||
|
Loading…
Reference in New Issue
Block a user