Advertisement
Guest User

Untitled

a guest
Feb 26th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 KB | None | 0 0
  1. package de.skywars.main;
  2.  
  3. import java.io.ByteArrayOutputStream;
  4. import java.io.DataOutputStream;
  5. import java.io.File;
  6. import java.io.IOException;
  7. import java.util.HashMap;
  8.  
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.GameMode;
  11. import org.bukkit.Location;
  12. import org.bukkit.Sound;
  13. import org.bukkit.World;
  14. import org.bukkit.entity.Player;
  15. import org.bukkit.event.EventHandler;
  16. import org.bukkit.event.Listener;
  17. import org.bukkit.event.entity.PlayerDeathEvent;
  18. import org.bukkit.event.player.PlayerDropItemEvent;
  19. import org.bukkit.event.player.PlayerMoveEvent;
  20. import org.bukkit.event.player.PlayerPickupItemEvent;
  21. import org.bukkit.event.player.PlayerRespawnEvent;
  22. import org.bukkit.plugin.Plugin;
  23.  
  24. import de.skywars.gamestates.GameState;
  25. import de.skywars.methods.SpawnManager;
  26. import de.skywars.utils.CoinsManager;
  27. import de.skywars.utils.Data;
  28. import de.skywars.utils.Scoreboard;
  29. import de.skywars.utils.StatsManager;
  30. import net.md_5.bungee.BungeeCord;
  31. import net.md_5.bungee.api.config.ServerInfo;
  32.  
  33. public class DeathListener implements Listener{
  34. ServerInfo server = (ServerInfo) BungeeCord.getInstance().getServers().get("lobby");
  35. public static HashMap<Player, Integer> roundkills = new HashMap<Player, Integer>();
  36. public DeathListener(de.skywars.main.Main Main){
  37. this.pl = Main;
  38. }
  39.  
  40. private static de.skywars.main.Main pl;
  41. int i;
  42. int cd;
  43. int cd2;
  44. int cd7;
  45. int cdc;
  46. static String Winner;
  47. @SuppressWarnings("deprecation")
  48. @EventHandler
  49. public void onDeath(PlayerDeathEvent e){
  50. Player pa = e.getEntity();
  51. Player k = pa.getKiller();
  52.  
  53. for(Player all : Bukkit.getOnlinePlayers()){
  54. all.hidePlayer(pa);
  55. }
  56. MainListener.players.remove(e.getEntity());
  57. cdc = 12;
  58. i = 0;
  59. e.setDeathMessage(" ");
  60. if(k == null){
  61. StatsManager.addCurrentTode(pa, 1);
  62. e.getEntity().setGameMode(GameMode.SPECTATOR);
  63. e.setDeathMessage(Data.Prefix + "§6" + e.getEntity().getName() + "§e ist gestorben!");
  64.  
  65. }else{
  66. StatsManager.addCurrentKills(k, 1);
  67. roundkills.put(k, roundkills.get(k) +1);
  68. e.getEntity().getKiller().playSound(e.getEntity().getKiller().getLocation(), Sound.NOTE_PLING, 1, 1);
  69. e.setDeathMessage(Data.Prefix + "§6" + e.getEntity().getName() + "§e wurde von §6" + e.getEntity().getKiller().getName() + "§e getötet!");
  70. }
  71.  
  72. cd = Bukkit.getScheduler().scheduleSyncRepeatingTask(pl, new Runnable() {
  73.  
  74. @Override
  75. public void run() {
  76. e.getEntity().spigot().respawn();
  77. Bukkit.getScheduler().cancelTask(cd);
  78. e.getEntity().setGameMode(GameMode.SPECTATOR);
  79.  
  80. }
  81. }, 20, 4);
  82. if(e.getEntity().getKiller() != null){
  83. e.getEntity().teleport(e.getEntity().getKiller().getLocation());
  84. e.getEntity().setGameMode(GameMode.SPECTATOR);
  85.  
  86. }
  87.  
  88. if(MainListener.players.size() == 1){
  89. Player p = MainListener.players.get(0);
  90. if(Bukkit.getScheduler().isCurrentlyRunning(cd7)){
  91. Bukkit.getScheduler().cancelTask(cd7);
  92. }
  93. cd7 = Bukkit.getScheduler().scheduleAsyncRepeatingTask(pl, new Runnable() {
  94.  
  95. @Override
  96. public void run() {
  97. Bukkit.broadcastMessage(Data.Prefix + "§6Der Spieler §e" + p.getName() + "§6 hat die SkyWars-Runde §agewonnen§6!");
  98. Bukkit.getScheduler().cancelTask(cd7);
  99. }
  100. }, 20, 10);
  101. Main.gs = GameState.ENDING;
  102. for(Player all : Bukkit.getOnlinePlayers()){
  103. SpawnManager.teleportToSpawn(all);
  104. all.setGameMode(GameMode.SURVIVAL);
  105. all.getInventory().clear();
  106. all.setHealth(20);
  107. all.setFoodLevel(20);
  108. all.getInventory().setArmorContents(null);
  109. }
  110. cd2 = Bukkit.getScheduler().scheduleSyncRepeatingTask(pl, new Runnable() {
  111. @Override
  112. public void run() {
  113. cdc--;
  114. if(cdc == 10){
  115. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §610 §eSekunden neu!");
  116. Main.chestuse = false;
  117. for(Player all : Bukkit.getOnlinePlayers()){
  118. SpawnManager.teleportToSpawn(all);
  119. Scoreboard.setScoreboard(all);
  120. }
  121. Bukkit.getScheduler().scheduleSyncDelayedTask(pl, new Runnable() {
  122.  
  123. @Override
  124. public void run() {
  125. for(Player all : Bukkit.getOnlinePlayers()){
  126. Scoreboard.setScoreboard(all);
  127. }
  128. }
  129. }, 20L);
  130.  
  131. }
  132. if(cdc == 9){
  133. for(Player all : Bukkit.getOnlinePlayers()) {
  134. all.setGameMode(GameMode.SURVIVAL);
  135. all.getInventory().clear();
  136. all.setHealth(20);
  137. all.setFoodLevel(20);
  138. }
  139. }
  140. if(cdc == 5){
  141. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §65 §eSekunden neu!");
  142. }
  143. if(cdc == 4){
  144. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §64 §eSekunden neu!");
  145. }
  146. if(cdc == 3){
  147. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §63 §eSekunden neu!");
  148. }
  149. if(cdc == 2){
  150. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §62 §eSekunden neu!");
  151. }
  152. if(cdc == 1){
  153. Bukkit.broadcastMessage(Data.Prefix + "§eDer Server startet in §61 §eSekunden neu!");
  154. }
  155. if(cdc == 0){
  156.  
  157. for(Player all : Bukkit.getOnlinePlayers()){
  158. StatsManager.InsertStatsIntoMySQL(all);
  159. CoinsManager.loadHashCoinsIntoSQL(all);
  160. }
  161. World w = Main.resetWorld(new File("backup_" + Main.MapName) , new File(Main.MapName) , Main.MapName);
  162. Bukkit.shutdown();
  163.  
  164. }
  165.  
  166. }
  167. }, 20, 20);
  168. }
  169. for(Player all : Bukkit.getOnlinePlayers()){
  170. Scoreboard.setScoreboard(all);
  171. }
  172. Bukkit.broadcastMessage(Data.Prefix + "§eEs verbleiben noch §3" + MainListener.players.size() + "§e Spieler!");
  173. }
  174.  
  175. @EventHandler
  176. public void onRe(PlayerRespawnEvent e){
  177. e.getPlayer().setGameMode(GameMode.SPECTATOR);
  178. if(e.getPlayer().getKiller() != null){
  179.  
  180. e.setRespawnLocation(e.getPlayer().getKiller().getLocation());
  181. MainListener.players.remove(e.getPlayer());
  182. }
  183. }
  184.  
  185. @EventHandler
  186. public void onMove(PlayerMoveEvent e){
  187. if(e.getPlayer().getLocation().getY() < 0){
  188. e.getPlayer().damage(20.0);
  189. Location loc = e.getPlayer().getLocation();
  190. loc.setY(100);
  191. e.getPlayer().teleport(loc);
  192. }
  193. }
  194. @EventHandler
  195. public void onItem(PlayerPickupItemEvent e){
  196. if(Main.gs == GameState.INGAME){
  197. if(MainListener.players.contains(e.getPlayer())){
  198. e.setCancelled(false);
  199. }else{
  200. e.setCancelled(true);
  201. }
  202. }else{
  203. e.setCancelled(true);
  204. }
  205. }
  206. @EventHandler
  207. public void onDr(PlayerDropItemEvent e){
  208. if(Main.gs == GameState.INGAME){
  209. if(MainListener.players.contains(e.getPlayer())){
  210. e.setCancelled(false);
  211. }else{
  212. e.setCancelled(true);
  213. }
  214. }else{
  215. e.setCancelled(true);
  216. }
  217. }
  218. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement