mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 08:25:31 +00:00
add permissions to commands
This commit is contained in:
parent
cfc7960c70
commit
30b02a03c4
@ -45,6 +45,7 @@ public class InternalAddon implements BaseAddon {
|
|||||||
CommandManager<CommandSender> manager = event.getCommandManager();
|
CommandManager<CommandSender> manager = event.getCommandManager();
|
||||||
manager.command(
|
manager.command(
|
||||||
manager.commandBuilder("addons", ArgumentDescription.of("List installed Terra addons"))
|
manager.commandBuilder("addons", ArgumentDescription.of("List installed Terra addons"))
|
||||||
|
.permission("terra.addons")
|
||||||
.handler(context -> {
|
.handler(context -> {
|
||||||
StringBuilder addons = new StringBuilder("Installed addons:\n");
|
StringBuilder addons = new StringBuilder("Installed addons:\n");
|
||||||
platform.getAddons()
|
platform.getAddons()
|
||||||
@ -60,6 +61,7 @@ public class InternalAddon implements BaseAddon {
|
|||||||
.command(
|
.command(
|
||||||
manager.commandBuilder("addons")
|
manager.commandBuilder("addons")
|
||||||
.argument(RegistryArgument.of("addon", platform.getAddons()))
|
.argument(RegistryArgument.of("addon", platform.getAddons()))
|
||||||
|
.permission("terra.addons.info")
|
||||||
.handler(context -> {
|
.handler(context -> {
|
||||||
BaseAddon addon = context.get("addon");
|
BaseAddon addon = context.get("addon");
|
||||||
StringBuilder addonInfo = new StringBuilder("Addon ").append(addon.getID()).append('\n');
|
StringBuilder addonInfo = new StringBuilder("Addon ").append(addon.getID()).append('\n');
|
||||||
@ -76,75 +78,93 @@ public class InternalAddon implements BaseAddon {
|
|||||||
context.getSender().sendMessage(addonInfo.toString());
|
context.getSender().sendMessage(addonInfo.toString());
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
.command(manager.commandBuilder("packs", ArgumentDescription.of("List installed config packs"))
|
.command(
|
||||||
.handler(context -> {
|
manager.commandBuilder("packs", ArgumentDescription.of("List installed config packs"))
|
||||||
StringBuilder packs = new StringBuilder("Installed packs:\n");
|
.permission("terra.packs")
|
||||||
platform.getConfigRegistry().forEach(pack -> packs.append(" - ")
|
.handler(context -> {
|
||||||
.append(pack.getID())
|
StringBuilder packs = new StringBuilder("Installed packs:\n");
|
||||||
.append('@')
|
platform.getConfigRegistry().forEach(pack -> packs.append(" - ")
|
||||||
.append(pack.getVersion().getFormatted()));
|
.append(pack.getID())
|
||||||
context.getSender().sendMessage(packs.toString());
|
.append('@')
|
||||||
})
|
.append(pack.getVersion().getFormatted()));
|
||||||
|
context.getSender().sendMessage(packs.toString());
|
||||||
|
})
|
||||||
)
|
)
|
||||||
.command(manager.commandBuilder("packs")
|
.command(
|
||||||
.literal("info", ArgumentDescription.of("Get information about a pack"))
|
manager.commandBuilder("packs")
|
||||||
.argument(RegistryArgument.of("pack", platform.getConfigRegistry()))
|
.literal("info", ArgumentDescription.of("Get information about a pack"))
|
||||||
.handler(context -> {
|
.permission("terra.packs.info")
|
||||||
ConfigPack pack = context.get("pack");
|
.argument(RegistryArgument.of("pack", platform.getConfigRegistry()))
|
||||||
StringBuilder packInfo = new StringBuilder("Pack ").append(pack.getID()).append('\n');
|
.handler(context -> {
|
||||||
|
ConfigPack pack = context.get("pack");
|
||||||
packInfo.append("Version: ").append(pack.getVersion().getFormatted()).append('\n');
|
StringBuilder packInfo = new StringBuilder("Pack ").append(pack.getID()).append('\n');
|
||||||
packInfo.append("Author: ").append(pack.getAuthor()).append('\n');
|
|
||||||
|
packInfo.append("Version: ").append(pack.getVersion().getFormatted()).append('\n');
|
||||||
packInfo.append("Addon Dependencies:\n");
|
packInfo.append("Author: ").append(pack.getAuthor()).append('\n');
|
||||||
pack.addons().forEach((id, versions) -> packInfo
|
|
||||||
.append(" - ")
|
packInfo.append("Addon Dependencies:\n");
|
||||||
.append(id.getID())
|
pack.addons().forEach((id, versions) -> packInfo
|
||||||
.append('@')
|
.append(" - ")
|
||||||
.append(versions.getFormatted())
|
.append(id.getID())
|
||||||
.append('\n'));
|
.append('@')
|
||||||
context.getSender().sendMessage(packInfo.toString());
|
.append(versions.getFormatted())
|
||||||
}))
|
.append('\n'));
|
||||||
.command(manager.commandBuilder("packs")
|
context.getSender().sendMessage(packInfo.toString());
|
||||||
.literal("reload", ArgumentDescription.of("Reload config packs"))
|
}))
|
||||||
.handler(context -> {
|
.command(
|
||||||
context.getSender().sendMessage("Reloading Terra...");
|
manager.commandBuilder("packs")
|
||||||
logger.info("Reloading Terra...");
|
.literal("reload", ArgumentDescription.of("Reload config packs"))
|
||||||
if(platform.reload()) {
|
.permission("terra.packs.reload")
|
||||||
logger.info("Terra reloaded successfully.");
|
.handler(context -> {
|
||||||
context.getSender().sendMessage("Terra reloaded successfully.");
|
context.getSender().sendMessage("Reloading Terra...");
|
||||||
} else {
|
logger.info("Reloading Terra...");
|
||||||
logger.error("Terra failed to reload.");
|
if(platform.reload()) {
|
||||||
context.getSender().sendMessage("Terra failed to reload. See logs for more information.");
|
logger.info("Terra reloaded successfully.");
|
||||||
}
|
context.getSender().sendMessage("Terra reloaded successfully.");
|
||||||
}))
|
} else {
|
||||||
.command(manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
logger.error("Terra failed to reload.");
|
||||||
.literal("start", ArgumentDescription.of("Start profiling"), "st")
|
context.getSender().sendMessage(
|
||||||
.handler(context -> {
|
"Terra failed to reload. See logs for more information.");
|
||||||
platform.getProfiler().start();
|
}
|
||||||
context.getSender().sendMessage("Profiling started.");
|
}))
|
||||||
}))
|
.command(
|
||||||
.command(manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
||||||
.literal("stop", ArgumentDescription.of("Stop profiling"), "s")
|
.literal("start", ArgumentDescription.of("Start profiling"), "st")
|
||||||
.handler(context -> {
|
.permission("terra.profiler.start")
|
||||||
platform.getProfiler().stop();
|
.handler(context -> {
|
||||||
context.getSender().sendMessage("Profiling stopped.");
|
platform.getProfiler().start();
|
||||||
}))
|
context.getSender().sendMessage("Profiling started.");
|
||||||
.command(manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
}))
|
||||||
.literal("query", ArgumentDescription.of("Query profiler results"), "q")
|
.command(
|
||||||
.handler(context -> {
|
manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
||||||
StringBuilder data = new StringBuilder("Terra Profiler data: \n");
|
.literal("stop", ArgumentDescription.of("Stop profiling"), "s")
|
||||||
platform.getProfiler().getTimings().forEach((id, timings) -> data.append(id).append(": ").append(timings.toString()).append('\n'));
|
.permission("terra.profiler.stop")
|
||||||
logger.info(data.toString());
|
.handler(context -> {
|
||||||
context.getSender().sendMessage("Profiling data dumped to console.");
|
platform.getProfiler().stop();
|
||||||
}))
|
context.getSender().sendMessage("Profiling stopped.");
|
||||||
.command(manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
}))
|
||||||
.literal("reset", ArgumentDescription.of("Reset the profiler"), "r")
|
.command(
|
||||||
.handler(context -> {
|
manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
||||||
platform.getProfiler().reset();
|
.literal("query", ArgumentDescription.of("Query profiler results"), "q")
|
||||||
context.getSender().sendMessage("Profiler reset.");
|
.permission("terra.profiler.query")
|
||||||
}))
|
.handler(context -> {
|
||||||
;
|
StringBuilder data = new StringBuilder("Terra Profiler data: \n");
|
||||||
|
platform.getProfiler().getTimings().forEach((id, timings) -> data.append(id)
|
||||||
|
.append(": ")
|
||||||
|
.append(timings.toString())
|
||||||
|
.append('\n'));
|
||||||
|
logger.info(data.toString());
|
||||||
|
context.getSender().sendMessage("Profiling data dumped to console.");
|
||||||
|
}))
|
||||||
|
.command(
|
||||||
|
manager.commandBuilder("profiler", ArgumentDescription.of("Access the profiler"))
|
||||||
|
.literal("reset", ArgumentDescription.of("Reset the profiler"), "r")
|
||||||
|
.permission("terra.profiler.reset")
|
||||||
|
.handler(context -> {
|
||||||
|
platform.getProfiler().reset();
|
||||||
|
context.getSender().sendMessage("Profiler reset.");
|
||||||
|
}))
|
||||||
|
;
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user