Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.command.defaults;
2
3import org.bukkit.Bukkit;
4import org.bukkit.ChatColor;
5import org.bukkit.World;
6import org.bukkit.command.Command;
7import org.bukkit.command.CommandSender;
8
9public class TimeCommand extends VanillaCommand {
10 public TimeCommand() {
11 super("time");
12 this.description = "Changes the time on each world";
13 this.usageMessage = "/time set <value>\n/time add <value>";
14 }
15
16 @Override
17 public boolean execute(CommandSender sender, String currentAlias, String[] args) {
18 if (args.length != 2) {
19 sender.sendMessage(ChatColor.RED + "Incorrect usage. Correct usage:\n" + usageMessage);
20 return false;
21 }
22
23 int value = 0;
24
25 try {
26 value = Integer.parseInt(args[1]);
27 } catch (NumberFormatException ex) {
28 sender.sendMessage("Unable to convert time value, " + args[1]);
29 return true;
30 }
31
32 if (args[0].equalsIgnoreCase("add")) {
33 if (!sender.hasPermission("bukkit.command.time.add")) {
34 sender.sendMessage(ChatColor.RED + "You don't have permission to add to the time");
35 } else {
36 for (World world : Bukkit.getWorlds()) {
37 world.setFullTime(world.getFullTime() + value);
38 }
39
40 Command.broadcastCommandMessage(sender, "Added " + value + " to time");
41 }
42 } else if (args[0].equalsIgnoreCase("set")) {
43 if (!sender.hasPermission("bukkit.command.time.set")) {
44 sender.sendMessage(ChatColor.RED + "You don't have permission to set the time");
45 } else {
46 for (World world : Bukkit.getWorlds()) {
47 world.setTime(value);
48 }
49
50 Command.broadcastCommandMessage(sender, "Set time to " + value);
51 }
52 } else {
53 sender.sendMessage("Unknown method, use either \"add\" or \"set\"");
54 return true;
55 }
56
57 return true;
58 }
59
60 @Override
61 public boolean matches(String input) {
62 return input.startsWith("time ");
63 }
64}