Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.darkwitch.skyfac;
- import java.io.File;
- import java.io.IOException;
- import java.io.Reader;
- import java.util.logging.Level;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.configuration.file.YamlConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.EventPriority;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.PlayerChatEvent;
- import org.bukkit.event.player.PlayerCommandPreprocessEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- import org.bukkit.plugin.PluginManager;
- import org.bukkit.plugin.RegisteredServiceProvider;
- import org.bukkit.event.Listener;
- import net.milkbowl.vault.economy.Economy;
- import net.milkbowl.vault.economy.EconomyResponse;
- import net.milkbowl.vault.permission.Permission;
- import net.md_5.bungee.api.chat.BaseComponent;
- import net.md_5.bungee.api.chat.ComponentBuilder;
- import net.md_5.bungee.api.chat.HoverEvent;
- public class Skyfac extends JavaPlugin implements Listener {
- public Economy economy = null;
- public Permission permission = null;
- public String version = "V0.1";
- public String prefix = "[SkyFac] ";
- private FileConfiguration factionlist = null;
- private File factionlistFile = null;
- private FileConfiguration playerlist = null;
- private File playerlistFile = null;
- private FileConfiguration playerinvite = null;
- private File playerinviteFile = null;
- private FileConfiguration ownerinvite = null;
- private File ownerinviteFile = null;
- public void onEnable() {
- PluginManager pm = getServer().getPluginManager();
- pm.registerEvents(this, this);
- File factionlist = new File(getDataFolder() + "/factionslist.yml");
- if (!factionlist.exists()) {
- try {
- factionlist.createNewFile();
- getLogger().warning(version + " Creation du factionslist.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- File Playerlist = new File(getDataFolder() + "/playerlist.yml");
- if (!Playerlist.exists()) {
- try {
- Playerlist.createNewFile();
- getLogger().warning(version + " Creation du playerlist.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- File PlayerInvite = new File(getDataFolder() + "/playerinvite.yml");
- if (!PlayerInvite.exists()) {
- try {
- PlayerInvite.createNewFile();
- getLogger().warning(version + " Creation du playerinvite.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- File faction = new File(getDataFolder() + "/factions.yml");
- if (faction.exists()) {
- faction.delete();
- File OwnerInvite = new File(getDataFolder() + "/ownerinvite.yml");
- if (!OwnerInvite.exists()) {
- try {
- OwnerInvite.createNewFile();
- getLogger().warning(version + " Creation du ownerinvite.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- getLogger().warning(version + " Suppression du factions.yml (OLD)!");
- }
- getLogger().warning(version + " has been activated!");
- if (!setupDepends()) {
- setEnabled(false);
- }
- if (!getDataFolder().exists()) {
- getDataFolder().mkdirs();
- }
- }
- public void onDisable() {
- getLogger().warning(version + " has been desactivated!");
- getLogger().severe(version + " purge des invitations");
- this.getOwnerInvite().set("Players", null);
- this.getPlayerInvite().set("Players", null);
- this.savePlayerInvite();
- this.saveOwnerInvite();
- }
- private boolean setupDepends() {
- if (!setupEconomy()) {
- getServer().getLogger().severe(version + "Le plugin d'economie est introuvable, etes-vous sur d'en avoir un ?");
- return false;
- } else if (!setupPermission()) {
- getServer().getLogger().severe(version + "Le plugin de permissions est introuvable, etes-vous sur d'en avoir un ?");
- return false;
- }
- return true;
- }
- private Boolean setupEconomy() {
- RegisteredServiceProvider < Economy > economyProvider = getServer().getServicesManager().getRegistration(Economy.class);
- if (economyProvider != null) {
- economy = (Economy) economyProvider.getProvider();
- return true;
- }
- return false;
- }
- private Boolean setupPermission() {
- RegisteredServiceProvider < Permission > permissionProvider = getServer().getServicesManager().getRegistration(Permission.class);
- if (permissionProvider != null) {
- permission = (Permission) permissionProvider.getProvider();
- return true;
- }
- return false;
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- if (cmd.getName().equalsIgnoreCase("skyfac")) {
- if (sender instanceof Player) {
- Player player = (Player) sender;
- if (args.length == 0) {
- player.sendMessage(ChatColor.RED + "~~~~~~~~~~~~" + ChatColor.AQUA + "SkyFac AIDE" + ChatColor.RED + "~~~~~~~~~~~~");
- player.sendMessage(ChatColor.GREEN + "Aide SkyFac (passez votre souris sur les commandes pour plus d'informations)");
- BaseComponent[] skyfac_create_hovertext = new ComponentBuilder("Créer votre faction").create();
- HoverEvent skyfac_create_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_create_hovertext);
- BaseComponent[] skyfac_create = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac create [Nom de faction]").event(skyfac_create_hoverevent).create();
- BaseComponent[] skyfac_invite_hovertext = new ComponentBuilder("Invitez un joueur a votre faction").create();
- HoverEvent skyfac_invite_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_invite_hovertext);
- BaseComponent[] skyfac_invite = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac invite [Nom du joueur]").event(skyfac_invite_hoverevent).create();
- BaseComponent[] skyfac_rank_hovertext = new ComponentBuilder("Afficher le classement").create();
- HoverEvent skyfac_rank_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_rank_hovertext);
- BaseComponent[] skyfac_rank = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac rank").event(skyfac_rank_hoverevent).create();
- BaseComponent[] skyfac_accept_hovertext = new ComponentBuilder("Accepter l'invitation a rejoindre la faction").create();
- HoverEvent skyfac_accept_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_accept_hovertext);
- BaseComponent[] skyfac_accept = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac accept").event(skyfac_accept_hoverevent).create();
- BaseComponent[] skyfac_deny_hovertext = new ComponentBuilder("Refuser l'invitation a rejoindre la faction").create();
- HoverEvent skyfac_deny_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_deny_hovertext);
- BaseComponent[] skyfac_deny = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac deny").event(skyfac_deny_hoverevent).create();
- BaseComponent[] skyfac_claim_hovertext = new ComponentBuilder("Ajouter un chunk a votre faction").create();
- HoverEvent skyfac_claim_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_claim_hovertext);
- BaseComponent[] skyfac_claim = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac claim").event(skyfac_claim_hoverevent).create();
- BaseComponent[] skyfac_reload_hovertext = new ComponentBuilder("recharger les fichiers de configuration").create();
- HoverEvent skyfac_reload_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_reload_hovertext);
- BaseComponent[] skyfac_reload = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac reload").event(skyfac_reload_hoverevent).create();
- BaseComponent[] skyfac_disband_hovertext = new ComponentBuilder("Dissous votre faction").create();
- HoverEvent skyfac_disband_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_disband_hovertext);
- BaseComponent[] skyfac_disband = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac disband").event(skyfac_disband_hoverevent).create();
- BaseComponent[] skyfac_info_hovertext = new ComponentBuilder("Affiche les information de votre faction").create();
- HoverEvent skyfac_info_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_info_hovertext);
- BaseComponent[] skyfac_info = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac info").event(skyfac_info_hoverevent).create();
- BaseComponent[] skyfac_leave_hovertext = new ComponentBuilder("Quitter votre faction").create();
- HoverEvent skyfac_leave_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_leave_hovertext);
- BaseComponent[] skyfac_leave = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac leave").event(skyfac_leave_hoverevent).create();
- BaseComponent[] skyfac_kick_hovertext = new ComponentBuilder("Expulser un joueur de votre faction").create();
- HoverEvent skyfac_kick_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_kick_hovertext);
- BaseComponent[] skyfac_kick = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac kick [Nom de joueur]").event(skyfac_kick_hoverevent).create();
- BaseComponent[] skyfac_deposit_hovertext = new ComponentBuilder("Depose de l'argent sur le compte de la faction").create();
- HoverEvent skyfac_deposit_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_deposit_hovertext);
- BaseComponent[] skyfac_deposit = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac deposit [Montant]").event(skyfac_deposit_hoverevent).create();
- BaseComponent[] skyfac_withdraw_hovertext = new ComponentBuilder("Retire de l'argent sur le compte de la faction").create();
- HoverEvent skyfac_withdraw_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_withdraw_hovertext);
- BaseComponent[] skyfac_withdraw = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac withdraw [Montant]").event(skyfac_withdraw_hoverevent).create();
- BaseComponent[] skyfac_purge_hovertext = new ComponentBuilder("Purge les fichiers de configuration").create();
- HoverEvent skyfac_purge_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_purge_hovertext);
- BaseComponent[] skyfac_purge = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac purge").event(skyfac_purge_hoverevent).create();
- BaseComponent[] skyfac_home_hovertext = new ComponentBuilder("Téléporte à l'ile").create();
- HoverEvent skyfac_home_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_home_hovertext);
- BaseComponent[] skyfac_home = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac home").event(skyfac_home_hoverevent).create();
- BaseComponent[] skyfac_promote_hovertext = new ComponentBuilder("augmente le grade d'un joueur dans la faction").create();
- HoverEvent skyfac_promote_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_promote_hovertext);
- BaseComponent[] skyfac_promote = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac promote [Nom de joueur]").event(skyfac_promote_hoverevent).create();
- BaseComponent[] skyfac_addslot_hovertext = new ComponentBuilder("Ajoute X slot en plus de ceux existant").create();
- HoverEvent skyfac_addslot_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_addslot_hovertext);
- BaseComponent[] skyfac_addslot = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac addslot [Nom de faction] [Nombre de slot en plus]").event(skyfac_addslot_hoverevent).create();
- BaseComponent[] skyfac_removeslot_hovertext = new ComponentBuilder("Retire X slot en plus de ceux existant").create();
- HoverEvent skyfac_removeslot_hoverevent = new HoverEvent(HoverEvent.Action.SHOW_TEXT, skyfac_removeslot_hovertext);
- BaseComponent[] skyfac_removeslot = new ComponentBuilder("").append(ChatColor.GREEN + "/skyfac removeslot [Nom de faction] [Nombre de slot en plus]").event(skyfac_removeslot_hoverevent).create();
- player.spigot().sendMessage(skyfac_create);
- player.spigot().sendMessage(skyfac_invite);
- player.spigot().sendMessage(skyfac_rank);
- player.spigot().sendMessage(skyfac_accept);
- player.spigot().sendMessage(skyfac_deny);
- player.spigot().sendMessage(skyfac_claim);
- player.spigot().sendMessage(skyfac_leave);
- player.spigot().sendMessage(skyfac_disband);
- player.spigot().sendMessage(skyfac_kick);
- player.spigot().sendMessage(skyfac_deposit);
- player.spigot().sendMessage(skyfac_withdraw);
- player.spigot().sendMessage(skyfac_info);
- player.spigot().sendMessage(skyfac_reload);
- player.spigot().sendMessage(skyfac_purge);
- player.spigot().sendMessage(skyfac_home);
- player.spigot().sendMessage(skyfac_promote);
- player.spigot().sendMessage(skyfac_addslot);
- player.spigot().sendMessage(skyfac_removeslot);
- }
- if (args.length == 1) { //skyfac args[0]
- if (args[0].equalsIgnoreCase("claim")) { //debut skyfac claim
- if (this.permission.has(player, "skyfac.claim")) {
- String PlayerName = player.getName();
- //on check si joueur fait partit d'une faction
- if (this.getPlayerList().getString("Players." + PlayerName) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- }
- //sinon
- else {
- Bukkit.dispatchCommand(player, "f claim");
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac claim
- if (args[0].equalsIgnoreCase("accept")) { //debut skyfac accept
- //recupère les information utiles
- if (this.permission.has(player, "skyfac.accept")) {
- String PlayerName = player.getName();
- String InviteFactName = this.getPlayerInvite().getString("Players." + PlayerName + ".faction");
- String factname = this.getFactionList().getString("Factions." + InviteFactName);
- String Owner = this.getFactionList().getString("Factions." + InviteFactName + ".Owner");
- int membre = this.getFactionList().getInt("Factions." + InviteFactName + ".Players");
- //si player dans une faction message erreur
- if (this.getPlayerList().getString("Players." + PlayerName) != null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous êtes déja dans une faction !");
- return true;
- }
- //sinon
- else {
- //si player pas d'invitation invitation
- if (this.getPlayerInvite().getString("Players." + PlayerName) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'avez pas encore été invité a rejoindre une faction");
- return true;
- }
- //sinon
- else {
- player.sendMessage(PlayerName + InviteFactName + membre + Owner);
- //si la faction n'existe plus
- if (factname == null) {
- player.sendMessage(ChatColor.RED + prefix + "La faction n'existe plus !");
- //on supprime l'invitation de l'owner
- this.getOwnerInvite().set("Players." + Owner + ".hasinvite", null);
- this.savePlayerList();
- this.saveOwnerInvite();
- //on supprime l'entrée dans PlayerInvite.yml
- this.getPlayerInvite().set("Players." + PlayerName, null);
- this.savePlayerInvite();
- return true;
- }
- //sinon on ajoute le joueur a la faction
- else {
- //on ajoute le joueur a PlayerList.yml
- this.getPlayerList().set("Players." + PlayerName, PlayerName);
- this.getPlayerList().set("Players." + PlayerName + ".pseudo", PlayerName);
- this.getPlayerList().set("Players." + PlayerName + ".faction", InviteFactName);
- //on supprime l'invitation de l'owner
- this.getOwnerInvite().set("Players." + Owner + ".hasinvite", null);
- this.savePlayerList();
- this.saveOwnerInvite();
- //on modifie FactionList.yml
- int newmembre = membre + 1;
- this.getFactionList().set("Factions." + InviteFactName + ".Players", newmembre);
- this.saveFactionList();
- //on supprime l'entrée dans PlayerInvite.yml
- this.getPlayerInvite().set("Players." + PlayerName, null);
- this.savePlayerInvite();
- //on effectue les actions
- player.sendMessage(ChatColor.GREEN + prefix + "Vous venez de rejoindre la faction " + InviteFactName);
- Bukkit.dispatchCommand(player, "is accept");
- Bukkit.dispatchCommand(player, "f join " + Owner);
- if (Owner != null) {
- Player player2 = Bukkit.getPlayerExact(Owner);
- if (player2 == null) {
- return true;
- } else {
- player2.sendMessage(ChatColor.AQUA + prefix + PlayerName + " à rejoind votre faction " + InviteFactName);
- }
- return true;
- }
- }
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac accept
- if (args[0].equalsIgnoreCase("deny")) { //debut skyfac deny
- //recupère les information utiles
- if (this.permission.has(player, "skyfac.deny")) {
- String PlayerName = player.getName();
- String InviteFactName = this.getPlayerInvite().getString("Players." + PlayerName + ".faction");
- String factname = this.getFactionList().getString("Factions." + InviteFactName);
- String Owner = this.getFactionList().getString("Factions." + InviteFactName + ".Owner");
- int membre = this.getFactionList().getInt("Factions." + InviteFactName + ".Players");
- //si player dans une faction message erreur
- if (this.getPlayerList().getString("Players." + PlayerName) != null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous êtes déja dans une faction !");
- return true;
- }
- //sinon
- else {
- //si player pas d'invitation invitation
- if (this.getPlayerInvite().getString("Players." + PlayerName) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'avez pas encore été invité a rejoindre une faction");
- return true;
- }
- //sinon
- else {
- player.sendMessage(PlayerName + InviteFactName + membre + Owner);
- //si la faction n'existe plus
- if (factname == null) {
- player.sendMessage(ChatColor.RED + prefix + "La faction n'existe plus !");
- //on supprime l'invitation de l'owner
- this.getOwnerInvite().set("Players." + Owner + ".hasinvite", null);
- this.savePlayerList();
- this.saveOwnerInvite();
- //on supprime l'entrée dans PlayerInvite.yml
- this.getPlayerInvite().set("Players." + PlayerName, null);
- this.savePlayerInvite();
- return true;
- } else {
- //on supprime l'invitation de l'owner
- this.getOwnerInvite().set("Players." + Owner + ".hasinvite", null);
- this.savePlayerList();
- this.saveOwnerInvite();
- //on supprime l'entrée dans PlayerInvite.yml
- this.getPlayerInvite().set("Players." + PlayerName, null);
- this.savePlayerInvite();
- Bukkit.dispatchCommand(player, "is reject");
- player.sendMessage(ChatColor.GREEN + prefix + "Vous avez refusé l'invitation à rejoindre " + InviteFactName);
- if (Owner != null) {
- Player player2 = Bukkit.getPlayerExact(Owner);
- if (player2 == null) {
- return true;
- } else {
- player2.sendMessage(ChatColor.AQUA + prefix + PlayerName + " à refusé de rejoindre votre faction !");
- }
- }
- return true;
- }
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac deny
- if (args[0].equalsIgnoreCase("rank")) { //debut skyfac rank
- if (this.permission.has(player, "skyfac.rank")) {
- player.sendMessage("rank");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac rank
- if (args[0].equalsIgnoreCase("invite")) { //debut skyfac invite error args
- if (this.permission.has(player, "skyfac.invite")) {
- player.sendMessage(ChatColor.RED + prefix + "Veuillez spécifier le nom du joueur a inviter.");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac invite error args
- if (args[0].equalsIgnoreCase("create")) { //debut skyfac create error args
- if (this.permission.has(player, "skyfac.create")) {
- player.sendMessage(ChatColor.RED + prefix + "Veuillez spécifiez le nom de la faction.");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac error args
- if (args[0].equalsIgnoreCase("disband")) { //debut skyfac disband
- if (this.permission.has(player, "skyfac.disband")) {
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = this.getPlayerList().getString("Players." + player.getName() + ".pseudo");
- if (this.getFactionList().getString("Factions." + factname) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- } else {
- if (Owner.equalsIgnoreCase(PlayerName)) {
- Bukkit.dispatchCommand(sender, "spawn");
- Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "asadmin delete " + player.getName());
- Bukkit.dispatchCommand(sender, "f disband");
- player.sendMessage(ChatColor.GREEN + prefix + "Vous avez dissous la faction " + factname);
- this.getFactionList().set("Factions." + factname, null);
- this.saveFactionList();
- this.getPlayerList().set("Players." + player.getName(), null);
- this.savePlayerList();
- this.purge();
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez être le créateur de la faction pour faire sa ! ");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac disband
- if (args[0].equalsIgnoreCase("reload")) { //debut skyfac reload
- if (this.permission.has(player, "skyfac.reload")) {
- this.reloadFactionList();
- this.reloadPlayerInvite();
- this.reloadPlayerList();
- player.sendMessage(ChatColor.AQUA + prefix + "Fichiers de configuration rechargés.");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac reload
- if (args[0].equalsIgnoreCase("info")) { //debut skyfac info
- if (this.permission.has(player, "skyfac.info")) {
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- } else if (this.getPlayerList().getString("Players." + player.getName()) != null) {
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String Players = this.getFactionList().getString("Factions." + factname + ".Players");
- int money = this.getFactionList().getInt("Factions." + factname + ".Money");
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- player.sendMessage(ChatColor.RED + "~~~~~~~~~~~~" + ChatColor.AQUA + "SkyFac INFO" + ChatColor.RED + "~~~~~~~~~~~~");
- player.sendMessage(ChatColor.RED + "Nom de la faction : " + ChatColor.AQUA + factname);
- player.sendMessage(ChatColor.RED + "Créateur : " + ChatColor.AQUA + Owner);
- player.sendMessage(ChatColor.RED + "Nombre de membres : " + ChatColor.AQUA + Players);
- player.sendMessage(ChatColor.RED + "Argent de faction : " + ChatColor.AQUA + money + "$");
- player.sendMessage(ChatColor.RED + "Nombre de places max : " + ChatColor.AQUA + slot);
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac info
- if (args[0].equalsIgnoreCase("leave")) { //debut skyfac leave
- if (this.permission.has(player, "skyfac.leave")) {
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = this.getPlayerList().getString("Players." + player.getName() + ".pseudo");
- int money = this.getFactionList().getInt("Factions." + factname + ".Money");
- int membre = this.getFactionList().getInt("Factions." + factname + ".Players");
- //si pas de faction message d'erreur
- if (this.getFactionList().getString("Factions." + factname) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- } else {
- //si owner message d'erreur
- if (Owner.equalsIgnoreCase(PlayerName)) {
- player.sendMessage(ChatColor.RED + prefix + "Vous êtes le créateur de la faction, vous ne pouvez pas la quittez !");
- player.sendMessage(ChatColor.RED + prefix + "Pour dissoudre la faction faite /skyfac disband");
- return true;
- } else {
- int newmembre = membre - 1;
- this.getFactionList().set("Factions." + factname + ".Players", newmembre);
- this.saveFactionList();
- this.getPlayerList().set("Players." + player.getName(), null);
- this.savePlayerList();
- Bukkit.dispatchCommand(sender, "is leave");
- Bukkit.dispatchCommand(sender, "is leave");
- Bukkit.dispatchCommand(sender, "f leave");
- Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "asadmin clearreset " + player.getName());
- player.sendMessage(ChatColor.GREEN + prefix + "Vous avez quitté la faction " + factname + " !");
- if (Owner != null) {
- Player player2 = Bukkit.getPlayerExact(Owner);
- if (player2 == null) {
- return true;
- } else {
- player2.sendMessage(ChatColor.AQUA + prefix + PlayerName + " à quitté votre faction ");
- }
- }
- return true;
- }
- //sinon on quite la faction
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac leave
- if (args[0].equalsIgnoreCase("deposit")) { //début skyfac deposit erreur
- if (this.permission.has(player, "skyfac.deposit")) {
- player.sendMessage(ChatColor.RED + prefix + " Vous devez saisir un montant !");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac deposit erreur
- if (args[0].equalsIgnoreCase("withdraw")) { //début skyfac withdraw erreur
- if (this.permission.has(player, "skyfac.withdraw")) {
- player.sendMessage(ChatColor.RED + prefix + " Vous devez saisir un montant !");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac withdraw erreur
- if (args[0].equalsIgnoreCase("purge")) {
- if (this.permission.has(player, "skyfac.purge")) {
- this.purge();
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("home")) {
- if (this.permission.has(player, "skyfac.home")) {
- Bukkit.dispatchCommand(player, "is go");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("kick")) {
- if (this.permission.has(player, "skyfac.kick")) {
- player.sendMessage(ChatColor.RED + prefix + " Vous devez saisir le nom d'un joueur !");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("addslot")) { //début skyfac addslot erreur
- if (this.permission.has(player, "skyfac.addslot")) {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez spécifier le nom de la faction et le nombre de slots a ajouter");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("promote")) { //début skyfac promote erreur
- if (this.permission.has(player, "skyfac.promote")) {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez spécifier le nom du joueur a promouvoir");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("removeslot")) { //début skyfac removeslot erreur
- if (this.permission.has(player, "skyfac.removeslot")) {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez spécifier le nom de la faction et le nombre de slots a retirer");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "La commande est introuvable");
- Bukkit.dispatchCommand(sender, "skyfac");
- }
- } //fin skyfac args[0]
- if (args.length == 2) { //skyfac args[0] args[1]
- if (args[0].equalsIgnoreCase("create")) { //debut skyfac create
- if (this.permission.has(player, "skyfac.create")) {
- //player.sendMessage("Bienvenue sur le serveur " + player.getName() +" !");
- if (this.getFactionList().getString("Factions." + args[1]) != null) {
- player.sendMessage(ChatColor.RED + prefix + "une faction a déja ce nom");
- return true;
- } else if (this.getFactionList().getString("Factions." + args[1]) == null) {
- if (this.getPlayerList().getString("Players." + player.getName()) != null) {
- player.sendMessage(ChatColor.RED + prefix + "vous êtes déja dans une faction !");
- return true;
- } else if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- String playergetname = this.getPlayerList().getString("Players." + player.getName());
- player.sendMessage(playergetname);
- this.getFactionList().set("Factions." + args[1], args[1]);
- this.getFactionList().set("Factions." + args[1] + ".Owner", player.getName());
- this.getFactionList().set("Factions." + args[1] + ".Players", 1);
- this.getFactionList().set("Factions." + args[1] + ".Money", 0);
- this.getFactionList().set("Factions." + args[1] + ".Slot", 9);
- this.saveFactionList();
- this.getPlayerList().set("Players." + player.getName(), player.getName());
- this.getPlayerList().set("Players." + player.getName() + ".pseudo", player.getName());
- this.getPlayerList().set("Players." + player.getName() + ".faction", args[1]);
- this.savePlayerList();
- Bukkit.dispatchCommand(sender, "is");
- Bukkit.dispatchCommand(sender, "f create " + args[1]);
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac create
- if (args[0].equalsIgnoreCase("invite")) { //debut skyfac invite
- if (this.permission.has(player, "skyfac.invite")) {
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = this.getPlayerList().getString("Players." + player.getName() + ".pseudo");
- int membre = this.getFactionList().getInt("Factions." + factname + ".Players");
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- Player player2 = Bukkit.getPlayerExact(args[1]);
- //si pas membre du'une faction erreur
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- } else {
- //si créateur
- if (Owner.equalsIgnoreCase(PlayerName)) {
- //on check si faction pleine
- if (membre >= slot) {
- player.sendMessage(ChatColor.RED + prefix + "Vous avez atteint la limite de membre dans votre faction.");
- return true;
- }
- // check statut joueur a invité
- if (player2 == null) { //player offline ou erreur dans le nom
- player.sendMessage(ChatColor.RED + prefix + "Le joueur est hors ligne ou vous avez fait une erreur dans son nom !");
- return true;
- } else { //player en ligne
- //check si joueur déja invité erreur
- if (this.getPlayerInvite().getString("Players." + args[1]) != null) {
- player.sendMessage(ChatColor.RED + prefix + args[1] + " à déja été invité dans une faction !");
- return true;
- }
- //check si joueur fait partie d'une faction
- else if (this.getPlayerList().getString("Players." + args[1]) != null) {
- player.sendMessage(ChatColor.RED + prefix + args[1] + " est déja dans une faction !");
- return true;
- } else { //si joueur pas invité et pas membre de faction send message privé plus inclu dans playerinvite.yml
- //on vérifie si une invitation n'a pas déja été envoyer a un autre membre
- if (this.getOwnerInvite().getString("Players." + PlayerName + ".hasinvite") == null) {
- this.getPlayerInvite().set("Players." + args[1], args[1]);
- this.getPlayerInvite().set("Players." + args[1] + ".faction", factname);
- this.getPlayerInvite().set("Players." + args[1] + ".playerinvite", PlayerName);
- this.savePlayerInvite();
- this.getOwnerInvite().set("Players." + PlayerName + ".hasinvite", args[1]);
- this.saveOwnerInvite();
- this.savePlayerList();
- player.sendMessage(ChatColor.GREEN + prefix + "Vous avez invité " + args[1] + " à rejoindre la faction " + factname);
- Bukkit.dispatchCommand(sender, "is invite " + args[1]);
- Bukkit.dispatchCommand(sender, "f invite " + args[1]);
- player2.sendMessage(ChatColor.AQUA + prefix + PlayerName + " vous a inviter a rejoindre la faction " + factname);
- player2.sendMessage(ChatColor.AQUA + prefix + "Utilisez /skyfac accept pour rejoindre la faction ou /skyfac deny pour refuser l'invitation");
- return true;
- } else {
- String PlayerInvite = this.getOwnerInvite().getString("Players." + PlayerName + ".hasinvite");
- player.sendMessage(ChatColor.RED + prefix + "Vous avez déja envoyé une invitation a un autre joueur, veuillez supprimez cette invitation");
- player.sendMessage(ChatColor.RED + prefix + "Pour supprimer votre précédente invitation faites /skyfac revoque " + PlayerInvite);
- return true;
- }
- }
- }
- } else {
- //sinon pas créateur message d'erreur
- player.sendMessage(ChatColor.RED + prefix + "Vous devez être le créateur de la faction pour inviter des joueurs !");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac invite
- if (args[0].equalsIgnoreCase("kick")) { //debut skyfac kick
- if (this.permission.has(player, "skyfac.kick")) {
- //check si joueur dans une faction
- //joueur pas dans fac -> erreur
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- }
- // Si joueur dans une fac check si joueur est créateur de la faction
- else {
- //on récupère les information sur les factions
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = player.getName();
- int membre = this.getFactionList().getInt("Factions." + factname + ".Players");
- //on check si le joueur est le créateur
- //si joueur créateur
- if (PlayerName.equalsIgnoreCase(Owner)) {
- //check si args[1] fait parti de la fac de l'owner
- //on récupère la faction du joueur
- String FacJoueur = this.getPlayerList().getString("Players." + args[1] + ".faction");
- //si le joueur args[1] est le créateur
- if (args[1].equalsIgnoreCase(PlayerName)) {
- player.sendMessage(ChatColor.RED + prefix + "Vous ne pouvez pas vous expulser vous même !");
- return true;
- } else {
- //si args[1] est dans la fac on l'expulse
- if (factname.equalsIgnoreCase(FacJoueur)) {
- //on le retire de playerlist
- this.getPlayerList().set("Players." + args[1], null);
- this.savePlayerList();
- //on retire 1 aux nombre de membres de la faction
- int newmembre = membre - 1;
- this.getFactionList().set("Factions." + factname + ".Players", newmembre);
- this.saveFactionList();
- //on execute les commande
- Bukkit.dispatchCommand(player, "f kick " + args[1]);
- Bukkit.dispatchCommand(player, "is kick " + args[1]);
- Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), "asadmin clearreset " + player.getName());
- player.sendMessage(ChatColor.RED + prefix + "Vous avez expulsé " + args[1] + " de la faction !");
- Player player2 = Bukkit.getPlayerExact(args[1]);
- if (player2 == null) { //player offline ou erreur dans le nom
- return true;
- } else { //player en ligne
- player2.sendMessage(ChatColor.RED + prefix + "Vous avez été expulsé de la faction !");
- return true;
- }
- }
- //si args[1] n'est pas dans la faction -> message d'erreur
- else {
- player.sendMessage(ChatColor.RED + prefix + "Le joueur n'est pas dans votre faction !");
- return true;
- }
- }
- }
- //si joueur pas créateur -> message d'erreur
- else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez être le créateur de la faction pour effectuer cette commande !");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac kick
- if (args[0].equalsIgnoreCase("promote")) { //debut skyfac promote
- if (this.permission.has(player, "skyfac.promote")) {
- //check si joueur dans une faction
- //joueur pas dans fac -> erreur
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- }
- // Si joueur dans une fac check si joueur est créateur de la faction
- else {
- //on récupère les information sur les factions
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = player.getName();
- int membre = this.getFactionList().getInt("Factions." + factname + ".Players");
- //on check si le joueur est le créateur
- //si joueur créateur
- if (PlayerName.equalsIgnoreCase(Owner)) {
- //check si args[1] fait parti de la fac de l'owner
- //on récupère la faction du joueur
- String FacJoueur = this.getPlayerList().getString("Players." + args[1] + ".faction");
- if (factname.equalsIgnoreCase(FacJoueur)) {
- Bukkit.dispatchCommand(player, "f promote " + args[1]);
- player.sendMessage(ChatColor.RED + prefix + "Vous avez promu " + args[1]);
- Player player2 = Bukkit.getPlayerExact(args[1]);
- if (player2 == null) { //player offline ou erreur dans le nom
- return true;
- } else { //player en ligne
- player2.sendMessage(ChatColor.RED + prefix + "Vous avez été promu dans la faction !");
- return true;
- }
- }
- //si args[1] n'est pas dans la faction -> message d'erreur
- else {
- player.sendMessage(ChatColor.RED + prefix + "Le joueur n'est pas dans votre faction !");
- return true;
- }
- }
- //si joueur pas créateur -> message d'erreur
- else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez être le créateur de la faction pour effectuer cette commande !");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac promote
- if (args[0].equalsIgnoreCase("deposit")) { //début skyfac deposit args[1]
- if (this.permission.has(player, "skyfac.deposit")) {
- if (args[1].matches("^\\p{Digit}+$")) { //si args[1 est un nombre
- int amount;
- amount = Integer.parseInt(args[1]);
- //on vérifie si le joueur est dans une faction
- //le joueur n'y est pas -> message d'erreur
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- }
- //autrement le joueur fait partie d'une faction
- else {
- //on récupère les infos de la faction
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = player.getName();
- int money = this.getFactionList().getInt("Factions." + factname + ".Money");
- int newmoney = money + amount;
- if (amount > economy.getBalance(PlayerName)) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'avez pas assez d'argent");
- return true;
- } else {
- EconomyResponse r = economy.withdrawPlayer(player, amount);
- if (r.transactionSuccess()) {
- player.sendMessage(String.format(ChatColor.GREEN + prefix + "Vous avez créditez %s à la faction " + factname + " il vous reste %s", economy.format(r.amount), economy.format(r.balance)));
- player.sendMessage(ChatColor.AQUA + prefix + "Le solde de la faction est maintenant de " + ChatColor.GREEN + newmoney + "$");
- //si economy ok alors on met a jour le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Money", newmoney);
- this.saveFactionList();
- Bukkit.dispatchCommand(player, "f money deposit " + amount);
- } else {
- player.sendMessage(ChatColor.RED + prefix + " une erreur c'est produite !" + r.errorMessage);
- }
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + " Vous devez saisir un nombre !");
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac deposit
- if (args[0].equalsIgnoreCase("withdraw")) { //début skyfac withdraw args[1]
- if (this.permission.has(player, "skyfac.withdraw")) {
- if (args[1].matches("^\\p{Digit}+$")) { //si args[1 est un nombre
- int amount;
- amount = Integer.parseInt(args[1]);
- //on vérifie si le joueur est dans une faction
- //le joueur n'y est pas -> message d'erreur
- if (this.getPlayerList().getString("Players." + player.getName()) == null) {
- player.sendMessage(ChatColor.RED + prefix + "Vous n'êtes pas dans une faction !");
- return true;
- }
- //autrement le joueur fait partie d'une faction
- else {
- //on récupère les infos de la faction
- String factname = this.getPlayerList().getString("Players." + player.getName() + ".faction");
- String Owner = this.getFactionList().getString("Factions." + factname + ".Owner");
- String PlayerName = player.getName();
- int money = this.getFactionList().getInt("Factions." + factname + ".Money");
- int newmoney = money - amount;
- //on vérifie si l'owner est bien le joueur
- if (PlayerName.equalsIgnoreCase(Owner)) {
- if (amount > money) {
- player.sendMessage(ChatColor.RED + prefix + "La faction n'a pas assez d'argent !");
- return true;
- } else {
- EconomyResponse r = economy.depositPlayer(player, amount);
- if (r.transactionSuccess()) {
- player.sendMessage(String.format(ChatColor.GREEN + prefix + "Vous avez retiré %s à la faction " + factname + " vous avez maintenant %s", economy.format(r.amount), economy.format(r.balance)));
- player.sendMessage(ChatColor.AQUA + prefix + "Le solde de la faction est maintenant de " + ChatColor.GREEN + newmoney + "$");
- //si economy ok alors on met a jour le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Money", newmoney);
- this.saveFactionList();
- Bukkit.dispatchCommand(player, "f money withdraw " + amount);
- } else {
- player.sendMessage(ChatColor.RED + prefix + " une erreur c'est produite !" + r.errorMessage);
- }
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez être le créateur de la faction pour retirer de l'argent !");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + " Vous devez saisir un nombre !");
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } //fin skyfac withdraw
- if (args[0].equalsIgnoreCase("addslot")) { //début skyfac addslot args[1] erreur
- if (this.permission.has(player, "skyfac.addslot")) {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez spécifier le nombre de slots a ajouter");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("removeslot")) { //début skyfac removeslot args[1] erreur
- if (this.permission.has(player, "skyfac.removeslot")) {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez spécifier le nombre de slots a retirer");
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "La commande est introuvable");
- Bukkit.dispatchCommand(sender, "skyfac");
- return true;
- }
- } //fin skyfac args[0] args[1]
- if (args.length == 3) {
- if (args[0].equalsIgnoreCase("addslot")) { //début skyfac addslot args[1] args[2]
- if (this.permission.has(player, "skyfac.addslot")) {
- String realfactname = this.getFactionList().getString("Factions." + args[1]);
- //on check si la faction existe
- if (realfactname.equalsIgnoreCase(null)) {
- player.sendMessage(ChatColor.RED + prefix + "Désoler la faction n'existe pas !");
- return true;
- } else { //la faction existe
- //on récupère les informations de la faction
- String factname = args[1];
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- if (args[2].matches("^\\p{Digit}+$")) {
- int addslot;
- addslot = Integer.parseInt(args[2]);
- int newslot = slot + addslot;
- //on modifie le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Slot", newslot);
- this.saveFactionList();
- player.sendMessage(ChatColor.AQUA + prefix + " Vous avez ajouté " + args[2] + " slots a la faction " + factname);
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez mettre un nombre après le nom de la faction");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- if (args[0].equalsIgnoreCase("removeslot")) { //début skyfac addslot args[1] args[2]
- if (this.permission.has(player, "skyfac.removeslot")) {
- String realfactname = this.getFactionList().getString("Factions." + args[1]);
- //on check si la faction existe
- if (realfactname.equalsIgnoreCase(null)) {
- player.sendMessage(ChatColor.RED + prefix + "Désoler la faction n'existe pas !");
- return true;
- } else { //la faction existe
- //on récupère les informations de la faction
- String factname = args[1];
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- if (args[2].matches("^\\p{Digit}+$")) {
- int addslot;
- addslot = Integer.parseInt(args[2]);
- int newslot = slot - addslot;
- //on modifie le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Slot", newslot);
- this.saveFactionList();
- player.sendMessage(ChatColor.AQUA + prefix + " Vous avez retiré " + args[2] + " slots a la faction " + factname);
- return true;
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Vous devez mettre un nombre après le nom de la faction");
- return true;
- }
- }
- } else {
- player.sendMessage(ChatColor.RED + prefix + "Désolé, vous n'avez pas la permissions de faire sa");
- return true;
- }
- }
- }
- } //fin instanceof Player
- else { //c'est une console
- if (args.length == 3) {
- if (args[0].equalsIgnoreCase("addslot")) { //début skyfac addslot args[1] args[2]
- String realfactname = this.getFactionList().getString("Factions." + args[1]);
- //on check si la faction existe
- if (realfactname.equalsIgnoreCase(null)) {
- getLogger().severe("La faction n'existe pas");
- return true;
- } else { //la faction existe
- //on récupère les informations de la faction
- String factname = args[1];
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- if (args[2].matches("^\\p{Digit}+$")) {
- int addslot;
- addslot = Integer.parseInt(args[2]);
- int newslot = slot + addslot;
- //on modifie le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Slot", newslot);
- this.saveFactionList();
- getLogger().info(" Vous avez ajouter " + args[2] + " slots a la faction " + factname);
- return true;
- } else {
- getLogger().info(" Vous devez saisir un nombre apres le nom de la faction ");
- return true;
- }
- }
- }
- if (args[0].equalsIgnoreCase("removeslot")) { //début skyfac addslot args[1] args[2]
- String realfactname = this.getFactionList().getString("Factions." + args[1]);
- //on check si la faction existe
- if (realfactname.equalsIgnoreCase(null)) {
- getLogger().severe("La faction n'existe pas");
- return true;
- } else { //la faction existe
- //on récupère les informations de la faction
- String factname = args[1];
- int slot = this.getFactionList().getInt("Factions." + factname + ".Slot");
- if (args[2].matches("^\\p{Digit}+$")) {
- int addslot;
- addslot = Integer.parseInt(args[2]);
- int newslot = slot - addslot;
- //on modifie le factionslist.yml
- this.getFactionList().set("Factions." + factname + ".Slot", newslot);
- this.saveFactionList();
- getLogger().info(" Vous avez retire " + args[2] + " slots a la faction " + factname);
- return true;
- } else {
- getLogger().info(" Vous devez saisir un nombre apres le nom de la faction ");
- return true;
- }
- }
- }
- } else if (args.length > 3) {
- getLogger().severe("Les commandes ne peuvent s'effectuer depuis la console");
- return true;
- }
- } //fin console
- return true;
- } //fin cmd Skyfac
- return false;
- } //fin boolean onCommand
- //Ajout des method pour FactionList
- public void reloadFactionList() {
- if (factionlistFile == null) {
- factionlistFile = new File(getDataFolder(), "/factionslist.yml");
- }
- factionlist = YamlConfiguration.loadConfiguration(factionlistFile);
- File factionlist = new File(getDataFolder() + "/factionslist.yml");
- if (!factionlist.exists()) {
- try {
- factionlist.createNewFile();
- getLogger().warning(version + " Creation du factionslist.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public FileConfiguration getFactionList() {
- if (factionlist == null) {
- reloadFactionList();
- }
- return factionlist;
- }
- public void saveFactionList() {
- if (factionlist == null || factionlistFile == null) {
- return;
- }
- try {
- getFactionList().save(factionlistFile);
- } catch (IOException ex) {
- getLogger().log(Level.SEVERE, "Could not save config to " + factionlistFile, ex);
- }
- }
- //Fin ajout des method pour FactionList
- //Debut ajout des methodes pour PlayerList
- public void reloadPlayerList() {
- if (playerlistFile == null) {
- playerlistFile = new File(getDataFolder(), "playerlist.yml");
- }
- playerlist = YamlConfiguration.loadConfiguration(playerlistFile);
- File playerlist = new File(getDataFolder() + "/playerlist.yml");
- if (!playerlist.exists()) {
- try {
- playerlist.createNewFile();
- getLogger().warning(version + " Creation du playerlist.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public FileConfiguration getPlayerList() {
- if (playerlist == null) {
- reloadPlayerList();
- }
- return playerlist;
- }
- public void savePlayerList() {
- if (playerlist == null || playerlistFile == null) {
- return;
- }
- try {
- getPlayerList().save(playerlistFile);
- } catch (IOException ex) {
- getLogger().log(Level.SEVERE, "Could not save config to " + playerlistFile, ex);
- }
- }
- //Fin ajout des method pour PlayerList
- //Debut ajout des methodes pour PlayerInvite
- public void reloadPlayerInvite() {
- if (playerinviteFile == null) {
- playerinviteFile = new File(getDataFolder(), "/playerinvite.yml");
- }
- playerinvite = YamlConfiguration.loadConfiguration(playerinviteFile);
- File playerinvite = new File(getDataFolder() + "/playerinvite.yml");
- if (!playerinvite.exists()) {
- try {
- playerinvite.createNewFile();
- getLogger().warning(version + " Creation du playerinvite.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public FileConfiguration getPlayerInvite() {
- if (playerinvite == null) {
- reloadPlayerInvite();
- }
- return playerinvite;
- }
- public void savePlayerInvite() {
- if (playerinvite == null || playerinviteFile == null) {
- return;
- }
- try {
- getPlayerInvite().save(playerinviteFile);
- } catch (IOException ex) {
- getLogger().log(Level.SEVERE, "Could not save config to " + playerinviteFile, ex);
- }
- }
- //Fin ajout des method pour PlayerList
- //Ajout des method pour FactionList
- public void reloadOwnerInvite() {
- if (ownerinviteFile == null) {
- ownerinviteFile = new File(getDataFolder(), "/ownerinvite.yml");
- }
- ownerinvite = YamlConfiguration.loadConfiguration(ownerinviteFile);
- File ownerinvite = new File(getDataFolder() + "/ownerinvite.yml");
- if (!ownerinvite.exists()) {
- try {
- ownerinvite.createNewFile();
- getLogger().warning(version + " Creation du ownerinvite.yml!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- public FileConfiguration getOwnerInvite() {
- if (ownerinvite == null) {
- reloadOwnerInvite();
- }
- return ownerinvite;
- }
- public void saveOwnerInvite() {
- if (ownerinvite == null || ownerinviteFile == null) {
- return;
- }
- try {
- getOwnerInvite().save(ownerinviteFile);
- } catch (IOException ex) {
- getLogger().log(Level.SEVERE, "Could not save config to " + ownerinviteFile, ex);
- }
- }
- //Fin ajout des method pour FactionList
- public void purge() { //Ajout de la fonction purge qui supprime les membres des faction inexistante
- int facexist = 0;
- int facdelete = 0;
- int playernonfact = 0;
- for (Player p: this.getServer().getOnlinePlayers()) {
- //on récupère le nom de la faction du joueur
- String pname = p.getName();
- String pseudo = this.getPlayerList().getString("Players." + pname + ".pseudo");
- //on vérifie si le joueur est dans playerlist.yml
- if (pseudo == null) { //le joueur n'est pas dans une faction
- playernonfact++;
- } else {
- String factname = this.getPlayerList().getString("Players." + pname + ".faction");
- String faclistname = this.getFactionList().getString("Factions." + factname);
- //on vérifie si la faction existe encore
- if (faclistname == null) {
- facdelete++;
- //on supprime l'entrée dans playerlist.yml
- this.getPlayerList().set("Players." + pname, null);
- this.savePlayerList();
- } else { //la faction existe encore on ne fait rien
- facexist++;
- }
- }
- }
- getLogger().warning(" Purge en cours");
- getLogger().info(playernonfact + " Joueurs sans factions lors de la purge");
- getLogger().info(facdelete + " Membres de faction inexistante supprime");
- getLogger().info(facexist + " Membres de faction existante");
- getLogger().warning(" Fin de la purge");
- return;
- }
- public void individualpurge(String player) {
- //on vérifie si le joueur a une faction
- String pseudo = this.getPlayerList().getString("Players." + player + ".pseudo");
- //si pas de faction rien
- if (pseudo == null) {
- return; //on fini ici.
- } else { //il a une faction
- //on récupère le nom de la faction depuis playerlist.yml
- String factname = this.getPlayerList().getString("Players." + player + ".faction");
- //on récupère le nom de la faction dans factionslist.yml
- String faclistname = this.getFactionList().getString("Factions." + factname);
- //on vérifie si la faction existe encore
- if (faclistname == null) {
- //on supprime l'entrée dans playerlist.yml
- this.getPlayerList().set("Players." + player, null);
- this.savePlayerList();
- return; // on fini ici
- } else { //la faction existe encore on ne fait rien
- return; //on fini ici
- }
- }
- }
- @EventHandler
- public void onPlayerJoin(PlayerJoinEvent e) { //PlayerJoinEvent est l'évènement de connexion d'un joueur sur le serveur
- Player p = e.getPlayer(); //On récupère le joueur qui vient de se connecter à partir de l'évènement
- String player = p.getName();
- this.individualpurge(player);
- }
- @EventHandler(priority = EventPriority.HIGHEST)
- public void onPreCommand(PlayerCommandPreprocessEvent e) {
- String[] args = e.getMessage().split(" ");
- if (args[0].equalsIgnoreCase("/f")) {
- Player p = e.getPlayer();
- if (this.permission.has(p, "skyfac.bypass")) {
- e.setCancelled(false);
- } else {
- e.setCancelled(true); // To keep the true command from running
- String player = p.getName();
- p.sendMessage(ChatColor.RED + prefix + "Vous ne pouvez pas faire sa!");
- }
- }
- if (args[0].equalsIgnoreCase("/is")) {
- Player p = e.getPlayer();
- if (this.permission.has(p, "skyfac.bypass")) {
- e.setCancelled(false);
- } else {
- e.setCancelled(true); // To keep the true command from running
- String player = p.getName();
- p.sendMessage(ChatColor.RED + prefix + "Vous ne pouvez pas faire sa!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement