Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eu.decoiled.commands;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.entity.Player;
- import java.util.Arrays;
- import java.util.List;
- import static eu.decoiled.Main.config;
- public class Gang implements CommandExecutor {
- @Override
- public boolean onCommand(CommandSender sender, Command command, String s, String[] args) {
- String arg1 = args[0];
- if(arg1.equals("create")) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Solo i giocatori possono utilizzare questo comando.");
- return true;
- }
- Player player = (Player) sender;
- String gangName = args[1];
- if (!gangName.matches("[a-zA-Z0-9]+")) {
- player.sendMessage(ChatColor.RED + "Il nome della gang non può contenere caratteri speciali.");
- return true;
- }
- if (gangName.length() > 10) {
- player.sendMessage(ChatColor.RED + "Il nome della gang non può essere più lungo di 10 caratteri.");
- return true;
- }
- if (isInAGang(player)) {
- player.sendMessage(ChatColor.RED + "Sei già in una gang.");
- return true;
- }
- if (gangExists(gangName)) {
- player.sendMessage(ChatColor.RED + "Esiste già una gang con quel nome.");
- return true;
- }
- createGang(gangName, player);
- player.sendMessage(ChatColor.GREEN + "Hai creato la gang " + gangName + " con successo.");
- } else if (arg1.equals("leave")) {
- if (!(sender instanceof Player)) {
- sender.sendMessage(ChatColor.RED + "Solo i giocatori possono utilizzare questo comando.");
- return true;
- }
- Player player = (Player) sender;
- if (!isInAGang(player)) {
- player.sendMessage(ChatColor.RED + "Non sei già in una gang.");
- return true;
- }
- gangLeave(player);
- }
- return true;
- }
- public boolean isInAGang(Player player) {
- for (String key : config.getConfigurationSection("gangs").getKeys(false)) {
- List<String> members = config.getStringList("gangs." + key + ".members");
- if (members.contains(player.getName())) {
- return true;
- }
- }
- return false;
- }
- public boolean gangExists(String gangName) {
- return config.isSet("gangs." + gangName);
- }
- public void createGang(String gangName, Player leader) {
- leader.setPlayerListName("§7[§b " + gangName + "§7]" + "§f " + leader.getName());
- config.set("gangs." + gangName + ".leader", leader.getName());
- config.set("gangs." + gangName + ".members", Arrays.asList(leader.getName()));
- }
- private void addMemberToGang(String gangName, Player member) {
- List<String> members = config.getStringList("gangs." + gangName + ".members");
- members.add(member.getName());
- config.set("gangs." + gangName + ".members", members);
- }
- public void gangLeave(Player player) {
- for (String key : config.getConfigurationSection("gangs").getKeys(false)) {
- List<String> members = config.getStringList("gangs." + key + ".members");
- String leader = config.getString("gangs." + key + ".leader");
- if (members.contains(player.getName())) {
- members.remove(player.getName());
- if (leader.equals(player.getName())) {
- config.set("gangs." + key, null);
- player.sendMessage(ChatColor.RED + "Hai lasciato la gang e l'hai cancellata.");
- } else {
- config.set("gangs." + key + ".members", members);
- player.sendMessage(ChatColor.GREEN + "Hai lasciato la gang.");
- }
- return;
- }
- }
- player.sendMessage(ChatColor.RED + "Non sei in alcuna gang.");
- }
- }
Add Comment
Please, Sign In to add comment