Ajout d'une vérification à la création du dossier Image

This commit is contained in:
Coutume 2013-10-02 01:49:39 +02:00
parent aa9c7df875
commit d5b5868a5d
4 changed files with 108 additions and 2 deletions

View File

@ -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

View File

@ -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;

View File

@ -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<String> 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;
}
}

View File

@ -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;}
}
}