Skip to content

Commit 298c1a4

Browse files
committed
Fixed the %PLAYER_COUNT% placeholder in the add command
1 parent 4a6a530 commit 298c1a4

File tree

1 file changed

+65
-60
lines changed

1 file changed

+65
-60
lines changed

src/main/java/com/lobbyswitch/command/commands/AddCommand.java

+65-60
Original file line numberDiff line numberDiff line change
@@ -59,102 +59,107 @@ public boolean onCommand(CommandSender sender, String label, String... args) {
5959
}
6060

6161
ItemStack itemStack;
62+
String amount = args[1];
6263
byte metaData;
6364
boolean enchanted;
6465
int slot;
6566
String targetServer;
6667

6768
try {
68-
int amount = Integer.parseInt(args[1]);
69-
if (amount > 64) {
69+
if (Integer.valueOf(amount) > 64) {
7070
sender.sendMessage(t("amountMaxExceeded", "64"));
71+
7172
return false;
7273
}
73-
if (amount < 1) {
74+
if (Integer.valueOf(amount) < 1) {
7475
sender.sendMessage(t("amountMinExceeded", "0"));
76+
7577
return false;
7678
}
79+
} catch (NumberFormatException e) {
80+
if (!amount.equalsIgnoreCase("%PLAYER_COUNT%")) {
81+
sender.sendMessage(t("invalidInteger", amount));
7782

78-
String[] itemStackSplit = args[0].split(":");
79-
if (itemStackSplit.length > 1) {
80-
metaData = Byte.valueOf(itemStackSplit[1]);
81-
} else {
82-
metaData = (byte) 0;
83+
return false;
8384
}
85+
}
8486

87+
String[] itemStackSplit = args[0].split(":");
88+
if (itemStackSplit.length > 1) {
89+
metaData = Byte.valueOf(itemStackSplit[1]);
90+
} else {
91+
metaData = (byte) 0;
92+
}
93+
94+
try {
95+
itemStack = new ItemStack(Integer.parseInt(itemStackSplit[0]), 1);
96+
} catch (NumberFormatException e) {
8597
try {
86-
itemStack = new ItemStack(Integer.parseInt(itemStackSplit[0]), amount, metaData);
87-
} catch (NumberFormatException e) {
88-
try {
89-
itemStack = new ItemStack(Material.valueOf(itemStackSplit[0]), amount, metaData);
90-
} catch (IllegalArgumentException exception) {
91-
sender.sendMessage(t("invalidItem", itemStackSplit[1]));
92-
93-
return false;
94-
}
95-
}
96-
if (itemStack.getType() == Material.AIR) {
97-
sender.sendMessage(t("invalidItem", "AIR"));
98+
itemStack = new ItemStack(Material.valueOf(itemStackSplit[0]), 1);
99+
} catch (IllegalArgumentException exception) {
100+
sender.sendMessage(t("invalidItem", itemStackSplit[1]));
98101

99102
return false;
100103
}
104+
}
101105

102-
if (!args[2].equalsIgnoreCase("true")) {
103-
if (!args[2].equalsIgnoreCase("false")) {
104-
sender.sendMessage(t("invalidBoolean", args[2]));
106+
if (itemStack.getType() == Material.AIR) {
107+
sender.sendMessage(t("invalidItem", "AIR"));
105108

106-
return false;
107-
}
108-
}
109+
return false;
110+
}
109111

110-
enchanted = Boolean.parseBoolean(args[2]);
112+
if (!args[2].equalsIgnoreCase("true")) {
113+
if (!args[2].equalsIgnoreCase("false")) {
114+
sender.sendMessage(t("invalidBoolean", args[2]));
111115

112-
try {
113-
slot = Integer.parseInt(args[3]);
114-
if (slot < 1) {
115-
sender.sendMessage(t("slotMinExceeded", "0"));
116+
return false;
117+
}
118+
}
116119

117-
return false;
118-
}
119-
if (slot > LobbySwitch.p.getConfigManager().getInventory().getSize()) {
120-
sender.sendMessage(t("slotMaxExceeded", LobbySwitch.p.getConfigManager().getInventory().getSize() + ""));
120+
enchanted = Boolean.parseBoolean(args[2]);
121121

122-
return false;
123-
}
124-
if (LobbySwitch.p.getConfigManager().getSlots().contains(String.valueOf(slot))) {
125-
sender.sendMessage(t("slotInUse", slot + ""));
122+
try {
123+
slot = Integer.parseInt(args[3]);
124+
if (slot < 1) {
125+
sender.sendMessage(t("slotMinExceeded", "0"));
126126

127-
return false;
128-
}
129-
} catch (NumberFormatException e) {
130-
sender.sendMessage(t("invalidInteger", args[3]));
131-
return true;
127+
return false;
132128
}
133-
if (LobbySwitch.p.getServers().keySet().contains(args[4])) {
134-
targetServer = args[4];
135-
} else {
136-
sender.sendMessage(t("invalidServer", args[4]));
129+
if (slot > LobbySwitch.p.getConfigManager().getInventory().getSize()) {
130+
sender.sendMessage(t("slotMaxExceeded", LobbySwitch.p.getConfigManager().getInventory().getSize() + ""));
137131

138132
return false;
139133
}
134+
if (LobbySwitch.p.getConfigManager().getSlots().contains(String.valueOf(slot))) {
135+
sender.sendMessage(t("slotInUse", slot + ""));
140136

141-
StringBuilder stringBuilder = new StringBuilder();
142-
143-
for (int i = 5; args.length > i; i++) {
144-
if (i != 5) {
145-
stringBuilder.append(" ");
146-
}
147-
stringBuilder.append(args[i]);
137+
return false;
148138
}
149-
ServerItem serverItem = new ServerItem(itemStack.getType(), itemStack.getData().getData(), String.valueOf(itemStack.getAmount()), stringBuilder.toString(), targetServer, new ArrayList<String>(), enchanted);
150-
LobbySwitch.p.getConfigManager().saveServerItem(serverItem, slot);
151-
sender.sendMessage(t("itemCreated", slot + "", serverItem.getAmount(), serverItem.getDisplayName(), serverItem.getMaterial().toString(), serverItem.getTargetServer(), serverItem.isEnchanted() + ""));
152-
153139
} catch (NumberFormatException e) {
154-
sender.sendMessage(t("invalidInteger", args[1]));
140+
sender.sendMessage(t("invalidInteger", args[3]));
141+
return true;
142+
}
143+
if (LobbySwitch.p.getServers().keySet().contains(args[4])) {
144+
targetServer = args[4];
145+
} else {
146+
sender.sendMessage(t("invalidServer", args[4]));
147+
155148
return false;
156149
}
157150

151+
StringBuilder stringBuilder = new StringBuilder();
152+
153+
for (int i = 5; args.length > i; i++) {
154+
if (i != 5) {
155+
stringBuilder.append(" ");
156+
}
157+
stringBuilder.append(args[i]);
158+
}
159+
ServerItem serverItem = new ServerItem(itemStack.getType(), metaData, amount, stringBuilder.toString(), targetServer, new ArrayList<String>(), enchanted);
160+
LobbySwitch.p.getConfigManager().saveServerItem(serverItem, slot);
161+
sender.sendMessage(t("itemCreated", slot + "", serverItem.getAmount(), serverItem.getDisplayName(), serverItem.getMaterial().toString(), serverItem.getTargetServer(), serverItem.isEnchanted() + ""));
162+
158163
return true;
159164
}
160165

0 commit comments

Comments
 (0)