Guest User

Untitled

a guest
May 20th, 2018
341
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.28 KB | None | 0 0
  1. package ru.zhcoder.donatertp;
  2.  
  3. import org.bukkit.Bukkit;
  4. import org.bukkit.entity.Player;
  5. import org.bukkit.event.EventHandler;
  6. import org.bukkit.event.Listener;
  7. import org.bukkit.event.entity.EntityDamageByEntityEvent;
  8. import org.bukkit.event.player.PlayerCommandPreprocessEvent;
  9. import org.bukkit.event.player.PlayerQuitEvent;
  10. import org.bukkit.plugin.java.JavaPlugin;
  11. import org.bukkit.scheduler.BukkitRunnable;
  12.  
  13. import java.util.HashMap;
  14. import java.util.concurrent.CopyOnWriteArrayList;
  15.  
  16. public class Main extends JavaPlugin implements Listener {
  17.  
  18.  
  19. HashMap<String,String> list = new HashMap<String, String>();
  20. CopyOnWriteArrayList<String> cmds = new CopyOnWriteArrayList<String>();
  21.  
  22. public void onEnable() {
  23. this.saveDefaultConfig();
  24. Bukkit.getConsoleSender().sendMessage("§b[DonaterTP] §fCreated by §avk.com/mscode");
  25. Bukkit.getPluginManager().registerEvents( this,this );
  26. onLoadCmds();
  27. }
  28.  
  29.  
  30. public void onLoadCmds() {
  31.  
  32. Bukkit.getPluginCommand("tp").getAliases().forEach(s -> cmds.add(s));
  33. cmds.add("tp");
  34. Bukkit.getConsoleSender().sendMessage("§b[DonaterTP] §fLoading §e" + cmds.size() + " §fcmds." );
  35. }
  36.  
  37. @EventHandler
  38. public void onCheckCmds(PlayerCommandPreprocessEvent e) {
  39.  
  40. String p = e.getPlayer().getName();
  41.  
  42. String[] cmd = e.getMessage().split(" ");
  43. cmd[0] = cmd[0].substring(cmd[0].indexOf("/")+1);
  44.  
  45. if (cmds.contains(cmd[0])) {
  46.  
  47. if (cmd.length > 1) {
  48.  
  49. Player select = Bukkit.getPlayerExact(cmd[1]);
  50.  
  51. if (select != null) {
  52. e.getPlayer().sendMessage("§cВнимание! §7Ты телепортировался к игроку, ему включился режим §eбессмертия." );
  53. list.put(p, select.getName()); //player, select
  54. startTimer(p, this.getConfig().getInt("time" ));
  55. }
  56.  
  57.  
  58. }
  59.  
  60.  
  61.  
  62. }
  63.  
  64.  
  65. }
  66.  
  67. @EventHandler
  68. public void onExit(PlayerQuitEvent e) {
  69. if (isGod(e.getPlayer().getName())) {
  70. list.values().remove( e.getPlayer().getName());
  71. }
  72. }
  73.  
  74. @EventHandler
  75. public void ong(EntityDamageByEntityEvent e) {
  76.  
  77. String p = e.getDamager().getName();
  78. Player select = (Player) e.getEntity();
  79.  
  80. if (isDamage(p)) {
  81.  
  82. if (list.get(p).equals(select.getName())) {
  83. e.getDamager().sendMessage("§fВы не можете бить этого игрока, так-как §eтпешнулись.");
  84. e.setCancelled(true);
  85. }
  86. }
  87.  
  88. if (isGod(p)) {
  89. list.values().remove(p);
  90. }
  91.  
  92. }
  93.  
  94. public void startTimer(String p, Integer time) {
  95.  
  96. new BukkitRunnable() {
  97.  
  98. @Override
  99. public void run() {
  100. list.remove(p);
  101. }
  102.  
  103. }.runTaskLater(this, 20L * time);
  104. }
  105.  
  106. public boolean isDamage(String p) {
  107.  
  108. if (list.containsKey(p)) {
  109. return true;
  110. }
  111. return false;
  112. }
  113.  
  114. public boolean isGod(String p) {
  115. if (list.containsValue(p)) {
  116. return true;
  117. }
  118. return false;
  119. }
  120.  
  121.  
  122.  
  123. }
Advertisement
Add Comment
Please, Sign In to add comment