Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,27 @@ public void registerUsage(MinestomCommand command) {
manager = null;
}

command.setDefaultExecutor(((sender, context) -> {
sender.sendMessage("§c/parkour start");
sender.sendMessage("§c/parkour reset");
sender.sendMessage("§c/parkour checkpoint");
sender.sendMessage("§c/parkour cancel");
}));

// start
command.addSyntax((sender, context) -> {
if (manager == null) {
sender.sendMessage("§cThis command is unavailable here.");
return;
}
if (!(sender instanceof Player player)) return;
if (!(sender instanceof HypixelPlayer player)) return;
if (manager.getPerPlayerStartTime().containsKey(player.getUuid())) {
sender.sendMessage("§cYou are currently in a parkour race. Use /parkour reset");
return;
}

player.teleport(manager.getParkour().getStartLocation());
manager.startParkour(player);
}, new ArgumentLiteral("start"));

// cancel
Expand All @@ -52,5 +65,26 @@ public void registerUsage(MinestomCommand command) {
if (!(sender instanceof HypixelPlayer player)) return;
manager.resetPlayer(player);
}, new ArgumentLiteral("reset"));

// checkpoint
command.addSyntax((sender, context) -> {
if (manager == null) {
sender.sendMessage("§cThis command is unavailable here.");
return;
}
if (!(sender instanceof HypixelPlayer player)) return;
Parkour parkour = manager.getParkour();
if (!manager.getPerPlayerStartTime().containsKey(player.getUuid())) {
sender.sendMessage("§cYou haven't started the parkour challenge yet! Use §e/parkour start §cto start!");
return;
}
int checkpointIndex = manager.getPerPlayerStartTime().get(player.getUuid()).lastCheckpointIndex();
if (checkpointIndex == 0) {
player.teleport(parkour.getStartLocation());
} else {
player.teleport(parkour.getCheckpoints().get(checkpointIndex - 1).asPos());
}
}, new ArgumentLiteral("checkpoint"));
}

}