/
NuxKits.java
153 lines (140 loc) · 6.74 KB
/
NuxKits.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
package com.bukkit.N4th4.NuxKits;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import org.bukkit.ChatColor;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.config.Configuration;
public class NuxKits extends JavaPlugin {
private Configuration config;
private final HashMap<Player, Boolean> debugees;
public NuxKits() {
NKLogger.initialize();
debugees = new HashMap<Player, Boolean>();
}
public void onEnable() {
NKPermissions.initialize(getServer());
loadConfig();
}
public void onDisable() {
}
@Override
public boolean onCommand(CommandSender sender, Command command, String commandLabel, String[] args) {
String commandName = command.getName();
if (sender instanceof Player) {
if (commandName.equalsIgnoreCase("NuxKits")) {
Player player = (Player) sender;
if (args.length == 0) {
help(player);
} else {
if (args[0].equalsIgnoreCase("give")) {
if (args.length != 2 && args.length != 3) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Usage : /NuxKits give [kit] <joueur>");
} else if (!NKPermissions.has(player, "nuxkits.give." + args[1])) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Permission denied");
} else {
if (args.length == 2)
giveKit(args[1], player.getName(), player);
else if (args.length == 3)
giveKit(args[1], args[2], player);
}
} else if (args[0].equalsIgnoreCase("reload")) {
if (args.length != 1) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Usage : /NuxKits reload");
} else if (!NKPermissions.has(player, "nuxkits.reload")) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Permission denied");
} else {
loadConfig();
sender.sendMessage(ChatColor.GREEN + "[NuxKits] File reloaded");
}
} else if (args[0].equalsIgnoreCase("help")) {
if (args.length != 1) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Usage : /NuxKits help");
// } else if (!NKPermissions.has(player, "nuxkits.help")) {
// sender.sendMessage(ChatColor.RED+"[NuxKits] Permission denied");
} else {
help(player);
}
} else if (args[0].equalsIgnoreCase("listKits")) {
if (args.length != 1) {
sender.sendMessage(ChatColor.RED + "[NuxKits] Usage : /NuxKits listKits");
// } else if (!NKPermissions.has(player, "nuxkits.listkits")) {
// sender.sendMessage(ChatColor.RED+"[NuxKits] Permission denied");
} else {
listKits(player);
}
} else {
sender.sendMessage(ChatColor.RED + "[NuxKits] Unknown command. Type /NuxKits help");
}
}
}
return true;
} else {
sender.sendMessage("[NuxKits] Only commands in chat are supported");
return true;
}
}
public boolean isDebugging(final Player player) {
if (debugees.containsKey(player)) {
return debugees.get(player);
} else {
return false;
}
}
public void setDebugging(final Player player, final boolean value) {
debugees.put(player, value);
}
private void giveKit(String kit, String reciver, Player sender) {
Player player = getServer().getPlayer(reciver);
if (player != null) {
ArrayList<String> materialsList = (ArrayList<String>) config.getKeys("kits." + kit);
if (materialsList != null) {
for (int i = 0; i < materialsList.size(); i++) {
try {
getServer().getPlayer(reciver).getInventory().addItem(new ItemStack(Material.valueOf(materialsList.get(i)), config.getInt("kits." + kit + "." + materialsList.get(i), 0)));
} catch (IllegalArgumentException e) {
NKLogger.severe("Invalid material : " + materialsList.get(i));
}
}
if (sender.getName().equals(reciver)) {
sender.sendMessage(ChatColor.GREEN + "[NuxKits] You've given yourself the kit \"" + kit + "\"");
} else {
sender.sendMessage(ChatColor.GREEN + "[NuxKits] The kit \"" + kit + "\" was given to " + reciver);
player.sendMessage(ChatColor.GREEN + "[NuxKits] " + sender.getName() + " has given you the kit \"" + kit + "\"");
}
} else {
sender.sendMessage(ChatColor.RED + "[NuxKits] The kit " + kit + " doesn't exist");
}
} else {
sender.sendMessage(ChatColor.RED + "[NuxKits] Unknown player \"" + reciver + "\"");
}
}
private void loadConfig() {
File configFile = new File("plugins/NuxKits/config.yml");
if (configFile.exists()) {
config = new Configuration(configFile);
config.load();
} else {
NKLogger.severe("File not found : plugins/NuxKits/config.yml");
}
}
private void help(Player sender) {
sender.sendMessage(ChatColor.AQUA + "Commands :");
sender.sendMessage(ChatColor.AQUA + " /NuxKits give [kit] [joueur]");
sender.sendMessage(ChatColor.AQUA + " /NuxKits help");
sender.sendMessage(ChatColor.AQUA + " /NuxKits reload");
sender.sendMessage(ChatColor.AQUA + " /NuxKits listKits");
}
private void listKits(Player sender) {
sender.sendMessage(ChatColor.AQUA + "Kits :");
ArrayList<String> kitsList = (ArrayList<String>) config.getKeys("kits");
for (int i = 0; i < kitsList.size(); i++) {
sender.sendMessage(ChatColor.AQUA + " " + kitsList.get(i));
}
}
}