Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package fr.maxhf.core;
- import java.io.File;
- import java.io.IOException;
- import java.math.BigDecimal;
- import java.sql.DriverManager;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.sql.Timestamp;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.List;
- import java.util.Random;
- import java.util.concurrent.Executors;
- import java.util.concurrent.ScheduledExecutorService;
- import java.util.concurrent.TimeUnit;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandSender;
- import org.bukkit.command.ConsoleCommandSender;
- 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.PlayerCommandPreprocessEvent;
- import org.bukkit.plugin.Plugin;
- import org.bukkit.plugin.java.JavaPlugin;
- import com.earth2me.essentials.Essentials;
- import com.earth2me.essentials.api.UserDoesNotExistException;
- import com.mysql.jdbc.Connection;
- import net.ess3.api.Economy;
- public class HardCore extends JavaPlugin implements Listener {
- // BASE DE DONNEE
- String url = "jdbc:mysql://" + getConfig().getString("bdd.ip") + ":" + getConfig().getInt("bdd.port") + "/"
- + getConfig().getString("bdd.database");
- String user = getConfig().getString("bdd.user");
- String passwd = getConfig().getString("bdd.password");
- private java.sql.Connection conn;
- /*
- * EXEMPLE SQL INSERT : try { Statement state = conn.createStatement();
- * state.
- * executeUpdate("INSERT INTO in_game_sync (pseudo, grade, kits) VALUES ('Maxtest', 'ADMIN', 'kITS')"
- * ); } catch (SQLException e) { // TODO Auto-generated catch block
- * e.printStackTrace(); }
- */
- // FIN BASE DE DONNEE
- // Fichier où seront stockés les joueurs ayant utilisés les commandes
- File playersfile = new File("/plugins/HardCore/players.yml");
- FileConfiguration players = YamlConfiguration.loadConfiguration(playersfile);
- public final File configfile = new File("/plugins/HardCore/config.yml");
- public FileConfiguration config;
- // FIN Fichiers
- // PREFIX
- public static final String prefix = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD + "HardAsk"
- + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.GREEN;
- public static final String prefixerror = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD
- + "HardAsk" + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_RED;
- public static final String prefixbackerror = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD
- + "HardBack" + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_RED;
- public static final String prefixlot = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD
- + "HardLoto" + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.GREEN;
- public static final String prefixinfo = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD + "HardInfo"
- + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.GREEN;
- public static final String prefixerrorinfo = ChatColor.DARK_GRAY + "[" + ChatColor.GRAY + "*" + ChatColor.GOLD
- + "HardInfo" + ChatColor.GRAY + "*" + ChatColor.DARK_GRAY + "] " + ChatColor.DARK_RED;
- public List<String> enderCooldown = new ArrayList<String>();
- // FIN PREFIX
- // VARIABLES LOTTERIE
- public List<String> lotteriePlayers = new ArrayList<String>();
- public boolean tirageon = false;
- // FIN VARIABLES LOTTERIE
- // DEBUT VARIABLES MODOS POUR COMMANDES
- public List<String> dontSendModo = new ArrayList<String>();
- // FIN VARIABLES MODOS POUR COMMANDES
- public static final ConsoleCommandSender console = Bukkit.getServer().getConsoleSender();
- // BASE DE DONNEE CONNEXION
- public void connect() {
- try {
- Class.forName("com.mysql.jdbc.Driver");
- } catch (ClassNotFoundException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- try {
- conn = DriverManager.getConnection(url, user, passwd);
- console.sendMessage("[HardCore] Connexion base de donnée effectuée");
- } catch (SQLException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- // FIN BASE DE DONNEE CONNEXION
- // LANCEMENT
- @Override
- public void onEnable() {
- connect();
- // Pour les Events
- Bukkit.getServer().getPluginManager().registerEvents(this, this);
- Bukkit.getServer().getPluginManager().registerEvents(new HardPlug(this), this);
- Bukkit.getServer().getPluginManager().registerEvents(new HardBattle(this), this);
- // Message de lancement dans la console
- getLogger().info("[HardCore] Lancement..");
- // Config
- saveDefaultConfig();
- File playersfile = new File("/plugins/HardCore/players.yml");
- config = YamlConfiguration.loadConfiguration(configfile);
- // Si la config ne contient pas de modo, on ajoute Zaw et moi
- /*
- * if (!config.contains("modos")) { config.set("modos", "Max961");
- * config.set("modos", "Zaw96"); config.set("modos", "Lezhey"); }
- */
- }
- // FIN LANCEMENT
- // FERMETURE PLUGIN
- @Override
- public void onDisable() {
- getLogger().info("[HardCore] Extinction..");
- }
- // FIN FERMETURE
- final List playerListModos = new ArrayList();
- // SI COMMANDE EXECUTEE
- @Override
- public boolean onCommand(final CommandSender sender, Command cmd, String label, final String[] args) {
- Player player = Bukkit.getPlayer(sender.getName());
- List<String> modos = getConfig().getStringList("modos");
- if (cmd.getName().equalsIgnoreCase("modolist")) {
- if (modos.size() > 0) {
- sender.sendMessage(prefix + "Liste des modérateurs HardAsk" + ChatColor.RED + " (" + modos.size() + ")"
- + ChatColor.GREEN + " :");
- for (String modo : modos) {
- sender.sendMessage(ChatColor.GREEN + "- " + ChatColor.RED + modo);
- }
- } else {
- sender.sendMessage(prefixerror + "La liste des modérateurs est vide.");
- }
- }
- if (cmd.getName().equalsIgnoreCase("modoadd")) {
- if (Bukkit.getPlayer(sender.getName()).isOp()) {
- if (args.length == 1) {
- String arg = args[0];
- if (!modos.contains(arg)) {
- modos.add(arg);
- getConfig().set("modos", modos);
- saveConfig();
- sender.sendMessage(
- prefix + ChatColor.RED + arg + ChatColor.GREEN + " a bien été ajouté à la liste.");
- } else {
- sender.sendMessage(prefixerror + "Cette personne existe déjà dans la liste.");
- }
- return true;
- }
- } else {
- sender.sendMessage(prefixerror + "Vous n'avez pas la permission d'éxécuter cela.");
- }
- }
- if (cmd.getName().equalsIgnoreCase("modoremove")) {
- if (Bukkit.getPlayer(sender.getName()).isOp()) {
- if (args.length == 1) {
- String arg = args[0];
- if (modos.contains(arg)) {
- modos.remove(arg);
- getConfig().set("modos", modos);
- saveConfig();
- sender.sendMessage(
- prefix + ChatColor.RED + arg + ChatColor.GREEN + " a bien été retiré de la liste.");
- } else {
- sender.sendMessage(
- prefixerror + "Cette personne n'est pas dans la liste (/modolist pour vérifier).");
- }
- return true;
- }
- } else {
- sender.sendMessage(prefixerror + "Vous n'avez pas la permission d'éxécuter cela.");
- }
- }
- if (cmd.getName().equalsIgnoreCase("modo")) {
- String message = "";
- for (int i = 0; i < args.length; i++) {
- String arg = args[i] + " ";
- message = message + arg;
- }
- List<String> onlinePlayerListName = new ArrayList<String>();
- for (Player p : Bukkit.getOnlinePlayers())
- onlinePlayerListName.add(p.getName());
- boolean connectedModo = false;
- if (sender instanceof Player) {
- // JOUEUR QUI EXECUTE LA COMMANDE
- // Si le joueur n'a pas encore effectué la commande.
- if (!playerListModos.contains(sender.getName())) {
- final ScheduledExecutorService exec1min = Executors.newScheduledThreadPool(1);
- exec1min.schedule(new Runnable() {
- @Override
- public void run() {
- playerListModos.remove(sender.getName());
- }
- }, 2, TimeUnit.MINUTES);
- for (String modo : modos) {
- if (onlinePlayerListName.contains(modo)) {
- connectedModo = true;
- Player modoOnline = Bukkit.getPlayer(modo);
- modoOnline.sendMessage(ChatColor.RED + "" + ChatColor.STRIKETHROUGH + "--------------------------------------------");
- modoOnline.sendMessage(prefix + "Question reçue de la part de " + ChatColor.GOLD
- + sender.getName() + ChatColor.GREEN + " :");
- modoOnline.sendMessage(ChatColor.GREEN + "- " + message);
- modoOnline.sendMessage(ChatColor.RED + "" + ChatColor.STRIKETHROUGH + "--------------------------------------------");
- }
- }
- if (connectedModo) {
- playerListModos.add(sender.getName());
- sender.sendMessage(prefix + "Demande d'aide envoyée aux modérateurs.");
- } else {
- sender.sendMessage(
- prefix + "Malheureusement aucun modérateur n'est connecté, essaye plus tard.");
- }
- }
- else {
- sender.sendMessage(prefix + ChatColor.RED
- + "Vous pouvez exécuter cette commande seulement toutes les 2 minutes.");
- }
- } else {
- // CONSOLE QUI EXECUTE LA COMMANDE
- console.sendMessage(
- prefix + ChatColor.RED + "Vous ne pouvez pas executer cette commande depuis la console.");
- }
- return true;
- }
- if (cmd.getName().equalsIgnoreCase("tirage") && player.hasPermission("hardcore.tirage")) {
- tirageon = true;
- String message = "";
- for (int i = 0; i < args.length; i++) {
- String arg = args[i] + " ";
- message = message + arg;
- }
- Bukkit.broadcastMessage(prefixlot
- + "Attention ! Tirage au sort dans 2 minutes, le gagnant remportera le lot " + ChatColor.RED
- + message + ChatColor.GREEN + ", inscrivez vous avec /loto (10$ seront déduits).");
- // Timer 1 min après
- final ScheduledExecutorService exec1min = Executors.newScheduledThreadPool(1);
- exec1min.schedule(new Runnable() {
- @Override
- public void run() {
- String message = "";
- for (int i = 0; i < args.length; i++) {
- String arg = args[i] + " ";
- message = message + arg;
- }
- Bukkit.broadcastMessage(prefixlot
- + "Attention ! Tirage au sort dans 1 minute, le gagnant remportera le lot " + ChatColor.RED
- + message + ChatColor.GREEN + ", inscrivez vous avec /loto (10$ seront déduits).");
- }
- }, 60, TimeUnit.SECONDS);
- // Timer 2 mins après
- final ScheduledExecutorService exec2mins = Executors.newScheduledThreadPool(1);
- exec2mins.schedule(new Runnable() {
- @Override
- public void run() {
- tirageon = false;
- if (lotteriePlayers.size() > 0) {
- String message = "";
- for (int i = 0; i < args.length; i++) {
- String arg = args[i] + " ";
- message = message + arg;
- }
- int nbOnlinePlayer = lotteriePlayers.size();
- Random random = new Random();
- int nbRandom = random.nextInt(nbOnlinePlayer);
- Bukkit.broadcastMessage(prefixlot + "Le joueur tiré au sort pour recevoir le lot de "
- + ChatColor.RED + message + ChatColor.GREEN + "est " + ChatColor.RED
- + lotteriePlayers.get(nbRandom) + ChatColor.GREEN + " !");
- Bukkit.getServer().dispatchCommand(getServer().getConsoleSender(),
- "kit bouffe " + lotteriePlayers.get(nbRandom));
- } else {
- Bukkit.broadcastMessage(prefixlot + ChatColor.RED
- + "Lotterie annulée, nous n'avons pas assez de participants..");
- }
- lotteriePlayers = new ArrayList<String>();
- }
- }, 120, TimeUnit.SECONDS);
- return true;
- }
- if (cmd.getName().equalsIgnoreCase("loto")) {
- if (args.length == 1) {
- if (args[0].equalsIgnoreCase("list")) {
- if (tirageon) {
- Bukkit.getPlayer(sender.getName()).sendMessage(prefixlot + "Actuellement " + ChatColor.RED
- + lotteriePlayers.size() + ChatColor.GREEN + " inscrits à la lotterie");
- } else {
- Bukkit.getPlayer(sender.getName())
- .sendMessage(prefixlot + ChatColor.RED + "Aucune lotterie n'est ouverte.");
- }
- } else {
- Bukkit.getPlayer(sender.getName())
- .sendMessage(prefixlot + ChatColor.RED + "Cette commande n'existe pas..");
- }
- } else {
- Essentials ess = (Essentials) Bukkit.getPluginManager().getPlugin("Essentials");
- if (tirageon) {
- if (!lotteriePlayers.contains(sender.getName())) {
- int money = ess.getUser(sender.getName()).getMoney().intValue();
- BigDecimal totake = new BigDecimal(10);
- if (money > 10) {
- lotteriePlayers.add(sender.getName());
- ess.getUser(sender.getName()).takeMoney(totake);
- Bukkit.getPlayer(sender.getName()).sendMessage(prefixlot
- + "Vous êtes désormais inscrit à la lotterie, veuillez attendre le tirage au sort..");
- } else {
- Bukkit.getPlayer(sender.getName()).sendMessage(prefixlot + ChatColor.RED
- + "Désolé, mais vous n'avez pas assez de sous pour participer à la lotterie..");
- }
- } else {
- Bukkit.getPlayer(sender.getName())
- .sendMessage(prefixlot + ChatColor.RED + "Vous êtes déjà inscrit à la lotterie..");
- }
- } else {
- Bukkit.getPlayer(sender.getName())
- .sendMessage(prefixlot + ChatColor.RED + "Aucune lotterie n'est ouverte.");
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement