Advertisement
Guest User

Untitled

a guest
Mar 27th, 2016
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.63 KB | None | 0 0
  1. package me.cris_1998.lobbyplugin;
  2.  
  3. import java.io.PrintStream;
  4. import java.security.MessageDigest;
  5. import java.security.NoSuchAlgorithmException;
  6. import org.bukkit.Bukkit;
  7. import org.bukkit.Location;
  8. import org.bukkit.Material;
  9. import org.bukkit.Server;
  10. import org.bukkit.command.Command;
  11. import org.bukkit.command.CommandSender;
  12. import org.bukkit.entity.Player;
  13. import org.bukkit.event.EventHandler;
  14. import org.bukkit.event.Listener;
  15. import org.bukkit.event.block.Action;
  16. import org.bukkit.event.entity.PlayerDeathEvent;
  17. import org.bukkit.event.inventory.InventoryClickEvent;
  18. import org.bukkit.event.player.AsyncPlayerChatEvent;
  19. import org.bukkit.event.player.PlayerDropItemEvent;
  20. import org.bukkit.event.player.PlayerInteractEvent;
  21. import org.bukkit.event.player.PlayerJoinEvent;
  22. import org.bukkit.event.player.PlayerQuitEvent;
  23. import org.bukkit.inventory.Inventory;
  24. import org.bukkit.inventory.ItemStack;
  25. import org.bukkit.inventory.PlayerInventory;
  26. import org.bukkit.inventory.meta.ItemMeta;
  27. import org.bukkit.plugin.PluginManager;
  28. import org.bukkit.plugin.java.JavaPlugin;
  29.  
  30. public class main
  31. extends JavaPlugin
  32. implements Listener
  33. {
  34. private int chat = 1;
  35.  
  36. public void onEnable()
  37. {
  38. MYSQL.connect();
  39. System.out.println("[Lobby] Plugin gestartet");
  40. Bukkit.getServer().getPluginManager().registerEvents(this, this);
  41. }
  42.  
  43. public void onDisable()
  44. {
  45. MYSQL.disconnect();
  46. System.out.println("[Lobby] Plugin gestoppt");
  47. }
  48.  
  49. String prefix = "�7[�4�lTime�3-�6Lapse�7] �6";
  50.  
  51. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] arg)
  52. {
  53. Player p = null;
  54. if ((sender instanceof Player)) {
  55. p = (Player)sender;
  56. }
  57. if (cmd.getName().equalsIgnoreCase("cc"))
  58. {
  59. if (p.hasPermission("lobby.clear"))
  60. {
  61. for (int i = 0; i <= 500; i++) {
  62. Bukkit.broadcastMessage("");
  63. }
  64. Bukkit.broadcastMessage("\t�c�l" + p.getName() + "�a hat den Chat geleert.");
  65. return true;
  66. }
  67. p.sendMessage("�4Du hast keinen Zugriff auf diesen Befehl.");
  68. return true;
  69. }
  70. if ((cmd.getName().equalsIgnoreCase("cm")) &&
  71. (p.hasPermission("lobby.mute")))
  72. {
  73. if (this.chat == 1)
  74. {
  75. this.chat = 0;
  76. p.sendMessage("�4Du hast den Chat gesperrt.");
  77. return true;
  78. }
  79. this.chat = 1;
  80. p.sendMessage("�4Du hat den Chat entsperrt.");
  81. return true;
  82. }
  83. if (cmd.getName().equalsIgnoreCase("lobby"))
  84. {
  85. if (arg.length == 0)
  86. {
  87. p.sendMessage("�a========[�6LobbyPlugin�a]========");
  88. p.sendMessage("�6Version: v1.1");
  89. p.sendMessage("�6Eine Idee von Cris_1998.");
  90. p.sendMessage("�a===========================");
  91. return true;
  92. }
  93. if ((arg.length == 1) && (arg[0].equalsIgnoreCase("get")))
  94. {
  95. getItems(p);
  96. p.sendMessage("�4[�6Lobby�4] �6Du hast die Items erhalten.");
  97. return true;
  98. }
  99. }
  100. if (cmd.getName().equalsIgnoreCase("password"))
  101. {
  102. if (arg.length == 0)
  103. {
  104. p.sendMessage("�4[�6Time-Lapse�4] �6Benutze: /password <passwort> <passwort wiederhohlen>");
  105. return true;
  106. }
  107. if (arg.length == 1)
  108. {
  109. p.sendMessage("�4[�6Time-Lapse�4] �6Bitte gib das Passwort 2 mal ein.");
  110. return true;
  111. }
  112. if (arg.length == 2)
  113. {
  114. if (arg[0].equals(arg[1]))
  115. {
  116. String original = arg[0];
  117. MessageDigest md = null;
  118. try
  119. {
  120. md = MessageDigest.getInstance("MD5");
  121. }
  122. catch (NoSuchAlgorithmException e)
  123. {
  124. e.printStackTrace();
  125. }
  126. md.update(original.getBytes());
  127. byte[] digest = md.digest();
  128. StringBuffer sb = new StringBuffer();
  129. byte[] arrayOfByte1;
  130. int j = (arrayOfByte1 = digest).length;
  131. for (int i = 0; i < j; i++)
  132. {
  133. byte b = arrayOfByte1[i];
  134. sb.append(String.format("%02x", new Object[] { Integer.valueOf(b & 0xFF) }));
  135. }
  136. String pw = sb.toString();
  137.  
  138. MYSQL.update("UPDATE users SET password='" + pw + "' WHERE username='" + p.getName() + "' AND UUID='" + p.getUniqueId() + "'");
  139. p.sendMessage("�4[�6Time-Lapse�4] �6Dein Passwort wurde erfolgreich gesetzt. Du kannst dich nun mit deinem Minecraft Benutzername und deinem so eben eingegebenen Passwort auf unserer Homepage anmelden.");
  140. return true;
  141. }
  142. p.sendMessage("�4[�6Time-Lapse�4] �6Die Passw�rter stimmen nicht �bereinander.");
  143. return true;
  144. }
  145. if (arg.length > 2)
  146. {
  147. p.sendMessage("�4[�6Time-Lapse�4] �6Zu viele Argumente!");
  148. return true;
  149. }
  150. }
  151. return false;
  152. }
  153.  
  154. @EventHandler
  155. public void onJoin(PlayerJoinEvent e)
  156. {
  157. Player p = e.getPlayer();
  158. MYSQL.update("ALTER TABLE users ADD UNIQUE (username, UUID)");
  159. MYSQL.update("INSERT IGNORE INTO users (`username`,`UUID`) VALUES ('" + p.getName() + "', '" + p.getUniqueId() + "')");
  160. e.setJoinMessage(null);
  161.  
  162. getItems(p);
  163. }
  164.  
  165. private void getItems(Player p)
  166. {
  167. p.getInventory().clear();
  168. p.updateInventory();
  169. ItemStack hide = new ItemStack(Material.SLIME_BALL);
  170. ItemMeta meta = hide.getItemMeta();
  171. meta.setDisplayName("�aSpieler ausschalten");
  172. hide.setItemMeta(meta);
  173.  
  174. ItemStack bau = new ItemStack(Material.DIAMOND_PICKAXE);
  175. ItemMeta bmeta = bau.getItemMeta();
  176. bmeta.setDisplayName("�3Zum Bauserver teleportieren");
  177. bau.setItemMeta(bmeta);
  178.  
  179. ItemStack fly = new ItemStack(Material.STICK);
  180. ItemMeta fmeta = fly.getItemMeta();
  181. fmeta.setDisplayName("�6Flugmodus Aktivieren");
  182. fly.setItemMeta(fmeta);
  183.  
  184. ItemStack compass = new ItemStack(Material.COMPASS);
  185. ItemMeta cmeta = compass.getItemMeta();
  186. cmeta.setDisplayName("�eTeleporter");
  187. compass.setItemMeta(cmeta);
  188.  
  189. p.getInventory().setItem(8, hide);
  190. if (p.hasPermission("lobby.bauserver")) {
  191. p.getInventory().setItem(3, bau);
  192. }
  193. if (p.hasPermission("lobby.fly")) {
  194. p.getInventory().setItem(4, fly);
  195. }
  196. p.getInventory().setItem(0, compass);
  197. p.updateInventory();
  198. for (Player all : Bukkit.getOnlinePlayers()) {
  199. p.showPlayer(all);
  200. }
  201. }
  202.  
  203. @EventHandler
  204. public void onQuit(PlayerQuitEvent e)
  205. {
  206. e.setQuitMessage(null);
  207. }
  208.  
  209. @EventHandler
  210. public void onPlayerDeath(PlayerDeathEvent e)
  211. {
  212. Player p = e.getEntity();
  213.  
  214. getItems(p);
  215. }
  216.  
  217. @EventHandler
  218. public void onInteract(PlayerInteractEvent e)
  219. {
  220. Player p = e.getPlayer();
  221. if (((e.getAction().equals(Action.RIGHT_CLICK_AIR) | e.getAction().equals(Action.RIGHT_CLICK_BLOCK))) &&
  222. (e.getMaterial().equals(Material.DIAMOND_PICKAXE)))
  223. {
  224. Location loc = new Location(p.getWorld(), -1888.0D, 120.0D, 2313.0D, 270.0F, 0.0F);
  225. p.teleport(loc);
  226. }
  227. if ((e.getAction().equals(Action.RIGHT_CLICK_AIR) | e.getAction().equals(Action.RIGHT_CLICK_BLOCK)))
  228. {
  229. if (e.getMaterial().equals(Material.SLIME_BALL))
  230. {
  231. p.sendMessage(this.prefix + "Die Spieler sind nun aus");
  232. ItemStack show = new ItemStack(Material.MAGMA_CREAM);
  233. ItemMeta meta = show.getItemMeta();
  234. meta.setDisplayName("�cSpieler anschalten");
  235. show.setItemMeta(meta);
  236. p.getInventory().setItemInHand(show);
  237. for (Player all : Bukkit.getOnlinePlayers()) {
  238. p.hidePlayer(all);
  239. }
  240. }
  241. if (e.getMaterial().equals(Material.MAGMA_CREAM))
  242. {
  243. p.sendMessage(this.prefix + "Die Spieler sind nun an");
  244. ItemStack hide = new ItemStack(Material.SLIME_BALL);
  245. ItemMeta meta = hide.getItemMeta();
  246. meta.setDisplayName("�aSpieler ausschalten");
  247. hide.setItemMeta(meta);
  248. p.getInventory().setItemInHand(hide);
  249. for (Player all : Bukkit.getOnlinePlayers()) {
  250. p.showPlayer(all);
  251. }
  252. }
  253. if (e.getMaterial().equals(Material.STICK))
  254. {
  255. p.sendMessage(this.prefix + "Flugmodus aktiviert");
  256. ItemStack fly = new ItemStack(Material.BLAZE_ROD);
  257. ItemMeta meta = fly.getItemMeta();
  258. meta.setDisplayName("�9Fliegen deaktivieren");
  259. fly.setItemMeta(meta);
  260. p.getInventory().setItemInHand(fly);
  261. p.setAllowFlight(true);
  262. p.setFlying(true);
  263. }
  264. if (e.getMaterial().equals(Material.BLAZE_ROD))
  265. {
  266. p.sendMessage(this.prefix + "Flugmodus deaktiviert");
  267. ItemStack fly = new ItemStack(Material.STICK);
  268. ItemMeta meta = fly.getItemMeta();
  269. meta.setDisplayName("�9Fliegen aktivieren");
  270. fly.setItemMeta(meta);
  271. p.getInventory().setItemInHand(fly);
  272. p.setAllowFlight(false);
  273. p.setFlying(false);
  274. }
  275. if (e.getMaterial().equals(Material.COMPASS))
  276. {
  277. Inventory inv = Bukkit.createInventory(p, 45, "�eTeleporter");
  278.  
  279. ItemStack sg = new ItemStack(Material.STONE_SWORD);
  280. ItemMeta sgm = sg.getItemMeta();
  281. sgm.setDisplayName("�cSurvivalGames");
  282. sg.setItemMeta(sgm);
  283.  
  284. ItemStack info = new ItemStack(Material.BOOK);
  285. ItemMeta inm = info.getItemMeta();
  286. inm.setDisplayName("�1Info");
  287. info.setItemMeta(inm);
  288.  
  289. ItemStack spawn = new ItemStack(Material.NETHER_STAR);
  290. ItemMeta spm = spawn.getItemMeta();
  291. spm.setDisplayName("�aSpawn");
  292. spawn.setItemMeta(spm);
  293.  
  294. ItemStack bedwars = new ItemStack(Material.BED);
  295. ItemMeta bwm = bedwars.getItemMeta();
  296. bwm.setDisplayName("�5Bedwars");
  297. bedwars.setItemMeta(bwm);
  298.  
  299. ItemStack rl = new ItemStack(Material.WORKBENCH);
  300. ItemMeta rlm = rl.getItemMeta();
  301. rlm.setDisplayName("�6RealLife");
  302. rl.setItemMeta(rlm);
  303.  
  304. inv.setItem(4, info);
  305. inv.setItem(18, bedwars);
  306. inv.setItem(22, spawn);
  307. inv.setItem(40, sg);
  308. inv.setItem(26, rl);
  309. p.openInventory(inv);
  310. }
  311. }
  312. }
  313.  
  314. @EventHandler
  315. public void onDrop(PlayerDropItemEvent e)
  316. {
  317. Player p = e.getPlayer();
  318. if (!p.hasPermission("lobby.admin")) {
  319. e.setCancelled(true);
  320. }
  321. }
  322.  
  323. @EventHandler
  324. public void onInvClick(InventoryClickEvent e)
  325. {
  326. Player p = (Player)e.getWhoClicked();
  327. if ((p instanceof Player))
  328. {
  329. if (e.getCurrentItem().getType().equals(Material.BOOK))
  330. {
  331. if (!p.isOp()) {
  332. e.setCancelled(true);
  333. }
  334. Location loc = new Location(p.getWorld(), -2088.5D, 12.5D, 2196.5D, 180.0F, 0.0F);
  335. p.teleport(loc);
  336. }
  337. if (e.getCurrentItem().getType().equals(Material.WORKBENCH))
  338. {
  339. if (!p.isOp()) {
  340. e.setCancelled(true);
  341. }
  342. Location loc = new Location(p.getWorld(), -2016.5D, 13.0D, 2270.5D, -90.0F, 0.0F);
  343. p.teleport(loc);
  344. }
  345. if (e.getCurrentItem().getType().equals(Material.STONE_SWORD))
  346. {
  347. if (!p.isOp()) {
  348. e.setCancelled(true);
  349. }
  350. Location loc = new Location(p.getWorld(), -2088.5D, 13.0D, 2342.5D, 0.0F, 0.0F);
  351. p.teleport(loc);
  352. }
  353. if (e.getCurrentItem().getType().equals(Material.NETHER_STAR))
  354. {
  355. if (!p.isOp()) {
  356. e.setCancelled(true);
  357. }
  358. Location loc = new Location(p.getWorld(), -2088.5D, 16.0D, 2270.5D, 180.0F, 0.0F);
  359. p.teleport(loc);
  360. }
  361. if ((e.getCurrentItem().getType().equals(Material.COMPASS)) &&
  362. (!p.isOp())) {
  363. e.setCancelled(true);
  364. }
  365. if ((e.getCurrentItem().getType().equals(Material.STICK)) &&
  366. (!p.isOp())) {
  367. e.setCancelled(true);
  368. }
  369. if ((e.getCurrentItem().getType().equals(Material.BLAZE_ROD)) &&
  370. (!p.isOp())) {
  371. e.setCancelled(true);
  372. }
  373. if ((e.getCurrentItem().getType().equals(Material.MAGMA_CREAM)) &&
  374. (!p.isOp())) {
  375. e.setCancelled(true);
  376. }
  377. if ((e.getCurrentItem().getType().equals(Material.SLIME_BALL)) &&
  378. (!p.isOp())) {
  379. e.setCancelled(true);
  380. }
  381. }
  382. }
  383.  
  384. @EventHandler
  385. public void onChat(AsyncPlayerChatEvent e)
  386. {
  387. Player p = e.getPlayer();
  388. if ((!p.hasPermission("lobby.chat.exempt")) &&
  389. (this.chat == 0))
  390. {
  391. e.setCancelled(true);
  392. p.sendMessage("�c�lDer Chat ist momentan gesparrt");
  393. }
  394. }
  395. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement