mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2024-11-25 22:56:45 +01:00
Plot search?
This commit is contained in:
parent
d8561d278f
commit
8166873978
@ -175,9 +175,6 @@ public class HybridPlotManager extends ClassicPlotManager {
|
|||||||
final Location pos1 = MainUtil.getPlotBottomLocAbs(world, plot.id).add(1, 0, 1);
|
final Location pos1 = MainUtil.getPlotBottomLocAbs(world, plot.id).add(1, 0, 1);
|
||||||
final Location pos2 = MainUtil.getPlotTopLocAbs(world, plot.id);
|
final Location pos2 = MainUtil.getPlotTopLocAbs(world, plot.id);
|
||||||
|
|
||||||
System.out.print(pos1);
|
|
||||||
System.out.print(pos2);
|
|
||||||
|
|
||||||
setWallFilling(dpw, plot.id, new PlotBlock[] { dpw.WALL_FILLING });
|
setWallFilling(dpw, plot.id, new PlotBlock[] { dpw.WALL_FILLING });
|
||||||
final int p1x = pos1.getX();
|
final int p1x = pos1.getX();
|
||||||
final int p1z = pos1.getZ();
|
final int p1z = pos1.getZ();
|
||||||
|
@ -98,6 +98,85 @@ public class MainUtil {
|
|||||||
return new Location(plot.world, bot.getX() + (top.getX() - bot.getX()) / 2, 0, bot.getZ() + (top.getZ() - bot.getZ()) / 2);
|
return new Location(plot.world, bot.getX() + (top.getX() - bot.getX()) / 2, 0, bot.getZ() + (top.getZ() - bot.getZ()) / 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<Plot> getPlotsBySearch(String search) {
|
||||||
|
String[] split = search.split(" ");
|
||||||
|
int size = split.length * 2;
|
||||||
|
|
||||||
|
List<UUID> uuids = new ArrayList<>();
|
||||||
|
PlotId id = null;
|
||||||
|
String world = null;
|
||||||
|
String alias = null;
|
||||||
|
|
||||||
|
for (String term : split) {
|
||||||
|
try {
|
||||||
|
UUID uuid = UUIDHandler.getUUID(term);
|
||||||
|
if (uuid == null) {
|
||||||
|
uuid = UUID.fromString(term);
|
||||||
|
}
|
||||||
|
if (uuid != null) {
|
||||||
|
uuids.add(uuid);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception e) {
|
||||||
|
id = PlotId.fromString(term);
|
||||||
|
if (id != null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
for (String pw : PS.get().getPlotWorlds()) {
|
||||||
|
if (pw.equalsIgnoreCase(term)) {
|
||||||
|
world = pw;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (world == null) {
|
||||||
|
alias = term;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ArrayList<ArrayList<Plot>> plotList = new ArrayList<>(size);
|
||||||
|
for (int i = 0; i < size; i++) {
|
||||||
|
plotList.add(new ArrayList<Plot>());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Plot plot : PS.get().getPlots()) {
|
||||||
|
int count = 0;
|
||||||
|
if (uuids.size() > 0) {
|
||||||
|
for (UUID uuid : uuids) {
|
||||||
|
if (plot.isOwner(uuid)) {
|
||||||
|
count += 2;
|
||||||
|
}
|
||||||
|
else if (plot.isAdded(uuid)) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (id != null) {
|
||||||
|
if (plot.id.equals(id)) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (world != null && plot.world.equals(world)) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
if (alias != null && alias.equals(plot.settings.getAlias())) {
|
||||||
|
count++;
|
||||||
|
}
|
||||||
|
if (count != 0) {
|
||||||
|
plotList.get(count - 1).add(plot);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<Plot> plots = new ArrayList<Plot>();
|
||||||
|
for (int i = plotList.size() - 1; i >= 0; i--) {
|
||||||
|
if (plotList.get(i).size() > 0) {
|
||||||
|
plots.addAll(plotList.get(i));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return plots;
|
||||||
|
}
|
||||||
|
|
||||||
public static Plot getPlotFromString(PlotPlayer player, String arg, boolean message) {
|
public static Plot getPlotFromString(PlotPlayer player, String arg, boolean message) {
|
||||||
if (arg == null) {
|
if (arg == null) {
|
||||||
if (player == null) {
|
if (player == null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user