mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-07-18 18:23:06 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
37404b6619
@ -144,6 +144,7 @@ public class CommandIris implements DecreeExecutor {
|
||||
) {
|
||||
boolean to = on == null ? !IrisSettings.get().getGeneral().isDebug() : on;
|
||||
IrisSettings.get().getGeneral().setDebug(to);
|
||||
IrisSettings.get().forceSave();
|
||||
sender().sendMessage(C.GREEN + "Set debug to: " + to);
|
||||
}
|
||||
|
||||
@ -158,6 +159,7 @@ public class CommandIris implements DecreeExecutor {
|
||||
@Param(name = "overwrite", description = "Whether or not to overwrite the pack with the downloaded one", aliases = "force", defaultValue = "false")
|
||||
boolean overwrite
|
||||
) {
|
||||
branch = pack.equals("overworld") ? "stable" : branch;
|
||||
sender().sendMessage(C.GREEN + "Downloading pack: " + pack + "/" + branch + (trim ? " trimmed" : "") + (overwrite ? " overwriting" : ""));
|
||||
Iris.service(StudioSVC.class).downloadSearch(sender(), "IrisDimensions/" + pack + "/" + branch, trim, overwrite);
|
||||
}
|
||||
|
@ -34,10 +34,10 @@ import org.bukkit.util.Vector;
|
||||
public class CommandPregen implements DecreeExecutor {
|
||||
@Decree(description = "Pregenerate a world")
|
||||
public void start(
|
||||
@Param(description = "The world to pregen", contextual = true)
|
||||
World world,
|
||||
@Param(description = "The radius of the pregen in blocks", aliases = "size")
|
||||
int radius,
|
||||
@Param(description = "The world to pregen", contextual = true)
|
||||
World world,
|
||||
@Param(aliases = "middle", description = "The center location of the pregen. Use \"me\" for your current location", defaultValue = "0,0")
|
||||
Vector center
|
||||
) {
|
||||
|
@ -105,6 +105,20 @@ public class CommandStudio implements DecreeExecutor {
|
||||
return duration.toString().substring(2).replaceAll("(\\d[HMS])(?!$)", "$1 ").toLowerCase();
|
||||
}
|
||||
|
||||
@Decree(description = "Download a project.", aliases = "dl")
|
||||
public void download(
|
||||
@Param(name = "pack", description = "The pack to download", defaultValue = "overworld", aliases = "project")
|
||||
String pack,
|
||||
@Param(name = "branch", description = "The branch to download from", defaultValue = "master")
|
||||
String branch,
|
||||
@Param(name = "trim", description = "Whether or not to download a trimmed version (do not enable when editing)", defaultValue = "false")
|
||||
boolean trim,
|
||||
@Param(name = "overwrite", description = "Whether or not to overwrite the pack with the downloaded one", aliases = "force", defaultValue = "false")
|
||||
boolean overwrite
|
||||
) {
|
||||
new CommandIris().download(pack, branch, trim, overwrite);
|
||||
}
|
||||
|
||||
@Decree(description = "Open a new studio world", aliases = "o", sync = true)
|
||||
public void open(
|
||||
@Param(defaultValue = "overworld", description = "The dimension to open a studio for", aliases = "dim")
|
||||
|
@ -417,8 +417,7 @@ public class IrisEngine implements Engine {
|
||||
getData().getObjectLoader().clean();
|
||||
} catch (Throwable e) {
|
||||
Iris.reportError(e);
|
||||
Iris.error("Cleanup failed!");
|
||||
e.printStackTrace();
|
||||
Iris.error("Cleanup failed! Enable debug to see stacktrace.");
|
||||
}
|
||||
|
||||
cleaning.lazySet(false);
|
||||
|
@ -78,6 +78,7 @@ public class DecreeNode {
|
||||
|
||||
public KList<String> getNames() {
|
||||
KList<String> d = new KList<>();
|
||||
d.add(getName());
|
||||
|
||||
for (String i : decree.aliases()) {
|
||||
if (i.isEmpty()) {
|
||||
@ -88,7 +89,6 @@ public class DecreeNode {
|
||||
}
|
||||
|
||||
|
||||
d.add(getName());
|
||||
d.removeDuplicates();
|
||||
return d;
|
||||
}
|
||||
|
@ -161,8 +161,9 @@ public class VirtualDecreeCommand {
|
||||
return getNode().getNames();
|
||||
}
|
||||
|
||||
KList<String> d = new KList<>();
|
||||
Decree dc = getType().getDeclaredAnnotation(Decree.class);
|
||||
KList<String> d = new KList<>();
|
||||
d.add(dc.name());
|
||||
for (String i : dc.aliases()) {
|
||||
if (i.isEmpty()) {
|
||||
continue;
|
||||
@ -171,7 +172,6 @@ public class VirtualDecreeCommand {
|
||||
d.add(i);
|
||||
}
|
||||
|
||||
d.add(dc.name());
|
||||
d.removeDuplicates();
|
||||
|
||||
return d;
|
||||
@ -461,24 +461,25 @@ public class VirtualDecreeCommand {
|
||||
}
|
||||
|
||||
if (sender.isPlayer() && i.isContextual() && value == null) {
|
||||
Iris.debug("Contextual!");
|
||||
DecreeContextHandler<?> ch = DecreeContextHandler.contextHandlers.get(i.getType());
|
||||
|
||||
if (ch != null) {
|
||||
value = ch.handle(sender);
|
||||
|
||||
if (value != null) {
|
||||
Iris.debug("Null Parameter " + i.getName() + " derived a value of " + i.getHandler().toStringForce(value) + " from " + ch.getClass().getSimpleName());
|
||||
Iris.debug("Parameter \"" + i.getName() + "\" derived a value of \"" + i.getHandler().toStringForce(value) + "\" from " + ch.getClass().getSimpleName());
|
||||
} else {
|
||||
Iris.debug("Null Parameter " + i.getName() + " could not derive a value from " + ch.getClass().getSimpleName());
|
||||
Iris.debug("Parameter \"" + i.getName() + "\" could not derive a value from \"" + ch.getClass().getSimpleName());
|
||||
}
|
||||
} else {
|
||||
Iris.debug("Null Parameter " + i.getName() + " is contextual but has no context handler for " + i.getType().getCanonicalName());
|
||||
Iris.debug("Parameter \"" + i.getName() + "\" is contextual but has no context handler for \"" + i.getType().getCanonicalName() + "\"");
|
||||
}
|
||||
}
|
||||
|
||||
if (i.hasDefault() && value == null) {
|
||||
try {
|
||||
Iris.debug("Null Parameter " + i.getName() + " is using default value " + i.getParam().defaultValue());
|
||||
Iris.debug("Parameter \"" + i.getName() + "\" is using default value \"" + i.getParam().defaultValue() + "\"");
|
||||
value = i.getDefaultValue();
|
||||
} catch (Throwable e) {
|
||||
e.printStackTrace();
|
||||
@ -486,7 +487,8 @@ public class VirtualDecreeCommand {
|
||||
}
|
||||
|
||||
if (i.isRequired() && value == null) {
|
||||
sender.sendMessage("Missing: " + i.getName() + " (" + i.getType().getSimpleName() + ") as the " + Form.getNumberSuffixThStRd(vm + 1) + " argument.");
|
||||
sender.sendMessage(C.RED + "Missing argument \"" + i.getName() + "\" (" + i.getType().getSimpleName() + ") as the " + Form.getNumberSuffixThStRd(vm + 1) + " argument.");
|
||||
sender.sendDecreeHelpNode(this);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -470,7 +470,6 @@ public class Mantle {
|
||||
} catch (Throwable e) {
|
||||
Iris.error("Failed to read Tectonic Plate " + file.getAbsolutePath() + " creating a new chunk instead.");
|
||||
Iris.reportError(e);
|
||||
e.printStackTrace();
|
||||
region = new TectonicPlate(worldHeight, x, z);
|
||||
loadedRegions.put(k, region);
|
||||
Iris.debug("Created new Tectonic Plate (Due to Load Failure) " + C.DARK_GREEN + x + " " + z);
|
||||
|
@ -544,7 +544,8 @@ public class VolmitSender implements CommandSender {
|
||||
String nDescription = "<#3fe05a>✎ <#6ad97d><font:minecraft:uniform>" + p.getDescription();
|
||||
String nUsage;
|
||||
String fullTitle;
|
||||
if (p.isContextual() && isPlayer()) {
|
||||
Iris.debug("Contextual: " + p.isContextual() + " / player: " + isPlayer());
|
||||
if (p.isContextual() && (isPlayer() || s instanceof CommandDummy)) {
|
||||
fullTitle = "<#ffcc00>[" + nTitle + "<#ffcc00>] ";
|
||||
nUsage = "<#ff9900>➱ <#ffcc00><font:minecraft:uniform>The value may be derived from environment context.";
|
||||
} else if (p.isRequired()) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user