mirror of
https://github.com/IntellectualSites/PlotSquared.git
synced 2025-01-19 16:59:36 +01:00
parent
f62777bc1a
commit
d81d3c72e4
@ -269,7 +269,13 @@ import java.util.zip.ZipInputStream;
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Copy files
|
// Copy files
|
||||||
|
copyFile("addplots.js", Settings.Paths.SCRIPTS);
|
||||||
|
copyFile("addsigns.js", Settings.Paths.SCRIPTS);
|
||||||
copyFile("automerge.js", Settings.Paths.SCRIPTS);
|
copyFile("automerge.js", Settings.Paths.SCRIPTS);
|
||||||
|
copyFile("furthest.js", Settings.Paths.SCRIPTS);
|
||||||
|
copyFile("mycommand.js", Settings.Paths.SCRIPTS);
|
||||||
|
copyFile("setbiomes.js", Settings.Paths.SCRIPTS);
|
||||||
|
copyFile("start.js", Settings.Paths.SCRIPTS);
|
||||||
copyFile("town.template", Settings.Paths.TEMPLATES);
|
copyFile("town.template", Settings.Paths.TEMPLATES);
|
||||||
copyFile("skyblock.template", Settings.Paths.TEMPLATES);
|
copyFile("skyblock.template", Settings.Paths.TEMPLATES);
|
||||||
copyFile("bridge.template", Settings.Paths.TEMPLATES);
|
copyFile("bridge.template", Settings.Paths.TEMPLATES);
|
||||||
@ -756,6 +762,10 @@ import java.util.zip.ZipInputStream;
|
|||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<Plot> sortPlots(Collection<Plot> plots) {
|
||||||
|
return sortPlots(plots, SortType.DISTANCE_FROM_ORIGIN, null);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sort a collection of plots by world (with a priority world), then
|
* Sort a collection of plots by world (with a priority world), then
|
||||||
* by hashcode.
|
* by hashcode.
|
||||||
|
@ -164,11 +164,8 @@ import java.util.*;
|
|||||||
"$1<threshold> $2= $1The percentage of plots you want to clear as a number between 0 - 100");
|
"$1<threshold> $2= $1The percentage of plots you want to clear as a number between 0 - 100");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
PlotAnalysis.calcOptimalModifiers(new Runnable() {
|
PlotAnalysis.calcOptimalModifiers(
|
||||||
@Override public void run() {
|
() -> MainUtil.sendMessage(player, "$1Thank you for calibrating plot expiry"), threshold);
|
||||||
MainUtil.sendMessage(player, "$1Thank you for calibrating plot expiry");
|
|
||||||
}
|
|
||||||
}, threshold);
|
|
||||||
return true;
|
return true;
|
||||||
case "stop-expire":
|
case "stop-expire":
|
||||||
if (ExpireManager.IMP == null || !ExpireManager.IMP.cancelTask()) {
|
if (ExpireManager.IMP == null || !ExpireManager.IMP.cancelTask()) {
|
||||||
@ -404,18 +401,16 @@ import java.util.*;
|
|||||||
try {
|
try {
|
||||||
if (async) {
|
if (async) {
|
||||||
final String toExec = script;
|
final String toExec = script;
|
||||||
TaskManager.runTaskAsync(new Runnable() {
|
TaskManager.runTaskAsync(() -> {
|
||||||
@Override public void run() {
|
long start = System.currentTimeMillis();
|
||||||
long start = System.currentTimeMillis();
|
Object result = null;
|
||||||
Object result = null;
|
try {
|
||||||
try {
|
result = DebugExec.this.engine.eval(toExec, DebugExec.this.scope);
|
||||||
result = DebugExec.this.engine.eval(toExec, DebugExec.this.scope);
|
} catch (ScriptException e) {
|
||||||
} catch (ScriptException e) {
|
e.printStackTrace();
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
PlotSquared.log(
|
|
||||||
"> " + (System.currentTimeMillis() - start) + "ms -> " + result);
|
|
||||||
}
|
}
|
||||||
|
PlotSquared.log(
|
||||||
|
"> " + (System.currentTimeMillis() - start) + "ms -> " + result);
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
|
@ -958,6 +958,10 @@ 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);
|
||||||
|
18
Core/src/main/resources/addplots.js
Normal file
18
Core/src/main/resources/addplots.js
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
/*
|
||||||
|
This will increase a player's allowed plots by the provided value
|
||||||
|
/plot debugexec runasync addperm <player> <amount>
|
||||||
|
*/
|
||||||
|
var uuid = UUIDHandler.getUUID('%s0', null);
|
||||||
|
if (uuid === null) {
|
||||||
|
C_INVALID_PLAYER.send(PlotPlayer, '%s0');
|
||||||
|
}
|
||||||
|
else if (!MathMan.class.static.isInteger('%s1')) {
|
||||||
|
C_NOT_VALID_NUMBER.send(PlotPlayer, '(0, ' + Settings.MAX_PLOTS + ')');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
var amount = parseInt('%s1');
|
||||||
|
var pp = IMP.wrapPlayer(UUIDHandler.getUUIDWrapper().getOfflinePlayer(uuid).player);
|
||||||
|
var allowed = pp.getAllowedPlots();
|
||||||
|
MainUtil.class.static.sendMessage(PlotPlayer, '$4Setting permission: plots.plot.' + (allowed + amount) + ' for %s0');
|
||||||
|
IMP.getEconomyHandler().setPermission("", pp.getName(), 'plots.plot.' + (allowed + amount), true);
|
||||||
|
}
|
12
Core/src/main/resources/addsigns.js
Normal file
12
Core/src/main/resources/addsigns.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
This script will fix all signs in the world.
|
||||||
|
*/
|
||||||
|
var plots = PS.sortPlots(PS.getPlots());
|
||||||
|
for (var i = 0; i < plots.size(); i++) {
|
||||||
|
var plot = plots.get(i);
|
||||||
|
if (!plot.isMerged() || !plot.getMerged(0)) {
|
||||||
|
plot.setSign();
|
||||||
|
PS.class.static.log('&cSetting sign for: ' + plot);
|
||||||
|
}
|
||||||
|
java.lang.Thread.sleep(10);
|
||||||
|
}
|
@ -5,7 +5,7 @@ Need to script something quick with PlotSquared?
|
|||||||
This is an example script that will auto merge all plots
|
This is an example script that will auto merge all plots
|
||||||
|
|
||||||
The following utility classes are usable:
|
The following utility classes are usable:
|
||||||
- PS
|
- PlotSquared
|
||||||
- TaskManager
|
- TaskManager
|
||||||
- TitleManager
|
- TitleManager
|
||||||
- ConsolePlayer
|
- ConsolePlayer
|
||||||
@ -33,16 +33,16 @@ PS.class.static.log("Attempting to auto merge " + plots.size() + " plots");
|
|||||||
if ("%s0" === "true") {
|
if ("%s0" === "true") {
|
||||||
for (var i = 0; i < plots.size(); i++) {
|
for (var i = 0; i < plots.size(); i++) {
|
||||||
var plot = plots.get(i);
|
var plot = plots.get(i);
|
||||||
plot.autoMerge(false);
|
plot.autoMerge(-1, 250000, plot.owner, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if ("%s0" === "false") {
|
else if ("%s0" === "false") {
|
||||||
for (var i = 0; i < plots.size(); i++) {
|
for (var i = 0; i < plots.size(); i++) {
|
||||||
var plot = plots.get(i);
|
var plot = plots.get(i);
|
||||||
plot.autoMerge(false);
|
plot.autoMerge(-1, 250000, plot.owner, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
C_COMMAND_SYNTAX.send(PlotPlayer, "/plot debugexec automerge.js <removeroads>");
|
C_COMMAND_SYNTAX.send(PlotPlayer, "/plot debugexec automerge.js <removeroads>");
|
||||||
MainUtil.sendMessage(PlotPlayer, "$1<removeroads> is true or false if you want to remove roads when auto merging");
|
MainUtil.class.static.sendMessage(PlotPlayer, "$1<removeroads> is true or false if you want to remove roads when auto merging");
|
||||||
}
|
}
|
||||||
|
33
Core/src/main/resources/furthest.js
Normal file
33
Core/src/main/resources/furthest.js
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* Script to find the furthest plot from origin in a world:
|
||||||
|
* - /plot debugexec runasync furthest.js <plotworld>
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (PS.hasPlotArea("%s0")) {
|
||||||
|
var plots = PS.getAllPlotsRaw().get("%s0").values().toArray();
|
||||||
|
var max = 0;
|
||||||
|
var maxplot;
|
||||||
|
for (var i in plots) {
|
||||||
|
var plot = plots[i];
|
||||||
|
if (plot.x > max) {
|
||||||
|
max = plot.x;
|
||||||
|
maxplot = plot;
|
||||||
|
}
|
||||||
|
if (plot.y > max) {
|
||||||
|
max = plot.y;
|
||||||
|
maxplot = plot;
|
||||||
|
}
|
||||||
|
if (-plot.x > max) {
|
||||||
|
max = -plot.x;
|
||||||
|
maxplot = plot;
|
||||||
|
}
|
||||||
|
if (-plot.y > max) {
|
||||||
|
max = -plot.y;
|
||||||
|
maxplot = plot;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
PS.class.static.log(plot);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
PlotPlayer.sendMessage("Usage: /plot debugexec runasync furthest.js <plotworld>");
|
||||||
|
}
|
2
Core/src/main/resources/mycommand.js
Normal file
2
Core/src/main/resources/mycommand.js
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
// This command is registered from the start.js file which is run during startup
|
||||||
|
PlotPlayer.sendMessage("Hello World!");
|
12
Core/src/main/resources/setbiomes.js
Normal file
12
Core/src/main/resources/setbiomes.js
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
/*
|
||||||
|
This script will reset all biomes in claimed plots
|
||||||
|
*/
|
||||||
|
var plots = PS.sortPlots(PS.getPlots());
|
||||||
|
for (var i = 0; i < plots.size(); i++) {
|
||||||
|
var plot = plots.get(i);
|
||||||
|
if (!plot.isMerged() || !plot.getMerged(0)) {
|
||||||
|
plot.setBiome("%s0", null);
|
||||||
|
PS.class.static.log('&cSetting biome for: ' + plot);
|
||||||
|
}
|
||||||
|
java.lang.Thread.sleep(1000);
|
||||||
|
}
|
7
Core/src/main/resources/start.js
Normal file
7
Core/src/main/resources/start.js
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
// Add your commands to this list
|
||||||
|
var commands = ["mycommand"];
|
||||||
|
|
||||||
|
// Command registration:
|
||||||
|
for (var i in commands) {
|
||||||
|
MainCommand.class.static.onCommand(PlotPlayer, "plot", "debugexec", "addcmd", commands[i] + ".js");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user