Skip to content

Commit 5e17f4f

Browse files
authored
Update a10.1 (#18)
Added Convert-Command Added Reload-Command to reload the config. Added language-options for some command-output in the config. Added the soft-dependency WorldGuard to MineTinker (as requested by kaimokene [#16]) - Builderswands should not ignore claimed land anymore Added int and long Overflow-protection for Level-, Exp-counter (Resets at overflow to 0 or 1 or stops if ResetAtVarOverflow is false in the config) Added int Overflow-protection for free-Slots-counter (free-Slots-counter will not be reset and stays at MAX_VALUE) Reorganized Command.onHelp() alphabetically. Changed exp-Variable type from int to long for even more Exp-farming Special Items (e.g. Builderswand and Elevator-Motor) can be renamed in the config. Bows to not trigger the Self-Repair chance two times anymore (Self-Repair is therefore nerved for the bow to the level of the sword) Redesigned if-statements of the Elevator-Listener (error by kaimokene [#17]) Removed unnecessary try/catch-statements and replaced them with instanceof
1 parent bbf26ab commit 5e17f4f

22 files changed

+628
-564
lines changed

src/config.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ actionbar-messages: true
99

1010
LevelStep: 100 # *(LevelFactor^LevelOfTool)
1111
LevelFactor: 2.0
12+
ResetAtVarOverflow: true #Resets Level and Exp at Integer.MAX_VALUE or Long.MAX_VALUE with 1 and 0. false: no more Exp gain
1213
AddModifierSlotsPerLevel: 1
1314
StartingModifierSlots: 1
1415
ExpPerBlockBreak: 1 #How much XP will the tool get when you break a block
@@ -241,6 +242,7 @@ Spawners:
241242

242243
Elevator:
243244
enabled: true
245+
name: Elevator-Motor
244246
Sound: true #(Chest opening and closing)
245247
AllowedWorlds: #Worlds where Elevator can be used
246248
- world #default
@@ -250,6 +252,11 @@ Elevator:
250252
Builderswands:
251253
enabled: true
252254
useDurability: true
255+
name_wood: Wooden Builderswand
256+
name_stone: Stone Builderswand
257+
name_iron: Iron Builderswand
258+
name_gold: Golden Builderswand
259+
name_diamond: Diamond Builderswand
253260
AllowedWorlds: #Worlds where MineTinker-Builderswands can be used
254261
- world #default
255262
- world_nether #default
@@ -263,3 +270,8 @@ Language:
263270
ExpLine: Exp #no spaces
264271
FreeModifierSlotsLine: Free Modifiers Slots #exactly two spaces for no error
265272
ModifiersLine: Modifiers
273+
Commands:
274+
InvalidArguments: Invalid arguments!
275+
InvalidTool: Invalid tool!
276+
NoPermission: You do not have permission to use this command!
277+
NotAPlayer: This is a player only command!
Lines changed: 115 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,120 +1,158 @@
11
package de.flo56958.MineTinker.Commands;
22

33
import de.flo56958.MineTinker.Data.Strings;
4+
import de.flo56958.MineTinker.Main;
45
import de.flo56958.MineTinker.Utilities.ChatWriter;
56
import org.bukkit.ChatColor;
67
import org.bukkit.command.Command;
78
import org.bukkit.command.CommandExecutor;
89
import org.bukkit.command.CommandSender;
10+
import org.bukkit.configuration.file.FileConfiguration;
911
import org.bukkit.entity.Player;
1012

1113
public class Commands implements CommandExecutor {
14+
15+
private static FileConfiguration config = Main.getPlugin().getConfig();
16+
1217
@Override
1318
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
1419
if (sender instanceof Player) {
1520
Player p = (Player) sender;
1621
if (sender.hasPermission("minetinker.commands.main")) {
1722
if (args.length == 0) {
18-
ChatWriter.sendMessage(p, ChatColor.RED, "You have entered to few arguments!");
19-
ChatWriter.sendMessage(p, ChatColor.WHITE, "Possible arguments are:");
20-
onHelp(p);
23+
invalidArgs(p);
2124
}
2225
if (args.length > 0) {
23-
switch(args[0].toLowerCase()) {
24-
case "help":
25-
case "?":
26-
if(p.hasPermission("minetinker.commands.help")) {
27-
onHelp(p);
28-
break;
29-
}else noPerm(p); break;
30-
case "info":
31-
case "i":
32-
if(p.hasPermission("minetinker.commands.info")) {
33-
ChatWriter.sendMessage(p, ChatColor.WHITE, "MineTinker is a Plugin made by Flo56958.");
34-
ChatWriter.sendMessage(p, ChatColor.WHITE, "It is inspired by different mods (e.g. TinkersConstruct)");
26+
switch (args[0].toLowerCase()) {
27+
case "addexp":
28+
case "ae":
29+
if (p.hasPermission("minetinker.commands.addexp")) {
30+
Functions.addExp(p, args);
31+
} else noPerm(p);
32+
break;
33+
case "addmod":
34+
case "am":
35+
if (p.hasPermission("minetinker.commands.addmod")) {
36+
Functions.addMod(p, args);
37+
} else noPerm(p);
38+
break;
39+
case "convert":
40+
case "c":
41+
if (p.hasPermission("minetinker.command.convert")) {
42+
Functions.convert(p, args);
43+
} else noPerm(p);
44+
break;
45+
case "give":
46+
case "g":
47+
if (p.hasPermission("minetinker.command.give")) {
48+
Functions.give(p, args);
49+
} else noPerm(p);
50+
break;
51+
case "help":
52+
case "?":
53+
case "h":
54+
if (p.hasPermission("minetinker.commands.help")) {
55+
onHelp(p);
56+
} else noPerm(p);
57+
break;
58+
case "info":
59+
case "i":
60+
if (p.hasPermission("minetinker.commands.info")) {
61+
ChatWriter.sendMessage(p, ChatColor.WHITE, "MineTinker is a Plugin made by Flo56958.");
62+
ChatWriter.sendMessage(p, ChatColor.WHITE, "It is inspired by different mods (e.g. TinkersConstruct)");
63+
} else noPerm(p);
64+
break;
65+
case "modifiers":
66+
case "mods":
67+
if (p.hasPermission("minetinker.commands.modifiers")) {
68+
Mods.list(p);
69+
} else noPerm(p);
70+
break;
71+
case "name":
72+
case "n":
73+
if (p.hasPermission("minetinker.commands.name")) {
74+
Functions.name(p, args);
75+
} else noPerm(p);
76+
break;
77+
case "reload":
78+
case "r":
79+
if (p.hasPermission("minetinker.commands.reload")) {
80+
reload(p);
81+
} else noPerm(p);
82+
break;
83+
case "removemod":
84+
case "rm":
85+
if (p.hasPermission("minetinker.commands.removemod")) {
86+
Functions.removeMod(p, args);
87+
} else noPerm(p);
88+
break;
89+
case "setdurability":
90+
case "sd":
91+
if (p.hasPermission("minetinker.commands.setdurability")) {
92+
Functions.setDurability(p, args);
93+
} else noPerm(p);
3594
break;
36-
}else noPerm(p); break;
37-
case "modifiers":
38-
case "mods":
39-
if(p.hasPermission("minetinker.commands.modifiers")) {
40-
Mods.list(p);
41-
break;
42-
}else noPerm(p); break;
43-
case "addexp":
44-
case "ae":
45-
if(p.hasPermission("minetinker.commands.addexp")) {
46-
Functions.addExp(p, args);
47-
break;
48-
}else noPerm(p); break;
49-
case "name":
50-
case "n":
51-
if(p.hasPermission("minetinker.commands.name")) {
52-
Functions.name(p, args);
53-
break;
54-
}else noPerm(p); break;
55-
case "addmod":
56-
case "am":
57-
if(p.hasPermission("minetinker.commands.addmod")) {
58-
Functions.addMod(p, args);
59-
break;
60-
}else noPerm(p); break;
61-
case "removemod":
62-
case "rm":
63-
if(p.hasPermission("minetinker.commands.removemod")) {
64-
Functions.removeMod(p, args);
65-
break;
66-
}else noPerm(p); break;
67-
case "setdurability":
68-
case "sd":
69-
if(p.hasPermission("minetinker.commands.setdurability")) {
70-
Functions.setDurability(p, args);
71-
break;
72-
}else noPerm(p); break;
73-
default:
74-
invalidArgs(p);
75-
ChatWriter.sendMessage(p, ChatColor.WHITE, "Possible arguments are:");
76-
onHelp(p);
95+
default:
96+
invalidArgs(p);
97+
ChatWriter.sendMessage(p, ChatColor.WHITE, "Possible arguments are:");
98+
onHelp(p);
7799
}
78100
}
79101
}
80102
} else {
81-
sender.sendMessage(Strings.CHAT_PREFIX + " This is a player only command");
103+
sender.sendMessage(Strings.CHAT_PREFIX + " " + config.getString("Language.Commands.NotAPlayer"));
82104
}
83105
return true;
84106
}
85-
86-
private void invalidArgs(Player p) {
87-
ChatWriter.sendMessage(p, ChatColor.RED, "Invalid arguments!");
107+
108+
static void invalidArgs(Player p) {
109+
ChatWriter.sendMessage(p, ChatColor.RED, config.getString("Language.Commands.InvalidArguments"));
110+
}
111+
112+
static void invalidTool(Player p) {
113+
ChatWriter.sendMessage(p, ChatColor.RED, config.getString("Language.Commands.InvalidTool"));
88114
}
89-
115+
90116
private void noPerm(Player p) {
91-
ChatWriter.sendMessage(p, ChatColor.RED, "You do not have permission to use this command!");
117+
ChatWriter.sendMessage(p, ChatColor.RED, config.getString("Language.Commands.NoPermission"));
92118
}
93119

94-
private void onHelp (Player p) {
120+
private void onHelp(Player p) {
95121
int index = 1;
96-
if (p.hasPermission("minetinker.commands.info")) {
97-
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Info (i)");
122+
if (p.hasPermission("minetinker.commands.addexp")) {
123+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". AddExp (ae)");
124+
index++;
125+
}
126+
if (p.hasPermission("minetinker.commands.addmod")) {
127+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". AddMod (am)");
128+
index++;
129+
}
130+
if (p.hasPermission("minetinker.commands.convert")) {
131+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Convert (c)");
132+
index++;
133+
}
134+
if (p.hasPermission("minetinker.commands.give")) {
135+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Give (g)");
98136
index++;
99137
}
100138
if (p.hasPermission("minetinker.commands.help")) {
101139
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Help (?)");
102140
index++;
103141
}
104-
if (p.hasPermission("minetinker.commands.modifiers")) {
105-
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Modifiers (mods)");
142+
if (p.hasPermission("minetinker.commands.info")) {
143+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Info (i)");
106144
index++;
107145
}
108-
if (p.hasPermission("minetinker.commands.addexp")) {
109-
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". AddExp (ae)");
146+
if (p.hasPermission("minetinker.commands.modifiers")) {
147+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Modifiers (mods)");
110148
index++;
111149
}
112150
if (p.hasPermission("minetinker.commands.name")) {
113151
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Name (n)");
114152
index++;
115153
}
116-
if (p.hasPermission("minetinker.commands.addmod")) {
117-
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". AddMod (am)");
154+
if (p.hasPermission("minetinker.commands.reload")) {
155+
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Reload (r)");
118156
index++;
119157
}
120158
if (p.hasPermission("minetinker.commands.removemod")) {
@@ -123,10 +161,12 @@ private void onHelp (Player p) {
123161
}
124162
if (p.hasPermission("minetinker.commands.setdurability")) {
125163
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". SetDurability (sd)");
126-
index++;
127-
}
128-
if (p.hasPermission("minetinker.commands.give")) {
129-
ChatWriter.sendMessage(p, ChatColor.WHITE, index + ". Give (g)");
130164
}
131165
}
166+
167+
private void reload(Player p) {
168+
ChatWriter.sendMessage(p, ChatColor.RED, "Reloading Config!");
169+
Main.getPlugin().reloadConfig();
170+
ChatWriter.sendMessage(p, ChatColor.RED, "Finished!");
171+
}
132172
}

0 commit comments

Comments
 (0)