Commits

md_5 authored a1cc4b769ca
Remove Bukkit reimplimentations of Vanilla commands.
No tags

src/main/java/org/bukkit/command/defaults/AchievementCommand.java

Deleted
1 -package org.bukkit.command.defaults;
2 -
3 -import java.util.ArrayList;
4 -import java.util.Arrays;
5 -import java.util.List;
6 -
7 -import org.apache.commons.lang.Validate;
8 -import org.bukkit.Achievement;
9 -import org.bukkit.Bukkit;
10 -import org.bukkit.ChatColor;
11 -import org.bukkit.Statistic;
12 -import org.bukkit.Material;
13 -import org.bukkit.Statistic.Type;
14 -import org.bukkit.command.Command;
15 -import org.bukkit.command.CommandSender;
16 -import org.bukkit.entity.EntityType;
17 -import org.bukkit.entity.Player;
18 -import org.bukkit.event.player.PlayerAchievementAwardedEvent;
19 -import org.bukkit.event.player.PlayerStatisticIncrementEvent;
20 -
21 -import com.google.common.collect.ImmutableList;
22 -
23 -@Deprecated
24 -public class AchievementCommand extends VanillaCommand {
25 - public AchievementCommand() {
26 - super("achievement");
27 - this.description = "Gives the specified player an achievement or changes a statistic value. Use '*' to give all achievements.";
28 - this.usageMessage = "/achievement give <stat_name> [player]";
29 - this.setPermission("bukkit.command.achievement");
30 - }
31 -
32 - @Override
33 - public boolean execute(CommandSender sender, String currentAlias, String[] args) {
34 - if (!testPermission(sender)) return true;
35 -
36 - if (args.length < 2) {
37 - sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage);
38 - return false;
39 - }
40 -
41 - if (!args[0].equalsIgnoreCase("give")) {
42 - sender.sendMessage(ChatColor.RED + "Usage: " + usageMessage);
43 - return false;
44 - }
45 -
46 - String statisticString = args[1];
47 - Player player = null;
48 -
49 - if (args.length > 2) {
50 - player = Bukkit.getPlayer(args[1]);
51 - } else if (sender instanceof Player) {
52 - player = (Player) sender;
53 - }
54 -
55 - if (player == null) {
56 - sender.sendMessage("You must specify which player you wish to perform this action on.");
57 - return true;
58 - }
59 -
60 - if (statisticString.equals("*")) {
61 - for (Achievement achievement : Achievement.values()) {
62 - if (player.hasAchievement(achievement)) {
63 - continue;
64 - }
65 - PlayerAchievementAwardedEvent event = new PlayerAchievementAwardedEvent(player, achievement);
66 - Bukkit.getServer().getPluginManager().callEvent(event);
67 - if (!event.isCancelled()) {
68 - player.awardAchievement(achievement);
69 - }
70 - }
71 - Command.broadcastCommandMessage(sender, String.format("Successfully given all achievements to %s", player.getName()));
72 - return true;
73 - }
74 -
75 - Achievement achievement = Bukkit.getUnsafe().getAchievementFromInternalName(statisticString);
76 - Statistic statistic = Bukkit.getUnsafe().getStatisticFromInternalName(statisticString);
77 -
78 - if (achievement != null) {
79 - if (player.hasAchievement(achievement)) {
80 - sender.sendMessage(String.format("%s already has achievement %s", player.getName(), statisticString));
81 - return true;
82 - }
83 -
84 - PlayerAchievementAwardedEvent event = new PlayerAchievementAwardedEvent(player, achievement);
85 - Bukkit.getServer().getPluginManager().callEvent(event);
86 - if (event.isCancelled()) {
87 - sender.sendMessage(String.format("Unable to award %s the achievement %s", player.getName(), statisticString));
88 - return true;
89 - }
90 - player.awardAchievement(achievement);
91 -
92 - Command.broadcastCommandMessage(sender, String.format("Successfully given %s the stat %s", player.getName(), statisticString));
93 - return true;
94 - }
95 -
96 - if (statistic == null) {
97 - sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString));
98 - return true;
99 - }
100 -
101 - if (statistic.getType() == Type.UNTYPED) {
102 - PlayerStatisticIncrementEvent event = new PlayerStatisticIncrementEvent(player, statistic, player.getStatistic(statistic), player.getStatistic(statistic) + 1);
103 - Bukkit.getServer().getPluginManager().callEvent(event);
104 - if (event.isCancelled()) {
105 - sender.sendMessage(String.format("Unable to increment %s for %s", statisticString, player.getName()));
106 - return true;
107 - }
108 - player.incrementStatistic(statistic);
109 - Command.broadcastCommandMessage(sender, String.format("Successfully given %s the stat %s", player.getName(), statisticString));
110 - return true;
111 - }
112 -
113 - if (statistic.getType() == Type.ENTITY) {
114 - EntityType entityType = EntityType.fromName(statisticString.substring(statisticString.lastIndexOf(".") + 1));
115 -
116 - if (entityType == null) {
117 - sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString));
118 - return true;
119 - }
120 -
121 - PlayerStatisticIncrementEvent event = new PlayerStatisticIncrementEvent(player, statistic, player.getStatistic(statistic), player.getStatistic(statistic) + 1, entityType);
122 - Bukkit.getServer().getPluginManager().callEvent(event);
123 - if (event.isCancelled()) {
124 - sender.sendMessage(String.format("Unable to increment %s for %s", statisticString, player.getName()));
125 - return true;
126 - }
127 -
128 - try {
129 - player.incrementStatistic(statistic, entityType);
130 - } catch (IllegalArgumentException e) {
131 - sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString));
132 - return true;
133 - }
134 - } else {
135 - int id;
136 - try {
137 - id = getInteger(sender, statisticString.substring(statisticString.lastIndexOf(".") + 1), 0, Integer.MAX_VALUE, true);
138 - } catch (NumberFormatException e) {
139 - sender.sendMessage(e.getMessage());
140 - return true;
141 - }
142 -
143 - Material material = Material.getMaterial(id);
144 -
145 - if (material == null) {
146 - sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString));
147 - return true;
148 - }
149 -
150 - PlayerStatisticIncrementEvent event = new PlayerStatisticIncrementEvent(player, statistic, player.getStatistic(statistic), player.getStatistic(statistic) + 1, material);
151 - Bukkit.getServer().getPluginManager().callEvent(event);
152 - if (event.isCancelled()) {
153 - sender.sendMessage(String.format("Unable to increment %s for %s", statisticString, player.getName()));
154 - return true;
155 - }
156 -
157 - try {
158 - player.incrementStatistic(statistic, material);
159 - } catch (IllegalArgumentException e) {
160 - sender.sendMessage(String.format("Unknown achievement or statistic '%s'", statisticString));
161 - return true;
162 - }
163 - }
164 -
165 - Command.broadcastCommandMessage(sender, String.format("Successfully given %s the stat %s", player.getName(), statisticString));
166 - return true;
167 - }
168 -
169 - @Override
170 - public List<String> tabComplete(CommandSender sender, String alias, String[] args) throws IllegalArgumentException {
171 - Validate.notNull(sender, "Sender cannot be null");
172 - Validate.notNull(args, "Arguments cannot be null");
173 - Validate.notNull(alias, "Alias cannot be null");
174 -
175 - if (args.length == 1) {
176 - return Arrays.asList("give");
177 - }
178 -
179 - if (args.length == 2) {
180 - return Bukkit.getUnsafe().tabCompleteInternalStatisticOrAchievementName(args[1], new ArrayList<String>());
181 - }
182 -
183 - if (args.length == 3) {
184 - return super.tabComplete(sender, alias, args);
185 - }
186 - return ImmutableList.of();
187 - }
188 -}

Everything looks good. We'll let you know here if there's anything you should know about.

Add shortcut