Implement decent command handling

This commit is contained in:
dfsek
2020-10-01 02:16:54 -07:00
parent 215b30e611
commit f7f98b6dcc
20 changed files with 363 additions and 83 deletions

View File

@@ -14,16 +14,21 @@ public class OreCommand extends PlayerCommand {
@Override
public boolean onCommand(@NotNull Player sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
Block bl = sender.getTargetBlockExact(25);
OreConfig ore = OreConfig.fromID(args[0]);
if(ore == null) {
sender.sendMessage("Unable to find Ore");
return true;
if(args.length > 0) {
OreConfig ore = OreConfig.fromID(args[0]);
if(ore == null) {
sender.sendMessage("Unable to find Ore");
return true;
}
if(bl == null) {
sender.sendMessage("Block out of range");
return true;
}
ore.doVein(bl.getLocation(), new Random());
} else {
sender.sendMessage("---------------Terra/ore---------------");
sender.sendMessage("Generates a vein of ore at the block you are looking at.");
}
if(bl == null) {
sender.sendMessage("Block out of range");
return true;
}
ore.doVein(bl.getLocation(), new Random());
return true;
}
@@ -32,6 +37,11 @@ public class OreCommand extends PlayerCommand {
return Collections.emptyList();
}
@Override
public int arguments() {
return 1;
}
@Override
public String getName() {
return "ore";