Advertisement
Guest User

Untitled

a guest
Apr 25th, 2015
208
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 30.82 KB | None | 0 0
  1. package fr.jonhshepard.ender;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.logging.Logger;
  5.  
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.ChatColor;
  8. import org.bukkit.Difficulty;
  9. import org.bukkit.GameMode;
  10. import org.bukkit.Location;
  11. import org.bukkit.Material;
  12. import org.bukkit.Sound;
  13. import org.bukkit.WorldCreator;
  14. import org.bukkit.enchantments.Enchantment;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.inventory.Inventory;
  18. import org.bukkit.inventory.ItemStack;
  19. import org.bukkit.inventory.meta.ItemMeta;
  20. import org.bukkit.plugin.java.JavaPlugin;
  21. import org.bukkit.potion.PotionEffect;
  22. import org.bukkit.potion.PotionEffectType;
  23. import org.bukkit.scoreboard.DisplaySlot;
  24. import org.bukkit.scoreboard.Objective;
  25. import org.bukkit.scoreboard.Score;
  26. import org.bukkit.scoreboard.Scoreboard;
  27. import org.bukkit.scoreboard.ScoreboardManager;
  28.  
  29. public class Main extends JavaPlugin implements Listener {
  30.  
  31. public Logger log=Logger.getLogger("EnderWar"); //Log EnderWar
  32.  
  33. public ArrayList<Player> nokit = new ArrayList<Player>(); //Liste des joueurs n'ayants pas dee kit
  34. public ArrayList<Player> axe = new ArrayList<Player>(); //Liste des joueurs avec la hache de base
  35. public ArrayList<Player> sword = new ArrayList<Player>(); //Liste des joueurs avec l'épée vip
  36. public ArrayList<Player> axe1 = new ArrayList<Player>();//Liste des joueurs avec la hache de membre
  37. public ArrayList<Player> life3 = new ArrayList<Player>(); //Liste des joueurs ayants 3 vies
  38. public ArrayList<Player> life2 = new ArrayList<Player>(); //Liste des joueurs ayants 2 vies
  39. public ArrayList<Player> life1 = new ArrayList<Player>(); //Liste des joueurs ayants 1 vies
  40. public ArrayList<Player> deads = new ArrayList<Player>(); //Liste des joueurs morts
  41. public ArrayList<Player> used = new ArrayList<Player>(); //Liste des joueurs morts
  42. public ArrayList<Player> players = new ArrayList<Player>();
  43. public ArrayList<Player> alreadyvote = new ArrayList<Player>();
  44. public ArrayList<Player> alreadymap = new ArrayList<Player>();
  45. public ArrayList<Player> noTp = new ArrayList<Player>();
  46. public ArrayList<Integer> map = new ArrayList<Integer>();
  47. int reservedslots;
  48.  
  49. int votecount;
  50. boolean endpartie = false;
  51. boolean partie = false; //Si la partie est commencée
  52. boolean start = false;
  53. Location spawnloc; //Location de spawn et respawn
  54. Location lobbyloc;
  55. Objective obj;
  56. Scoreboard sbBoard;
  57.  
  58.  
  59.  
  60. @SuppressWarnings({ "deprecation" })
  61. public void onEnable() {
  62.  
  63. saveDefaultConfig();
  64.  
  65.  
  66.  
  67. String presentationIG =
  68. "Je joue à Minecraft depuis plus d'un an et demi et code en java (principalement des APIs liées au jeu) depuis environ 9 mois, je joue sous le pseudo de jonhshepard5 mais l'on me voit le plus souvent sous le nom JonhSHEPARD.";
  69. if(!getConfig().contains("map1.blockname")) {
  70. getConfig().set("map1.blockname", "stone");
  71. getConfig().set("map1.name", "&bnull");
  72. }
  73. if(!getConfig().contains("map2.blockname")) {
  74. getConfig().set("map2.blockname", "stone");
  75. getConfig().set("map2.name", "&bnull");
  76. }
  77. if(!getConfig().contains("map3.blockname")) {
  78. getConfig().set("map3.blockname", "stone");
  79. getConfig().set("map3.name", "&bnull");
  80. }
  81.  
  82. getServer().createWorld(new WorldCreator("map1"));
  83. getServer().createWorld(new WorldCreator("map2"));
  84. getServer().createWorld(new WorldCreator("map3"));
  85.  
  86. reloadWhitelist();
  87.  
  88. for(Player p : Bukkit.getOnlinePlayers()) {
  89. p.kickPlayer("Reload");
  90. }
  91.  
  92. getServer().getPluginManager().registerEvents(this, this);
  93. getServer().getPluginManager().registerEvents(new Events(this), this);
  94. getServer().getPluginManager().registerEvents(new Map(this), this);
  95. saveDefaultConfig();
  96.  
  97. lobbyloc = new Location(Bukkit.getWorld(getConfig().getString("lobby.world")), getConfig().getInt("lobby.x"),getConfig().getInt("lobby.y"), getConfig().getInt("lobby.z"));
  98. spawnloc = new Location(Bukkit.getWorld(getConfig().getString("spawn.world")), getConfig().getInt("spawn.x"),getConfig().getInt("spawn.y"), getConfig().getInt("spawn.z")); //Récupération dans la config de spawnloc
  99.  
  100. log.info("[EnderWar] Plugin correctement demarre"); //Message de confirmation sur la console
  101.  
  102. try {
  103. Material map1 = Material.getMaterial(getConfig().getString("map1.blockname"));
  104. Material map2 = Material.getMaterial(getConfig().getString("map2.blockname"));
  105. Material map3 = Material.getMaterial(getConfig().getString("map3.blockname"));
  106.  
  107. if(map1 == null) {
  108. log.severe("Impossible de charger le block correspondant a la map 1, verifiez la config");
  109. getServer().getPluginManager().disablePlugin(this);
  110. }
  111. if(map2 == null) {
  112. log.severe("Impossible de charger le block correspondant a la map 2, verifiez la config");
  113. getServer().getPluginManager().disablePlugin(this);
  114. }
  115. if(map3 == null) {
  116. log.severe("Impossible de charger le block correspondant a la map 3, verifiez la config");
  117. getServer().getPluginManager().disablePlugin(this);
  118. }
  119. } catch (Exception e) {
  120. e.printStackTrace();
  121. }
  122.  
  123. this.getCommand("kit").setExecutor(new Kit(this)); //Redirige la commande /kit sur la classe Kit
  124. this.getCommand("setspawn").setExecutor(new SetSpawn(this));
  125. this.getCommand("setlobby").setExecutor(new SetLobby(this));
  126. this.getCommand("start").setExecutor(new StartCmd(this));
  127. this.getCommand("whiteadd").setExecutor(new Whitelist(this));
  128. this.getCommand("whiteremove").setExecutor(new Whitelist(this));
  129. this.getCommand("listwhite").setExecutor(new Whitelist(this));
  130. this.getCommand("vote").setExecutor(new Vote(this));
  131. this.getCommand("map").setExecutor(new Map(this));
  132.  
  133. Bukkit.getWorld("world").setGameRuleValue("keepInventory", "true");
  134. Bukkit.getWorld("world").setGameRuleValue("doFireTick", "false");
  135. Bukkit.getWorld("world").setPVP(false);
  136. Bukkit.getWorld("world").setTime(0);
  137. Bukkit.getWorld("world").setSpawnLocation(spawnloc.getBlockX(), spawnloc.getBlockY(), spawnloc.getBlockZ());
  138.  
  139. ScoreboardManager sbManager = Bukkit.getScoreboardManager();
  140. sbBoard = sbManager.getNewScoreboard();
  141.  
  142. obj = sbBoard.registerNewObjective("vies", "dummy");
  143. obj.setDisplaySlot(DisplaySlot.SIDEBAR);
  144. obj.setDisplayName("§cVies");
  145.  
  146. }
  147.  
  148. public void reloadWhitelist() {
  149.  
  150. getServer().setWhitelist(false);
  151. }
  152.  
  153. public void onDisable() {
  154. saveConfig(); //Enregistre la config
  155. log.info("[EnderWar] Plugin correctement eteint"); //Message de confirmation sur la console
  156. }
  157.  
  158. public void kickPlayer(final Player player, final String message) {
  159. getServer().getScheduler().runTaskLater(this, new Runnable() {
  160. public void run() {
  161. player.kickPlayer(message);
  162. }
  163. }, 2L);
  164. }
  165.  
  166. public void noAT(final Player player) {
  167. getServer().getScheduler().runTaskLater(this, new Runnable() {
  168. public void run() {
  169. noTp.remove(player);
  170. }
  171. }, 40L);
  172. }
  173.  
  174. public double countdown = 31; //Set le temps du countdown
  175.  
  176. public void startpartie() {
  177. start = true;
  178. getServer().getScheduler().cancelAllTasks(); //Annule tous les comptes a rebours
  179. getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { //Crée un compte a rebours
  180.  
  181. @SuppressWarnings("deprecation")
  182. public void run() { //Run du compte a rebours
  183. if(start == true) {
  184. if(!(countdown == 0)) { //Si le countdown n'est pas égal à 0
  185. countdown = countdown - 1; //Enlève 1 au countdown
  186. if(countdown == 30) { //Si le countdown est égal à 30
  187. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  188. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  189. }
  190. Bukkit.broadcastMessage("§5[EnderWar] §2Démarrage dans 30 secondes"); //Message d'information
  191. }
  192. if(countdown == 15) { //Si le countdown est égal à 15
  193.  
  194. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  195. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  196. }
  197. Bukkit.broadcastMessage("§5[EnderWar] §2Démarrage dans 15 secondes"); //Message d'information
  198. }
  199. if(countdown == 10) { //Si le countdown est égal à 10
  200.  
  201. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  202. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  203. }
  204. Bukkit.broadcastMessage("§5[EnderWar] §eDémarrage dans 10 secondes"); //Message d'information
  205. }
  206. if(countdown == 5) { //Si le countdown est égal à 5
  207.  
  208. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  209. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  210. }
  211. Bukkit.broadcastMessage("§5[EnderWar] §6Démarrage dans 5 secondes"); //Message d'information
  212. }
  213. if(countdown == 3) { //Si le countdown est égal à 3
  214.  
  215. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  216. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  217. }
  218. Bukkit.broadcastMessage("§5[EnderWar] §6Démarrage dans 3 secondes"); //Message d'information
  219. }
  220. if(countdown == 2) { //Si le countdown est égal à 2
  221.  
  222. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  223. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  224. }
  225. Bukkit.broadcastMessage("§5[EnderWar] §cDémarrage dans 2 secondes"); //Message d'information
  226. }
  227. if(countdown == 1) { //Si le countdown est égal à 1
  228.  
  229. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  230. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 1); //Son d'information
  231. }
  232. Bukkit.broadcastMessage("§5[EnderWar] §cDémarrage dans 1 secondes"); //Message d'information
  233. }
  234.  
  235. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs connectés
  236. p.setExp(0); //Set l'xp à 0
  237. p.setLevel((int) countdown); //Set l'xp = countdown
  238. }
  239.  
  240. } else { //Si le countdown est à 0
  241.  
  242. selectMap();
  243. spawnloc.getWorld().setGameRuleValue("keepInventory", "true");
  244. spawnloc.getWorld().setGameRuleValue("doFireTick", "false");
  245. spawnloc.getWorld().setDifficulty(Difficulty.PEACEFUL);
  246. spawnloc.getWorld().setPVP(false);
  247.  
  248. getServer().getScheduler().cancelAllTasks(); //Fin du compte à rebours
  249.  
  250. Bukkit.broadcastMessage("§5[EnderWar] §4Go !!!"); //Message d'information
  251. Bukkit.broadcastMessage("§5[EnderWar] §4Pvp actif dans 10 secondes");
  252.  
  253. for(Player p : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs
  254.  
  255. p.teleport(spawnloc);
  256. p.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  257.  
  258. p.setScoreboard(sbBoard);
  259.  
  260. Score score = obj.getScore(p);
  261. score.setScore(3);
  262. p.playSound(p.getLocation(), Sound.NOTE_PLING, 100, 2); //Son d'information
  263.  
  264. ItemStack livre = new ItemStack(Material.WRITTEN_BOOK);
  265.  
  266. p.getInventory().remove(livre);
  267.  
  268. if(nokit.contains(p)) { //Pour les joueurs n'ayants pas de kit
  269.  
  270. axe.add(p); //ajoute le joueur dans le kit hache de base
  271. nokit.remove(p); //supprime le joueur des sans kit
  272. setBasicInv(p);
  273. setRespawnInv(p);
  274. }
  275.  
  276. }
  277.  
  278. starting(); //Lance le void starting
  279. pvp();
  280. }
  281. } else {
  282. getServer().getScheduler().cancelAllTasks();
  283. }
  284. }
  285. }, 0L, 20L); //Répète toutes les 1 secondes
  286. }
  287.  
  288. public void pvp() {
  289.  
  290. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  291.  
  292. public void run() { //Run du compte a rebours
  293.  
  294. spawnloc.getWorld().setPVP(true);
  295. partie = true; //Lance la partie
  296. Bukkit.broadcastMessage("§cPvp actif");
  297.  
  298. }
  299. }, 200L);
  300. }
  301.  
  302. public void selectMap() {
  303.  
  304. int map1 = 0;
  305. int map2 = 0;
  306. int map3 = 0;
  307.  
  308. for(int i : map) {
  309. if(i == 1) {
  310. map1 ++;
  311. } else if(i == 2) {
  312. map2++;
  313. } else if(i == 3) {
  314. map3++;
  315. }
  316. }
  317.  
  318. if(map1 == 0 && map2 == 0 && map3 == 0) {
  319. spawnloc.setWorld(getServer().getWorld("map1"));
  320. } else {
  321. if( (map1 > map2) && (map1 > map3) ) {
  322. spawnloc.setWorld(getServer().getWorld("map1"));
  323. } else if( (map2 > map1) && (map2 > map3) ) {
  324. spawnloc.setWorld(getServer().getWorld("map2"));
  325. } else {
  326. spawnloc.setWorld(getServer().getWorld("map3"));
  327. }
  328. }
  329. }
  330.  
  331. public void set10(final Player player) {
  332.  
  333. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  334.  
  335. public void run() { //Run du compte a rebours
  336.  
  337. used.add(player);
  338.  
  339. ItemStack item = new ItemStack(Material.ANVIL);
  340. ItemMeta itemMeta = item.getItemMeta();
  341. itemMeta.setDisplayName("§7Countdown for special");
  342. item.setItemMeta(itemMeta);
  343. item.setAmount(10);
  344.  
  345. player.getInventory().setItem(8, item);
  346.  
  347. set9(player);
  348. }
  349. }, 20L);
  350. }
  351.  
  352. public void set9(final Player player) {
  353.  
  354. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  355.  
  356. public void run() { //Run du compte a rebours
  357.  
  358. ItemStack item = new ItemStack(Material.ANVIL);
  359. ItemMeta itemMeta = item.getItemMeta();
  360. itemMeta.setDisplayName("§7Countdown for special");
  361. item.setItemMeta(itemMeta);
  362. item.setAmount(9);
  363.  
  364. player.getInventory().setItem(8, item);
  365.  
  366. set8(player);
  367. }
  368. }, 20L);
  369. }
  370.  
  371. public void set8(final Player player) {
  372.  
  373. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  374.  
  375. public void run() { //Run du compte a rebours
  376.  
  377. ItemStack item = new ItemStack(Material.ANVIL);
  378. ItemMeta itemMeta = item.getItemMeta();
  379. itemMeta.setDisplayName("§7Countdown for special");
  380. item.setItemMeta(itemMeta);
  381. item.setAmount(8);
  382.  
  383. player.getInventory().setItem(8, item);
  384.  
  385. set7(player);
  386. }
  387. }, 20L);
  388. }
  389.  
  390. public void set7(final Player player) {
  391.  
  392. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  393.  
  394. public void run() { //Run du compte a rebours
  395.  
  396. ItemStack item = new ItemStack(Material.ANVIL);
  397. ItemMeta itemMeta = item.getItemMeta();
  398. itemMeta.setDisplayName("§7Countdown for special");
  399. item.setItemMeta(itemMeta);
  400. item.setAmount(7);
  401.  
  402. player.getInventory().setItem(8, item);
  403.  
  404. set6(player);
  405. }
  406. }, 20L);
  407. }
  408.  
  409. public void set6(final Player player) {
  410.  
  411. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  412.  
  413. public void run() { //Run du compte a rebours
  414.  
  415. ItemStack item = new ItemStack(Material.ANVIL);
  416. ItemMeta itemMeta = item.getItemMeta();
  417. itemMeta.setDisplayName("§7Countdown for special");
  418. item.setItemMeta(itemMeta);
  419. item.setAmount(6);
  420.  
  421. player.getInventory().setItem(8, item);
  422.  
  423. set5(player);
  424. }
  425. }, 20L);
  426. }
  427.  
  428. public void set5(final Player player) {
  429.  
  430. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  431.  
  432. public void run() { //Run du compte a rebours
  433.  
  434. ItemStack item = new ItemStack(Material.ANVIL);
  435. ItemMeta itemMeta = item.getItemMeta();
  436. itemMeta.setDisplayName("§7Countdown for special");
  437. item.setItemMeta(itemMeta);
  438. item.setAmount(5);
  439.  
  440. player.getInventory().setItem(8, item);
  441.  
  442. set4(player);
  443. }
  444. }, 20L);
  445. }
  446.  
  447. public void set4(final Player player) {
  448.  
  449. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  450.  
  451. public void run() { //Run du compte a rebours
  452.  
  453. ItemStack item = new ItemStack(Material.ANVIL);
  454. ItemMeta itemMeta = item.getItemMeta();
  455. itemMeta.setDisplayName("§7Countdown for special");
  456. item.setItemMeta(itemMeta);
  457. item.setAmount(4);
  458.  
  459. player.getInventory().setItem(8, item);
  460.  
  461. set3(player);
  462. }
  463. }, 20L);
  464. }
  465.  
  466. public void set3(final Player player) {
  467.  
  468. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  469.  
  470. public void run() { //Run du compte a rebours
  471.  
  472. ItemStack item = new ItemStack(Material.ANVIL);
  473. ItemMeta itemMeta = item.getItemMeta();
  474. itemMeta.setDisplayName("§7Countdown for special");
  475. item.setItemMeta(itemMeta);
  476. item.setAmount(3);
  477.  
  478. player.getInventory().setItem(8, item);
  479.  
  480. set2(player);
  481. }
  482. }, 20L);
  483. }
  484.  
  485. public void set2(final Player player) {
  486.  
  487. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  488.  
  489. public void run() { //Run du compte a rebours
  490.  
  491. ItemStack item = new ItemStack(Material.ANVIL);
  492. ItemMeta itemMeta = item.getItemMeta();
  493. itemMeta.setDisplayName("§7Countdown for special");
  494. item.setItemMeta(itemMeta);
  495. item.setAmount(2);
  496.  
  497. player.getInventory().setItem(8, item);
  498.  
  499. set1(player);
  500. }
  501. }, 20L);
  502. }
  503.  
  504. public void set1(final Player player) {
  505.  
  506. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  507.  
  508. public void run() { //Run du compte a rebours
  509.  
  510. ItemStack item = new ItemStack(Material.ANVIL);
  511. ItemMeta itemMeta = item.getItemMeta();
  512. itemMeta.setDisplayName("§7Countdown for special");
  513. item.setItemMeta(itemMeta);
  514. item.setAmount(1);
  515.  
  516. player.getInventory().setItem(8, item);
  517.  
  518. set0(player);
  519. }
  520. }, 20L);
  521. }
  522.  
  523. public void set0(final Player player) {
  524.  
  525. this.getServer().getScheduler().runTaskLater(this, new Runnable() { //Crée un compte a rebours
  526.  
  527. public void run() { //Run du compte a rebours
  528.  
  529. used.remove(player);
  530.  
  531. player.getInventory().remove(Material.ANVIL);
  532. }
  533. }, 1L);
  534. }
  535.  
  536. @SuppressWarnings("deprecation")
  537. public void starting() {
  538.  
  539. getServer().setWhitelist(true);
  540. partie = true; //Lance la partie
  541.  
  542. for(Player player : Bukkit.getOnlinePlayers()) { //Pour tous les joueurs
  543.  
  544. getServer().dispatchCommand(getServer().getConsoleSender(), "spawnpoint " + player.getName() + " " + spawnloc.getBlockX() + " " + spawnloc.getBlockY() + " " + spawnloc.getBlockZ());
  545. int msg = 10;
  546. do {
  547. msg --;
  548. player.sendMessage(" ");
  549. }while(msg == 0);
  550.  
  551. this.life3.add(player);
  552. player.sendMessage("§4Tu as désormais 3 vies");
  553. setRespawnInv(player);
  554.  
  555. player.setLevel(0); //Set l'xp à 0
  556. player.setExp(0); //Set l'xp à 0
  557.  
  558.  
  559. ItemStack arrow = new ItemStack(Material.ARROW); //Crée un item flèche
  560. arrow.setAmount(64); //Set le total à 1 stack
  561.  
  562. player.getInventory().setItem(11, arrow); //Place 1 stack de flèche dans le slot 11
  563. player.getInventory().setItem(12, arrow); //Place 1 stack de flèche dans le slot 12
  564. player.getInventory().setItem(13, arrow); //Place 1 stack de flèche dans le slot 13
  565. player.getInventory().setItem(14, arrow); //Place 1 stack de flèche dans le slot 14
  566. player.getInventory().setItem(15, arrow); //Place 1 stack de flèche dans le slot 15
  567.  
  568. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 200, 4)); //Donne de la résistance au joueur pendant 8 sec
  569. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 200, 4)); //Donne de la régénération au joueur pendant 9 sec
  570. }
  571. }
  572.  
  573. @SuppressWarnings("deprecation")
  574. public void setRespawnInv(Player player) {
  575.  
  576. if(life3.contains(player)) { //si le joueur à 3 vies
  577.  
  578. Score score = obj.getScore(player);
  579. score.setScore(3);
  580.  
  581. player.getInventory().clear(); //Clear l'inv à un joueur
  582.  
  583. ItemStack apple = new ItemStack(Material.APPLE); //Crée un item pomme
  584. ItemMeta appleMeta = apple.getItemMeta(); ////get ItemMeta pour la pomme
  585. appleMeta.setDisplayName("§43 Vies"); //Donne le nom affiché pour la Pomme
  586. apple.setItemMeta(appleMeta); //Set ItemMeta
  587. apple.setAmount(3);
  588.  
  589. player.getInventory().setItem(0, apple); //give la hache au joueur dans le slot 4
  590.  
  591. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  592. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  593. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  594.  
  595. } else if(life2.contains(player)) { //si le joueur à 2 vies
  596.  
  597. for(Player p : Bukkit.getOnlinePlayers()) {
  598. Score score = obj.getScore(player);
  599. score.setScore(2);
  600. p.setScoreboard(sbBoard);
  601. }
  602.  
  603. player.getInventory().clear(); //Clear l'inv à un joueur
  604.  
  605. ItemStack apple = new ItemStack(Material.APPLE); //Crée un item pomme
  606. ItemMeta appleMeta = apple.getItemMeta(); ////get ItemMeta pour la pomme
  607. appleMeta.setDisplayName("§c2 Vies"); //Donne le nom affiché pour la Pomme
  608. apple.setItemMeta(appleMeta); //Set ItemMeta
  609. apple.setAmount(2);
  610.  
  611. player.getInventory().setItem(0, apple); //give la hache au joueur dans le slot 4
  612.  
  613.  
  614. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  615. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  616. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  617.  
  618. } else if(life1.contains(player)) { //si le joueur à 1 vie
  619.  
  620.  
  621. Score score = obj.getScore(player);
  622. score.setScore(1);
  623.  
  624. player.getInventory().clear(); //Clear l'inv à un joueur
  625.  
  626. ItemStack apple = new ItemStack(Material.APPLE); //Crée un item pomme
  627. ItemMeta appleMeta = apple.getItemMeta(); ////get ItemMeta pour la pomme
  628. appleMeta.setDisplayName("§61 Vie"); //Donne le nom affiché pour la Pomme
  629. apple.setItemMeta(appleMeta); //Set ItemMeta
  630. apple.setAmount(1);
  631.  
  632. player.getInventory().setItem(0, apple); //give la hache au joueur dans le slot 4
  633.  
  634.  
  635. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  636. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  637. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  638.  
  639. }
  640.  
  641. if(axe1.contains(player)) { //si le joueur à le kit membre
  642.  
  643. setBasicInv(player); //Met l'inventaire de base à un joueur
  644.  
  645. ItemStack axe1 = new ItemStack(Material.DIAMOND_AXE); //Crée un item hache en diamants
  646. ItemMeta axe1Meta = axe1.getItemMeta(); ////get ItemMeta pour la hache
  647. axe1Meta.setDisplayName("§bLe Swag"); //Donne le nom affiché pour la hache en diamant
  648. axe1.setItemMeta(axe1Meta); //Set ItemMeta
  649. axe1.addUnsafeEnchantment(Enchantment.FIRE_ASPECT, 1); //Ajoute l'enchantement sharpness 1
  650.  
  651. player.getInventory().setItem(4, axe1); //give la hache au joueur dans le slot 4
  652.  
  653. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  654. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  655. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  656.  
  657. } else if(sword.contains(player)) { //si le joueur à le kit de vip
  658.  
  659. setBasicInv(player); //Met l'inventaire de base à un joueur
  660.  
  661. ItemStack sword = new ItemStack(Material.IRON_SWORD); //Crée un item épée en fer
  662. ItemMeta swordMeta = sword.getItemMeta(); //get ItemMeta pour l'épée
  663. swordMeta.setDisplayName("§bI'm a kicker");
  664. sword.setItemMeta(swordMeta);
  665. sword.addEnchantment(Enchantment.KNOCKBACK, 2);
  666.  
  667. player.getInventory().setItem(4, sword); //give l'épée au joueur dans le slot 4
  668.  
  669. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  670. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  671. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  672.  
  673. } else if(axe.contains(player)) { //si le joueur à le kit de base
  674.  
  675. setBasicInv(player); //Met l'inventaire de base à un joueur
  676.  
  677. ItemStack axe = new ItemStack(Material.IRON_AXE); //Crée un item Hache en fer
  678. ItemMeta axeMeta = axe.getItemMeta(); //get ItemMeta pour la hache en fer
  679. axeMeta.setDisplayName("§2The Axe"); //Donne le nom affiché de la hache en fer
  680. axe.setItemMeta(axeMeta); //set ItemMeta
  681. axe.addEnchantment(Enchantment.DAMAGE_ALL, 2); //Ajoute enchantement sharpness 2
  682.  
  683. player.getInventory().setItem(4, axe); //give la Hache au joueurs dans le slot 4
  684.  
  685. player.addPotionEffect(new PotionEffect(PotionEffectType.DAMAGE_RESISTANCE, 260, 4)); //Donne de la résistance au joueur pendant 8 sec
  686. player.addPotionEffect(new PotionEffect(PotionEffectType.REGENERATION, 260, 4)); //Donne de la régénération au joueur pendant 9 sec
  687. player.addPotionEffect(new PotionEffect(PotionEffectType.SPEED, 300, 3)); //Donne de la vitesse au joueur pendant 15 sec
  688. }
  689. }
  690.  
  691. public void setBasicInv(Player player) {
  692.  
  693. Inventory inv = player.getInventory();
  694.  
  695. ItemStack bowtp = new ItemStack(Material.BOW);
  696. ItemMeta bowtpMeta = bowtp.getItemMeta();
  697. bowtpMeta.setDisplayName("§5Ender Bow");
  698. bowtp.setItemMeta(bowtpMeta);
  699.  
  700. ItemStack bow = new ItemStack(Material.BOW);
  701. ItemMeta bowMeta = bow.getItemMeta();
  702. bowMeta.setDisplayName("§cKill Bow");
  703. bow.setItemMeta(bowMeta);
  704. bow.addEnchantment(Enchantment.ARROW_DAMAGE, 5);
  705.  
  706. ItemStack boots = new ItemStack(Material.LEATHER_BOOTS);
  707. ItemMeta bootsMeta = boots.getItemMeta();
  708. boots.setItemMeta(bootsMeta);
  709. boots.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 3);
  710. boots.addEnchantment(Enchantment.PROTECTION_FALL, 4);
  711.  
  712. ItemStack chest = new ItemStack(Material.LEATHER_CHESTPLATE);
  713. ItemMeta chestMeta = chest.getItemMeta();
  714. chest.setItemMeta(chestMeta);
  715. chest.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 3);
  716.  
  717. ItemStack helmet = new ItemStack(Material.LEATHER_HELMET);
  718. ItemMeta helmetMeta = helmet.getItemMeta();
  719. helmet.setItemMeta(helmetMeta);
  720. helmet.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 3);
  721.  
  722. ItemStack leggins = new ItemStack(Material.LEATHER_LEGGINGS);
  723. ItemMeta legginsMeta = leggins.getItemMeta();
  724. leggins.setItemMeta(legginsMeta);
  725. leggins.addEnchantment(Enchantment.PROTECTION_PROJECTILE, 3);
  726.  
  727. player.getInventory().setBoots(boots);
  728. player.getInventory().setChestplate(chest);
  729. player.getInventory().setHelmet(helmet);
  730. player.getInventory().setLeggings(leggins);
  731. inv.setItem(3, bowtp);
  732. inv.setItem(5, bow);
  733. }
  734.  
  735. @SuppressWarnings("deprecation")
  736. public void death(Player player) {
  737.  
  738. player.getInventory().clear();
  739.  
  740. if(!(player.getGameMode() == GameMode.CREATIVE)) {
  741. player.sendMessage("§6Vous avez perdu");
  742. player.playSound(player.getLocation(), Sound.CREEPER_DEATH, 75, 75);
  743. player.setGameMode(GameMode.CREATIVE);
  744. }
  745.  
  746. player.getScoreboard().resetScores(player);
  747.  
  748. player.setFlying(true);
  749. player.setLevel(0);
  750. player.getInventory().clear();
  751.  
  752. if(players.contains(player)) {
  753. players.remove(player);
  754. }
  755.  
  756. for(Player p : Bukkit.getOnlinePlayers()) {
  757. if(!p.isOp()) {
  758. p.hidePlayer(player);
  759. }
  760. }
  761.  
  762. player.setPlayerListName(ChatColor.GRAY + player.getName());
  763. player.getInventory().setHelmet(new ItemStack(Material.DIAMOND_HELMET));
  764. player.getInventory().setBoots(null);
  765. player.getInventory().setChestplate(null);
  766. player.getInventory().setLeggings(null);
  767. for(Player p : deads) {
  768. p.showPlayer(player);
  769. player.showPlayer(p);
  770. }
  771.  
  772. if(players.size() == 1) {
  773. theend(players.get(0));
  774. deads.add(players.get(0));
  775. } else if(players.size() == 0) {
  776. theendnot();
  777. }
  778. }
  779.  
  780. public int end = 15; //Set le temps du countdown
  781.  
  782. @SuppressWarnings("deprecation")
  783. public void theend(Player player) {
  784. Bukkit.broadcastMessage("§4" + player.getName() + "§6 à gagné l'§5EnderWar");
  785.  
  786. for(Player p : Bukkit.getOnlinePlayers()) {
  787. if(!(p == player)) {
  788. int i = getConfig().getInt(player.getName() + ".gamesp");
  789. getConfig().set(player.getName() + ".gamesp", i + 1);
  790. }
  791. }
  792.  
  793. Bukkit.broadcastMessage("§4Reload du serveur dans 10 secondes");
  794.  
  795. partie = false;
  796. endpartie = true;
  797.  
  798. this.getServer().getScheduler().cancelAllTasks(); //Annule tous les comptes a rebours
  799.  
  800. this.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { //Crée un compte a rebours
  801.  
  802. public void run() { //Run du compte a rebours
  803.  
  804. if(!(end == 0)) { //Si le countdown n'est pas égal à 0
  805.  
  806. end = end - 1;
  807.  
  808. } else { //Si le countdown est à 0
  809.  
  810. getServer().getScheduler().cancelAllTasks(); //Fin du compte à rebours
  811. getServer().setWhitelist(false);
  812.  
  813. for(Player p : Bukkit.getOnlinePlayers()) {
  814. p.kickPlayer("");
  815. }
  816. getServer().dispatchCommand(getServer().getConsoleSender(), "reload");
  817. }
  818. }
  819. }, 0L, 20L); //Répète toutes les 1 secondes
  820. }
  821.  
  822. public int not = 3; //Set le temps du countdown
  823.  
  824. public void theendnot() {
  825. Bukkit.broadcastMessage("§4Plus de joueur dans la partie");
  826. Bukkit.broadcastMessage("§4Reload du serveur dans quelques secondes");
  827.  
  828. if(partie == true && endpartie == false) {
  829.  
  830. this.getServer().getScheduler().cancelAllTasks(); //Annule tous les comptes a rebours
  831.  
  832. this.getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() { //Crée un compte a rebours
  833.  
  834. @SuppressWarnings("deprecation")
  835. public void run() { //Run du compte a rebours
  836.  
  837. if(!(not == 0)) { //Si le countdown n'est pas égal à 0
  838.  
  839. not --;
  840.  
  841. } else { //Si le countdown est à 0
  842.  
  843. getServer().getScheduler().cancelAllTasks(); //Fin du compte à rebours
  844. getServer().setWhitelist(false);
  845. for(Player p : Bukkit.getOnlinePlayers()) {
  846. p.kickPlayer("");
  847. }
  848. getServer().dispatchCommand(getServer().getConsoleSender(), "reload");
  849. }
  850. }
  851. }, 0L, 20L); //Répète toutes les 1 secondes
  852.  
  853. }
  854. }
  855. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement