Advertisement
Guest User

Untitled

a guest
Feb 8th, 2016
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.77 KB | None | 0 0
  1. package fr.Qeed.KTP;
  2.  
  3. import java.util.Arrays;
  4. import java.util.logging.Logger;
  5.  
  6. import net.minecraft.server.v1_8_R3.MerchantRecipe;
  7.  
  8. import org.bukkit.Bukkit;
  9. import org.bukkit.ChatColor;
  10. import org.bukkit.DyeColor;
  11. import org.bukkit.GameMode;
  12. import org.bukkit.Location;
  13. import org.bukkit.Material;
  14. import org.bukkit.OfflinePlayer;
  15. import org.bukkit.Sound;
  16. import org.bukkit.World;
  17. import org.bukkit.block.Block;
  18. import org.bukkit.block.BlockState;
  19. import org.bukkit.entity.Entity;
  20. import org.bukkit.entity.EntityType;
  21. import org.bukkit.entity.Player;
  22. import org.bukkit.entity.Villager;
  23. import org.bukkit.entity.Villager.Profession;
  24. import org.bukkit.event.EventHandler;
  25. import org.bukkit.event.Listener;
  26. import org.bukkit.event.block.Action;
  27. import org.bukkit.event.block.BlockBreakEvent;
  28. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  29. import org.bukkit.event.entity.EntityDamageEvent;
  30. import org.bukkit.event.entity.EntityDeathEvent;
  31. import org.bukkit.event.player.PlayerInteractEvent;
  32. import org.bukkit.event.player.PlayerJoinEvent;
  33. import org.bukkit.event.player.PlayerQuitEvent;
  34. import org.bukkit.inventory.ItemStack;
  35. import org.bukkit.inventory.meta.ItemMeta;
  36. import org.bukkit.material.Dye;
  37. import org.bukkit.plugin.java.JavaPlugin;
  38. import org.bukkit.scheduler.BukkitRunnable;
  39. import org.bukkit.scoreboard.NameTagVisibility;
  40. import org.bukkit.scoreboard.Scoreboard;
  41. import org.bukkit.scoreboard.ScoreboardManager;
  42. import org.bukkit.scoreboard.Team;
  43. import org.bukkit.craftbukkit.v1_8_R3.entity.CraftVillager;
  44. import org.bukkit.craftbukkit.v1_8_R3.inventory.CraftItemStack;
  45.  
  46. import com.connorlinfoot.titleapi.TitleAPI;
  47. import com.google.common.io.ByteArrayDataOutput;
  48. import com.google.common.io.ByteStreams;
  49.  
  50. public class MainKTP extends JavaPlugin implements Listener{
  51.  
  52. public static ScoreboardManager sm;
  53. public static Scoreboard board;
  54. public static Team blue;
  55. public static Team red;
  56.  
  57. public static void teamParam(){
  58. blue.setAllowFriendlyFire(false);
  59. blue.setCanSeeFriendlyInvisibles(false);
  60. blue.setPrefix("§9");
  61. blue.setNameTagVisibility(NameTagVisibility.ALWAYS);
  62.  
  63. red.setAllowFriendlyFire(false);
  64. red.setCanSeeFriendlyInvisibles(false);
  65. red.setPrefix("§c");
  66. red.setNameTagVisibility(NameTagVisibility.ALWAYS);
  67. }
  68.  
  69.  
  70. static Dye la = new Dye();
  71. static Dye r = new Dye();
  72.  
  73. public static boolean pnjHasSpawn = false;
  74. public static boolean start = false;
  75.  
  76. public static Villager pnjb;
  77. public static Villager pnjbarme;
  78. public static Villager pnjbarmure;
  79. public static Villager pnjbaccesoire;
  80. public static Villager pnjbnourriture;
  81.  
  82. public static Villager pnjr;
  83. public static Villager pnjrarme;
  84. public static Villager pnjrarmure;
  85. public static Villager pnjraccesoire;
  86. public static Villager pnjrnourriture;
  87.  
  88. public static MainKTP instance;
  89. public static int variable = 0;
  90.  
  91. public static Logger debug;
  92.  
  93. @Override
  94. public void onEnable(){
  95.  
  96. getCommand("Hub").setExecutor(new Commands());
  97.  
  98. getServer().getPluginManager().registerEvents(this, this);
  99. debug = getLogger();
  100.  
  101. instance = this;
  102.  
  103. for (World w : Bukkit.getServer().getWorlds()) {
  104. for (Entity e : w.getEntities()) {
  105. e.remove();
  106.  
  107. }
  108. }
  109.  
  110. sm = Bukkit.getServer().getScoreboardManager();
  111. board = sm.getNewScoreboard();
  112. blue = board.registerNewTeam("blue");
  113. red = board.registerNewTeam("red");
  114.  
  115. teamParam();
  116.  
  117. }
  118.  
  119. @Override
  120. public void onDisable(){
  121. }
  122.  
  123. @EventHandler
  124. public void onJoin(PlayerJoinEvent e){
  125. Player p = e.getPlayer();
  126. la.setColor(DyeColor.BLUE);
  127. r.setColor(DyeColor.RED);
  128.  
  129. e.setJoinMessage("§6[§7KillthePNJ§6] " + ChatColor.GRAY + p.getName() + " §ea rejoint la partie (§6" + Bukkit.getOnlinePlayers().size() + "§e/§c4§e)");
  130.  
  131. p.setHealth(20);
  132. p.setFoodLevel(20);
  133. p.getInventory().setArmorContents(null);
  134. p.getInventory().clear();
  135.  
  136. Location location = new Location(Bukkit.getWorld("world"), -433.500D, 35.50000D, 732.500D);
  137. p.teleport(location);
  138.  
  139. ItemStack hub = new ItemStack(Material.BED);
  140. ItemMeta hubMeta = hub.getItemMeta();
  141. hubMeta.setDisplayName("§6§lHub");
  142. hubMeta.setLore(Arrays.asList("§7Retour au hub."));
  143. hub.setItemMeta(hubMeta);
  144.  
  145. ItemStack blue = la.toItemStack();
  146. ItemMeta blueMeta = blue.getItemMeta();
  147. blueMeta.setDisplayName("§9Rejoindre l'équipe bleu");
  148. blue.setAmount(1);
  149. blue.setItemMeta(blueMeta);
  150.  
  151. ItemStack red1 = r.toItemStack();
  152. ItemMeta redMeta = red1.getItemMeta();
  153. redMeta.setDisplayName("§cRejoindre l'équipe rouge");
  154. red1.setAmount(1);
  155. red1.setItemMeta(redMeta);
  156.  
  157. p.getInventory().setItem(8, hub);
  158. p.getInventory().setItem(0, blue);
  159. p.getInventory().setItem(1, red1);
  160. p.updateInventory();
  161.  
  162. getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
  163.  
  164. Bukkit.getServer().getWorld("world").setPVP(false);
  165.  
  166. }
  167.  
  168. @EventHandler
  169. public void onQuit(PlayerQuitEvent e){
  170. Player p = e.getPlayer();
  171. e.setQuitMessage(" ");
  172. for (Team t : board.getTeams()) {
  173. if (t.hasPlayer(p))
  174. t.removePlayer(p);
  175. }
  176. }
  177.  
  178. @EventHandler
  179. public void onDamage(EntityDamageByEntityEvent e){
  180. if (!(e.getDamager() instanceof Player))
  181. return;
  182. Player p = (Player) e.getDamager();
  183. if(e.getEntityType().equals(EntityType.VILLAGER)){
  184. if (e.getEntity().isCustomNameVisible()) {
  185. if (e.getEntity().getCustomName().contains("§9")) {
  186. if (blue.hasPlayer(p)) {
  187. e.setCancelled(true);
  188. p.sendMessage("§eAïe ! Pourquoi tu me tape je tes rien fait moi :(.");
  189. p.playSound(p.getLocation(), Sound.VILLAGER_HIT, 1.0F, 1.0F);
  190. }
  191. }
  192.  
  193.  
  194.  
  195. if(e.getEntityType().equals(EntityType.VILLAGER)){
  196. if (e.getEntity().isCustomNameVisible()) {
  197. if (e.getEntity().getCustomName().contains("§c")) {
  198. if (red.hasPlayer(p)) {
  199. e.setCancelled(true);
  200. p.sendMessage("§eAïe ! Pourquoi tu me tape je tes rien fait moi :(.");
  201. p.playSound(p.getLocation(), Sound.VILLAGER_HAGGLE, 1.0F, 1.0F);
  202. }
  203. }
  204.  
  205.  
  206.  
  207. pnjb.setCustomName("§7[§9" + String.valueOf((int) pnjb.getHealth()) + "§7]");
  208. pnjr.setCustomName("§7[§c" + String.valueOf((int) pnjr.getHealth()) + "§7]");
  209.  
  210. }
  211. }
  212. }
  213. }
  214. }
  215.  
  216. @EventHandler
  217. public void onDamageEvent(EntityDamageEvent e){
  218. if(e.getEntityType().toString() == EntityType.VILLAGER.toString()){
  219. pnjb.setCustomName("§7[§9" + String.valueOf((int) pnjb.getHealth()) + "§7]");
  220. pnjr.setCustomName("§7[§c" + String.valueOf((int) pnjr.getHealth()) + "§7]");
  221. }
  222. }
  223.  
  224.  
  225. @EventHandler
  226. public void onI(PlayerInteractEvent e) {
  227. Player p = e.getPlayer();
  228.  
  229. if(e.getItem() != null && e.getItem().getType() == Material.BED &&
  230. (e.getAction() == Action.RIGHT_CLICK_AIR ||
  231. e.getAction() == Action.RIGHT_CLICK_BLOCK)){
  232. ByteArrayDataOutput out = ByteStreams.newDataOutput();
  233. out.writeUTF("Connect");
  234. out.writeUTF("Hub");
  235. p.sendPluginMessage(Bukkit.getPluginManager().getPlugin("KTP"), "BungeeCord", out.toByteArray());
  236. }
  237. }
  238. @SuppressWarnings("deprecation")
  239. @EventHandler
  240. public void onI2(PlayerInteractEvent e){
  241. final Player p = e.getPlayer();
  242. ItemStack is = e.getItem();
  243. Action a = e.getAction();
  244.  
  245. if ((a == Action.RIGHT_CLICK_AIR)){
  246. if (is.getType().equals(Material.INK_SACK)){
  247. if(is.getDurability() == (short) 4){
  248. if(blue.hasPlayer(p)){
  249.  
  250.  
  251. }else{
  252. red.removePlayer(p);
  253. blue.addPlayer(p);
  254. p.sendMessage("§6[§7KillthePNJ§6] §eVous rejoignez l'équipe §9Bleu");
  255. p.setPlayerListName(ChatColor.BLUE + p.getDisplayName());
  256. }
  257. }
  258. if(is.getDurability() == (short) 1){
  259. if(red.hasPlayer(p)){
  260.  
  261.  
  262. }else{
  263. blue.removePlayer(p);
  264. red.addPlayer(p);
  265. p.sendMessage("§6[§7KillthePNJ§6] §eVous rejoignez l'équipe §cRouge");
  266. p.setPlayerListName(ChatColor.RED + p.getDisplayName());
  267. }
  268. }
  269. }
  270. }
  271.  
  272. if(MainKTP.variable == 0){
  273. if(blue.getSize() >= 1){
  274. MainKTP.variable = 3;
  275. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 15 secondes");
  276. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable(){
  277.  
  278. public void run(){
  279.  
  280. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 1 secondes");
  281.  
  282. for (Player allplayer : Bukkit.getOnlinePlayers()){
  283.  
  284. allplayer.playSound(allplayer.getLocation(), Sound.NOTE_PIANO, 1.0F, 1.0F);
  285. TitleAPI.sendFullTitle(allplayer, 20, 20, 20, "&61", "");
  286. }
  287.  
  288. Location locationpnjvieblue = new Location(Bukkit.getWorld("world"), -433.500D, 6.0D, 805.500D);
  289. pnjb = (Villager) p.getWorld().spawnEntity(locationpnjvieblue, EntityType.VILLAGER);
  290. pnjb.setCustomNameVisible(true);
  291. pnjb.setMaxHealth(1000);
  292. pnjb.setHealth(1000);
  293. pnjb.setCustomName("§7[§91000§7]");
  294. pnjb.setProfession(Profession.LIBRARIAN);
  295. ((CraftVillager) pnjb).getHandle().getOffers(null).clear();ItemStack coal = new ItemStack(Material.INK_SACK, 16);
  296. ItemStack blocbleu = new ItemStack(Material.STAINED_CLAY, 2, (short) 11);
  297. ItemStack glass = new ItemStack(Material.GLASS, 16);
  298. ((CraftVillager) pnjb).getHandle().getOffers(null).add(new MerchantRecipe(CraftItemStack.asNMSCopy(blocbleu), CraftItemStack.asNMSCopy(glass)));
  299.  
  300.  
  301. pnjbarme = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -433.500D, 2.0D, 800.500D, -3/10, 22/10), EntityType.VILLAGER);
  302. pnjbarme.setCustomName("§e[§9§lArmurerie§e]");
  303.  
  304. pnjbarmure = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -428.500D, 2.0D, 805.500D, 898/10, 7/10), EntityType.VILLAGER);
  305. pnjbarmure.setCustomName("§e[§9§lEquipement§e]");
  306.  
  307. pnjbaccesoire = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -433.500D, 2.0D, 810.500D, 1799/10, 28/10), EntityType.VILLAGER);
  308. pnjbaccesoire.setCustomName("§e[§9§lAccessoiriste§e]");
  309.  
  310. pnjbnourriture = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -438.500D, 2.0D, 805.500D, -905/10, -12/10), EntityType.VILLAGER);
  311. pnjbnourriture.setCustomName("§e[§9§lMarchand§e]");
  312.  
  313.  
  314. //-----------------------------------------------//
  315.  
  316.  
  317. Location locationpnjvierouge = new Location(Bukkit.getWorld("world"), -433.500D, 6.0D, 658.500D, -1798/10, 9/10);
  318. pnjr = (Villager) p.getWorld().spawnEntity(locationpnjvierouge, EntityType.VILLAGER);
  319. pnjr.setCustomNameVisible(true);
  320. pnjr.setMaxHealth(1000);
  321. pnjr.setHealth(1000);
  322. pnjr.setCustomName("§7[§c1000§7]");
  323.  
  324. pnjrarme = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -433.500D, 2.0D, 663.500D, 1797/10, -5/10), EntityType.VILLAGER);
  325. pnjrarme.setCustomName("§e[§c§lArmurerie§e]");
  326.  
  327. pnjrarmure = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -438.500D, 2.0D, 658.500D, -915/10, -13/10), EntityType.VILLAGER);
  328. pnjrarmure.setCustomName("§e[§c§lEquipement§e]");
  329.  
  330. pnjraccesoire = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -433.500D, 2.0D, 653.500D), EntityType.VILLAGER);
  331. pnjraccesoire.setCustomName("§e[§c§lAccessoiriste§e]");
  332.  
  333. pnjrnourriture = (Villager) p.getWorld().spawnEntity(new Location(Bukkit.getWorld("world"), -428.500D, 2.0D, 658.500D, 908/10, 4/10), EntityType.VILLAGER);
  334. pnjrnourriture.setCustomName("§e[§c§lMarchand§e]");
  335.  
  336. pnjHasSpawn = true;
  337. Bukkit.getServer().dispatchCommand(Bukkit.getServer().getConsoleSender(), "entitydata @e[type=Villager] {NoAI:true}");
  338. //
  339.  
  340. }
  341. }, 280L);
  342.  
  343. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  344. {
  345. public void run()
  346. {
  347. Bukkit.broadcastMessage("§6-----------------------------------------------------");
  348. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eLa partie commence !");
  349. Bukkit.broadcastMessage("§6-----------------------------------------------------");
  350.  
  351. for (Player allplayer : Bukkit.getOnlinePlayers())
  352. {
  353. TitleAPI.sendFullTitle(allplayer, 20, 100, 40, "§6Little§amc", "§7§oKill the pnj");
  354. }
  355.  
  356. Location locationbleu = new Location(Bukkit.getWorld("world"), -433.500D, 6.0D, 833.500D);
  357. for(OfflinePlayer bleuplayer : blue.getPlayers()){
  358. bleuplayer.getPlayer().teleport(locationbleu);
  359. }
  360.  
  361. Location locationrouge = new Location(Bukkit.getWorld("world"), -433.500D, 6.0D, 630.500D);
  362. for(OfflinePlayer rougelocation : red.getPlayers()){
  363. rougelocation.getPlayer().teleport(locationrouge);
  364. }
  365.  
  366. Bukkit.getServer().getWorld("world").setPVP(true);
  367.  
  368. }
  369. }, 300L);
  370.  
  371.  
  372. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  373. {
  374. public void run()
  375. {
  376. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 2 secondes");
  377. for (Player allplayer : Bukkit.getOnlinePlayers())
  378. {
  379. allplayer.playSound(allplayer.getLocation(), Sound.NOTE_PIANO, 1.0F, 1.0F);
  380. TitleAPI.sendFullTitle(allplayer, 20, 20, 20, "&62", "");
  381. }
  382. }
  383. }, 260L);
  384.  
  385.  
  386. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  387. {
  388. public void run()
  389. {
  390. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 3 secondes");
  391. for (Player allplayer : Bukkit.getOnlinePlayers())
  392. {
  393. allplayer.playSound(allplayer.getLocation(), Sound.NOTE_PIANO, 1.0F, 1.0F);
  394. TitleAPI.sendFullTitle(allplayer, 20, 20, 20, "&63", "");
  395. }
  396. }
  397. }, 240L);
  398.  
  399.  
  400. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  401. {
  402. public void run()
  403. {
  404. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 4 secondes");
  405. for (Player allplayer : Bukkit.getOnlinePlayers())
  406. {
  407. allplayer.playSound(allplayer.getLocation(), Sound.NOTE_PIANO, 1.0F, 1.0F);
  408. TitleAPI.sendFullTitle(allplayer, 20, 20, 20, "&64", "");
  409. }
  410. }
  411. }, 220L);
  412.  
  413.  
  414. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  415. {
  416. public void run()
  417. {
  418. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 5 secondes");
  419. for (Player allplayer : Bukkit.getOnlinePlayers())
  420. {
  421. allplayer.playSound(allplayer.getLocation(), Sound.NOTE_PIANO, 1.0F, 1.0F);
  422. TitleAPI.sendFullTitle(allplayer, 20, 20, 20, "&65", "");
  423.  
  424. }
  425. }
  426. }, 200L);
  427.  
  428.  
  429. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  430. {
  431. public void run()
  432. {
  433. Bukkit.broadcastMessage("§6[§7KillthePNJ§6] §eDébut de la partie dans 10 secondes");
  434. }
  435. }, 100L);
  436.  
  437.  
  438. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  439. {
  440. public void run()
  441. {
  442. for (Player allplayer : Bukkit.getOnlinePlayers()){
  443. allplayer.setGameMode(GameMode.SURVIVAL);
  444. allplayer.playSound(allplayer.getLocation(), Sound.LEVEL_UP, 1.0F, 1.0F);
  445. allplayer.getInventory().clear();
  446. allplayer.setHealth(20);
  447. }
  448. }
  449. }, 300L);
  450. }
  451. }
  452. }
  453.  
  454. @EventHandler
  455. public void death(EntityDeathEvent e) {
  456. if (!e.getEntity().getType().equals(EntityType.VILLAGER))
  457. return;
  458. if (!e.getEntity().isCustomNameVisible())
  459. return;
  460. if (e.getEntity().getCustomName().startsWith("§7[§9")) {
  461. Bukkit.broadcastMessage("§a§k|§c§k|§b§k|§r §e§lFélicitation l'équipe §cRouge l'emporte ! §a§k|§c§k|§b§k|");
  462. for (final Player allplayer : Bukkit.getOnlinePlayers())
  463. {
  464. TitleAPI.sendFullTitle(allplayer, 20, 100, 40, "§a§k|§c§k|§b§k|§r §e§lFélicitation §a§k|§c§k|§b§k|", "§fLes §crouges §font gagné !");
  465. allplayer.setAllowFlight(true);
  466. allplayer.setFlying(true);
  467. allplayer.setGameMode(GameMode.SPECTATOR);
  468.  
  469. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  470. {
  471. public void run()
  472. {
  473. ByteArrayDataOutput out = ByteStreams.newDataOutput();
  474. out.writeUTF("Connect");
  475. out.writeUTF("hub");
  476. allplayer.sendPluginMessage(Bukkit.getPluginManager().getPlugin("KTP"), "BungeeCord", out.toByteArray());
  477. allplayer.sendMessage("§6§l-----§7[§aInfo de jeux§7]§6§l-----");
  478. allplayer.sendMessage("§eKill(s): §f?");
  479. allplayer.sendMessage("§eMort(s): §f?");
  480. allplayer.sendMessage("§eCoins remporté: §f0.0");
  481. allplayer.sendMessage("§6§l---------------------");
  482. Bukkit.getServer().shutdown();
  483. }
  484. }, 100L);
  485.  
  486. }
  487. } else if (e.getEntity().getCustomName().startsWith("§7[§c")) {
  488. Bukkit.broadcastMessage("§a§k|§c§k|§b§k|§r §e§lFélicitation l'équipe §9Bleu l'emporte ! §a§k|§c§k|§b§k|");
  489. for (final Player allplayer : Bukkit.getOnlinePlayers())
  490. {
  491. TitleAPI.sendFullTitle(allplayer, 20, 100, 40, "§a§k|§c§k|§b§k|§r §e§lFélicitation §a§k|§c§k|§b§k|", "§fLes §9bleu §font gagné !");
  492. allplayer.setAllowFlight(true);
  493. allplayer.setFlying(true);
  494. allplayer.setGameMode(GameMode.SPECTATOR);
  495.  
  496. Bukkit.getScheduler().scheduleSyncDelayedTask(MainKTP.instance, new Runnable()
  497. {
  498. public void run()
  499. {
  500. ByteArrayDataOutput out = ByteStreams.newDataOutput();
  501. out.writeUTF("Connect");
  502. out.writeUTF("hub");
  503. allplayer.sendPluginMessage(Bukkit.getPluginManager().getPlugin("KTP"), "BungeeCord", out.toByteArray());
  504. allplayer.sendMessage("§6§l-----§7[§aInfo de jeux§7]§6§l-----");
  505. allplayer.sendMessage("§eKill(s): §f?");
  506. allplayer.sendMessage("§eMort(s): §f?");
  507. allplayer.sendMessage("§eCoins remporté: §f0.0");
  508. allplayer.sendMessage("§6§l---------------------");
  509. Bukkit.getServer().shutdown();
  510. }
  511. }, 100L);
  512.  
  513. }
  514. }
  515. }
  516.  
  517.  
  518. @EventHandler
  519. public void onBlockBreak(BlockBreakEvent event)
  520. {
  521. final Player p = event.getPlayer();
  522. Block b = event.getBlock();
  523.  
  524. if (b.getType().equals(Material.STAINED_CLAY)){
  525. if(b.getData() == (short) 11){
  526. if(blue.hasPlayer(p)){
  527.  
  528. ItemStack bleu = new ItemStack(Material.STAINED_CLAY, 1, (short) 11);
  529. ItemMeta bleuMeta = bleu.getItemMeta();
  530. bleuMeta.setDisplayName("§7§oEchange moi à ton pnj !");
  531. bleu.setItemMeta(bleuMeta);
  532.  
  533. p.getInventory().addItem(bleu);
  534.  
  535. p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 1.0F, 1.0F);
  536.  
  537. Location l = new Location(Bukkit.getWorld("world"), -434.0D, 6.0D, 836.0D);
  538.  
  539. event.setCancelled(true);
  540.  
  541. if(!b.getLocation().equals(l)){
  542. b.setType(Material.AIR);
  543. }
  544.  
  545. }else{
  546.  
  547. Location l = new Location(Bukkit.getWorld("world"), -434.0D, 6.0D, 627.0D);
  548.  
  549. if(b.getLocation().equals(l)){
  550. final BlockState state = b.getState();
  551. new BukkitRunnable() {
  552. @Override
  553. public void run() {
  554. state.update(true);
  555. p.sendMessage("§cVous n'avez pas le droit de casser de bloc !");
  556. }
  557. }.runTaskLater(this, 5L);
  558. }
  559.  
  560. }
  561.  
  562. }
  563. }
  564.  
  565. if (b.getType().equals(Material.STAINED_CLAY)){
  566. if(b.getData() == (short) 14){
  567. if(red.hasPlayer(p)){
  568.  
  569. ItemStack red = new ItemStack(Material.STAINED_CLAY, 1, (short) 14);
  570. ItemMeta redMeta = red.getItemMeta();
  571. redMeta.setDisplayName("§7§oEchange moi à ton pnj !");
  572. red.setItemMeta(redMeta);
  573.  
  574. p.getInventory().addItem(red);
  575.  
  576. p.playSound(p.getLocation(), Sound.ITEM_PICKUP, 1.0F, 1.0F);
  577.  
  578. Location l = new Location(Bukkit.getWorld("world"), -434.0D, 6.0D, 627.0D);
  579.  
  580. event.setCancelled(true);
  581.  
  582. if(!b.getLocation().equals(l)){
  583. b.setType(Material.AIR);
  584. }
  585. }else{
  586.  
  587.  
  588. Location l = new Location(Bukkit.getWorld("world"), -433.500D, 6.0D, 836.500D);
  589. if(b.getLocation().equals(l)){
  590. final BlockState state = b.getState();
  591. new BukkitRunnable() {
  592. @Override
  593. public void run() {
  594. state.update(true);
  595. p.sendMessage("§cVous n'avez pas le droit de casser de bloc !");
  596. }
  597. }.runTaskLater(this, 5L);
  598. }
  599. }
  600.  
  601. }
  602.  
  603. }
  604.  
  605. if (b.getType().equals(Material.CHEST)){
  606.  
  607. if(red.hasPlayer(p) && blue.hasPlayer(p)){
  608.  
  609. }else{
  610.  
  611. p.sendMessage("§cCe block vous sera inutile !");
  612. event.setCancelled(true);
  613.  
  614. }
  615.  
  616. }
  617.  
  618. if (b.getType().equals(Material.GLOWSTONE)){
  619.  
  620. if(red.hasPlayer(p) && blue.hasPlayer(p)){
  621.  
  622. }else{
  623.  
  624. p.sendMessage("§cCe block vous sera inutile !");
  625. event.setCancelled(true);
  626.  
  627. }
  628.  
  629. }
  630.  
  631. if (b.getType().equals(Material.DRAGON_EGG)){
  632.  
  633. if(red.hasPlayer(p) && blue.hasPlayer(p)){
  634.  
  635. }else{
  636.  
  637. p.sendMessage("§cCe block vous sera inutile !");
  638. event.setCancelled(true);
  639.  
  640. }
  641.  
  642. }
  643.  
  644. }
  645.  
  646. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement