rezzy01

Untitled

Aug 29th, 2023
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.75 KB | None | 0 0
  1. package me.not.rezzy;
  2.  
  3. import java.util.HashMap;
  4. import net.md_5.bungee.api.chat.ClickEvent;
  5. import net.md_5.bungee.api.chat.ComponentBuilder;
  6. import net.md_5.bungee.api.chat.HoverEvent;
  7. import net.md_5.bungee.api.chat.TextComponent;
  8. import net.md_5.bungee.api.chat.ClickEvent.Action;
  9. import org.bukkit.Bukkit;
  10. import org.bukkit.ChatColor;
  11. import org.bukkit.command.Command;
  12. import org.bukkit.command.CommandExecutor;
  13. import org.bukkit.command.CommandSender;
  14. import org.bukkit.configuration.file.FileConfiguration;
  15. import org.bukkit.entity.Player;
  16. import org.bukkit.event.EventHandler;
  17. import org.bukkit.event.Listener;
  18. import org.bukkit.event.player.AsyncPlayerChatEvent;
  19. import org.bukkit.event.player.PlayerJoinEvent;
  20. import org.bukkit.event.player.PlayerMoveEvent;
  21. import org.bukkit.plugin.java.JavaPlugin;
  22.  
  23. public class AntiBot extends JavaPlugin implements CommandExecutor, Listener {
  24. public static HashMap<Player, Integer> verify = new HashMap();
  25. public static HashMap<Player, Integer> time = new HashMap();
  26.  
  27. public void onEnable() {
  28. this.getServer().getPluginManager().registerEvents(this, this);
  29. this.getConfig().options().copyDefaults(true);
  30. this.saveDefaultConfig();
  31. }
  32.  
  33. @EventHandler
  34. public void onJoin(PlayerJoinEvent event) {
  35. Player p = event.getPlayer();
  36. FileConfiguration config = this.getConfig();
  37. if (p.hasPermission("antibot.bypass")) {
  38. p.sendMessage(config.getString("bypassVerify").replaceAll("&", "§"));
  39. } else if (config.getBoolean("askOnJoin")) {
  40. double random = Math.random() * 1000.0D;
  41. int code = (int)random;
  42. verify.put(p, code);
  43. this.sendVerify(p);
  44. }
  45. }
  46.  
  47. public void sendVerify(Player p) {
  48. FileConfiguration config = this.getConfig();
  49. TextComponent message = new TextComponent(config.getString("verifyButton").replaceAll("&", "§"));
  50. message.setClickEvent(new ClickEvent(Action.RUN_COMMAND, config.getString("dotCommand") + " /verify " + verify.get(p)));
  51. message.setHoverEvent(new HoverEvent(net.md_5.bungee.api.chat.HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder(config.getString("hoverButton").replaceAll("&", "§"))).create()));
  52. p.spigot().sendMessage(message);
  53. }
  54.  
  55. @EventHandler
  56. public void onChat(AsyncPlayerChatEvent event) {
  57. Player p = event.getPlayer();
  58. if (verify.containsKey(p)) {
  59. String sentMessage = event.getMessage();
  60. FileConfiguration config = this.getConfig();
  61. String dotCommand = config.getString("dotCommand");
  62. if (!sentMessage.startsWith(dotCommand)) {
  63. event.setCancelled(config.getBoolean("cancelChat"));
  64. } else if (sentMessage.equals(dotCommand + " /verify " + verify.get(p))) {
  65. event.setCancelled(true);
  66. verify.remove(p);
  67. p.sendMessage(config.getString("verified").replaceAll("&", "§"));
  68. }
  69. }
  70. }
  71.  
  72. public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
  73. Player p = (Player)sender;
  74. if (cmd.getName().equalsIgnoreCase("antibot") && args.length == 0) {
  75. return true;
  76. } else if (cmd.getName().equalsIgnoreCase("antibot") && args[0].equals("reload")) {
  77. this.reloadConfig();
  78. p.sendMessage(ChatColor.GREEN + "plugin bil reloaded pon!");
  79. return false;
  80. } else {
  81. if (cmd.getName().equalsIgnoreCase("verify")) {
  82. FileConfiguration config = this.getConfig();
  83. if (args.length == 0) {
  84. double random = Math.random() * 1000.0D;
  85. int code = (int)random;
  86. verify.put(p, code);
  87. this.sendVerify(p);
  88. return false;
  89. }
  90.  
  91. if (args.length != 0 && !verify.containsKey(p)) {
  92. p.sendMessage(config.getString("invalidArgument").replaceAll("&", "§"));
  93. return false;
  94. }
  95.  
  96. if (args[0].equals(Integer.toString((Integer)verify.get(p)))) {
  97. p.kickPlayer(config.getString("kickReasonCheating").replaceAll("&", "§"));
  98. Bukkit.getServer().broadcast(config.getString("adminKickedCheat").replaceAll("&", "§"), "antibot.spy");
  99. return true;
  100. }
  101. }
  102.  
  103. return false;
  104. }
  105. }
  106.  
  107. @EventHandler
  108. public void onWalk(PlayerMoveEvent event) {
  109. Player p = event.getPlayer();
  110. if (verify.containsKey(p)) {
  111. event.setCancelled(this.getConfig().getBoolean("freeze"));
  112. }
  113. }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment