diff --git a/src/fr/moribus/ImageOnMap/ImageOnMap.java b/src/fr/moribus/ImageOnMap/ImageOnMap.java index ed96696..381c370 100644 --- a/src/fr/moribus/ImageOnMap/ImageOnMap.java +++ b/src/fr/moribus/ImageOnMap/ImageOnMap.java @@ -10,19 +10,28 @@ import org.bukkit.plugin.java.JavaPlugin; public final class ImageOnMap extends JavaPlugin { File dossier; + boolean dossierCree; @Override public void onEnable() { dossier = new File(getDataFolder().getPath() + "/Image"); if (!dossier.exists()) { - dossier.mkdir(); + dossierCree = dossier.mkdirs(); } + else + dossierCree = true; + + if(dossierCree) + { System.out.println("Loading ImageOnMap"); getCommand("tomap").setExecutor(new ImageRenduCommande(this)); getCommand("rmmap").setExecutor(new ImageSupprCommande(this)); this.saveDefaultConfig(); ChargerMap(); + } + else + System.out.println("[ImageOnMap] An error occured ! Unable to create Image folder. Plugin will NOT work !"); } @Override diff --git a/src/fr/moribus/ImageOnMap/ImageRenduCommande.java b/src/fr/moribus/ImageOnMap/ImageRenduCommande.java index 4f38a1d..c354fd3 100644 --- a/src/fr/moribus/ImageOnMap/ImageRenduCommande.java +++ b/src/fr/moribus/ImageOnMap/ImageRenduCommande.java @@ -33,7 +33,11 @@ public class ImageRenduCommande implements CommandExecutor joueur = (Player) sender; - if(!joueur.hasPermission("imageonmap.userender") || !joueur.isOp()) + if(joueur.hasPermission("imageonmap.userender")) + { + + } + else { joueur.sendMessage("You are not allowed to use this command ( " + arg1.getName() + " )!"); return false; diff --git a/src/fr/moribus/ImageOnMap/ImageSupprCommande.java b/src/fr/moribus/ImageOnMap/ImageSupprCommande.java new file mode 100644 index 0000000..3250519 --- /dev/null +++ b/src/fr/moribus/ImageOnMap/ImageSupprCommande.java @@ -0,0 +1,67 @@ +package fr.moribus.ImageOnMap; + +import java.io.File; +import java.util.Set; + +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.Material; +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.bukkit.map.MapView; +import org.bukkit.plugin.Plugin; + +public class ImageSupprCommande implements CommandExecutor +{ + + Plugin plugin; + Player joueur; + MapView carte; + + public ImageSupprCommande(Plugin p) + { + plugin = p; + } + @SuppressWarnings("deprecation") + @Override + public boolean onCommand(CommandSender arg0, Command arg1, String arg2, + String[] arg3) + { + if (!ImgUtility.VerifierIdentite(arg0)) + return false; + joueur = (Player) arg0; + + if(!joueur.hasPermission("imageonmap.usermmap")) + { + joueur.sendMessage("You are not allowed to use this command ( " + arg1.getName() + " )!"); + return false; + } + + if(joueur.getItemInHand().getType() != Material.MAP) + { + joueur.sendMessage(ChatColor.RED + "you're not holding a map !"); + return false; + } + + carte = Bukkit.getMap(joueur.getItemInHand().getDurability()); + + Set cle = plugin.getConfig().getKeys(false); + for (String s: cle) + { + if(carte.getId() == Short.parseShort(plugin.getConfig().getStringList(s).get(0))) + { + Rendu.SupprRendu(carte); + plugin.getConfig().set(s, null); + plugin.saveConfig(); + new File("./plugins/ImageOnMap/" + s + ".png").delete(); + joueur.sendMessage("L'image a bien été supprimée"); + return true; + } + } + + return false; + } + +} \ No newline at end of file diff --git a/src/fr/moribus/ImageOnMap/ImgUtility.java b/src/fr/moribus/ImageOnMap/ImgUtility.java new file mode 100644 index 0000000..fb0d8ee --- /dev/null +++ b/src/fr/moribus/ImageOnMap/ImgUtility.java @@ -0,0 +1,26 @@ +package fr.moribus.ImageOnMap; + +import org.bukkit.ChatColor; +import org.bukkit.command.BlockCommandSender; +import org.bukkit.command.CommandSender; +import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.entity.Player; + +public class ImgUtility +{ + + // Vérifie que c'est bien un joueur qui exécute la commande + static boolean VerifierIdentite(CommandSender sender) + { + if (sender instanceof Player) + { + return true; + } + else if (sender instanceof ConsoleCommandSender) + {System.out.println(ChatColor.RED + "Cette commande ne peut être utilisée dans la console !"); return false;} + else if (sender instanceof BlockCommandSender) + {System.out.println(ChatColor.RED + "Cette commande ne peut être utilisée par un bloc-commande !"); return false;} + else + {System.out.println(ChatColor.RED + "Cette commande ne peut être lancée de cette façon !"); return false;} + } +}