Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package me.not.rezzy;
- import java.util.HashMap;
- import net.md_5.bungee.api.chat.ClickEvent;
- import net.md_5.bungee.api.chat.ComponentBuilder;
- import net.md_5.bungee.api.chat.HoverEvent;
- import net.md_5.bungee.api.chat.TextComponent;
- import net.md_5.bungee.api.chat.ClickEvent.Action;
- import org.bukkit.Bukkit;
- import org.bukkit.ChatColor;
- import org.bukkit.command.Command;
- import org.bukkit.command.CommandExecutor;
- import org.bukkit.command.CommandSender;
- import org.bukkit.configuration.file.FileConfiguration;
- import org.bukkit.entity.Player;
- import org.bukkit.event.EventHandler;
- import org.bukkit.event.Listener;
- import org.bukkit.event.player.AsyncPlayerChatEvent;
- import org.bukkit.event.player.PlayerJoinEvent;
- import org.bukkit.event.player.PlayerMoveEvent;
- import org.bukkit.plugin.java.JavaPlugin;
- public class AntiBot extends JavaPlugin implements CommandExecutor, Listener {
- public static HashMap<Player, Integer> verify = new HashMap();
- public static HashMap<Player, Integer> time = new HashMap();
- public void onEnable() {
- this.getServer().getPluginManager().registerEvents(this, this);
- this.getConfig().options().copyDefaults(true);
- this.saveDefaultConfig();
- }
- @EventHandler
- public void onJoin(PlayerJoinEvent event) {
- Player p = event.getPlayer();
- FileConfiguration config = this.getConfig();
- if (p.hasPermission("antibot.bypass")) {
- p.sendMessage(config.getString("bypassVerify").replaceAll("&", "§"));
- } else if (config.getBoolean("askOnJoin")) {
- double random = Math.random() * 1000.0D;
- int code = (int)random;
- verify.put(p, code);
- this.sendVerify(p);
- }
- }
- public void sendVerify(Player p) {
- FileConfiguration config = this.getConfig();
- TextComponent message = new TextComponent(config.getString("verifyButton").replaceAll("&", "§"));
- message.setClickEvent(new ClickEvent(Action.RUN_COMMAND, config.getString("dotCommand") + " /verify " + verify.get(p)));
- message.setHoverEvent(new HoverEvent(net.md_5.bungee.api.chat.HoverEvent.Action.SHOW_TEXT, (new ComponentBuilder(config.getString("hoverButton").replaceAll("&", "§"))).create()));
- p.spigot().sendMessage(message);
- }
- @EventHandler
- public void onChat(AsyncPlayerChatEvent event) {
- Player p = event.getPlayer();
- if (verify.containsKey(p)) {
- String sentMessage = event.getMessage();
- FileConfiguration config = this.getConfig();
- String dotCommand = config.getString("dotCommand");
- if (!sentMessage.startsWith(dotCommand)) {
- event.setCancelled(config.getBoolean("cancelChat"));
- } else if (sentMessage.equals(dotCommand + " /verify " + verify.get(p))) {
- event.setCancelled(true);
- verify.remove(p);
- p.sendMessage(config.getString("verified").replaceAll("&", "§"));
- }
- }
- }
- public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
- Player p = (Player)sender;
- if (cmd.getName().equalsIgnoreCase("antibot") && args.length == 0) {
- return true;
- } else if (cmd.getName().equalsIgnoreCase("antibot") && args[0].equals("reload")) {
- this.reloadConfig();
- p.sendMessage(ChatColor.GREEN + "plugin bil reloaded pon!");
- return false;
- } else {
- if (cmd.getName().equalsIgnoreCase("verify")) {
- FileConfiguration config = this.getConfig();
- if (args.length == 0) {
- double random = Math.random() * 1000.0D;
- int code = (int)random;
- verify.put(p, code);
- this.sendVerify(p);
- return false;
- }
- if (args.length != 0 && !verify.containsKey(p)) {
- p.sendMessage(config.getString("invalidArgument").replaceAll("&", "§"));
- return false;
- }
- if (args[0].equals(Integer.toString((Integer)verify.get(p)))) {
- p.kickPlayer(config.getString("kickReasonCheating").replaceAll("&", "§"));
- Bukkit.getServer().broadcast(config.getString("adminKickedCheat").replaceAll("&", "§"), "antibot.spy");
- return true;
- }
- }
- return false;
- }
- }
- @EventHandler
- public void onWalk(PlayerMoveEvent event) {
- Player p = event.getPlayer();
- if (verify.containsKey(p)) {
- event.setCancelled(this.getConfig().getBoolean("freeze"));
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment