From 8edf94d96b4c8b73228ef5e7feec116cbd2e2014 Mon Sep 17 00:00:00 2001 From: urtypicalblahajlunatic Date: Fri, 3 Jul 2026 16:48:37 +0200 Subject: [PATCH] Ban Listener --- .../net/ardakaz/griefalert/GriefAlert.java | 2 +- .../net/ardakaz/griefalert/GriefAlertBan.java | 76 +++++++++++++++++++ src/main/resources/plugin.yml | 14 +++- 3 files changed, 89 insertions(+), 3 deletions(-) create mode 100644 src/main/java/net/ardakaz/griefalert/GriefAlertBan.java diff --git a/src/main/java/net/ardakaz/griefalert/GriefAlert.java b/src/main/java/net/ardakaz/griefalert/GriefAlert.java index 11951a4..b2f0a90 100644 --- a/src/main/java/net/ardakaz/griefalert/GriefAlert.java +++ b/src/main/java/net/ardakaz/griefalert/GriefAlert.java @@ -93,7 +93,6 @@ public class GriefAlert extends JavaPlugin implements Listener { // Init GriefAlert @Override public void onEnable() { - coreProtectAPI = getCoreProtect(); if (coreProtectAPI == null) { getLogger().severe("CoreProtect not found! Disabling plugin."); @@ -102,6 +101,7 @@ public class GriefAlert extends JavaPlugin implements Listener { } getServer().getPluginManager().registerEvents(this, this); + getServer().getPluginManager().registerEvents(new GriefAlertBan(), this); // Config saveDefaultConfig(); diff --git a/src/main/java/net/ardakaz/griefalert/GriefAlertBan.java b/src/main/java/net/ardakaz/griefalert/GriefAlertBan.java new file mode 100644 index 0000000..5003bbd --- /dev/null +++ b/src/main/java/net/ardakaz/griefalert/GriefAlertBan.java @@ -0,0 +1,76 @@ +package net.ardakaz.griefalert; + +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; +import org.bukkit.event.player.*; +import org.bukkit.event.server.ServerCommandEvent; +import org.bukkit.plugin.java.*; + +import org.bukkit.event.EventHandler; +import org.bukkit.event.Listener; + + +import java.util.Arrays; + + +public class GriefAlertBan extends JavaPlugin implements Listener { + @EventHandler + public void onBanCommand(PlayerCommandPreprocessEvent event){ + String message = event.getMessage(); + String[] syl = message.split(" "); + String Banner = event.getPlayer().getName(); + if(syl.length >=2 && syl[0].equalsIgnoreCase("/ban")){ + String BannedPlayer = syl[1]; + String BanReason = String.join(" ", Arrays.copyOfRange(syl, 2, syl.length)); + + System.out.println(Banner + " banned" + BannedPlayer + " for " + BanReason); + + //player must be online for /ipban to actualy do stuff but whatever + } else if(syl.length >= 3 && syl[0].equalsIgnoreCase("/tempban")){ + String BannedPlayer = syl[1]; + String time = syl[2]; + String BanReason = String.join(" ", Arrays.copyOfRange(syl, 3, syl.length)); + System.out.println(Banner + " banned " + BannedPlayer + " for " + time + " for " + BanReason); + }else if(syl.length >= 2 && syl[0].equalsIgnoreCase("/ipban")){ + String BannedPlayer = syl[1]; + Player player = Bukkit.getPlayerExact(BannedPlayer); + String BanReason = String.join(" ", Arrays.copyOfRange(syl, 2, syl.length)); + if(!(player == null)){ + String ip = player.getAddress().getAddress().getHostAddress(); + + System.out.println(Banner + " banned " + ip + " for " + BanReason); + + } else System.out.println("unexpected error, ip maybe not finded? "); + + } + + } + + + @EventHandler + public void onConsoleCommand(ServerCommandEvent event){ + String message = event.getCommand(); + String[] syl = message.split(" "); + if(syl.length >=2 && syl[0].equalsIgnoreCase("/ban")){ + String BannedPlayer = syl[1]; + String BanReason = String.join(" ", Arrays.copyOfRange(syl, 2, syl.length)); + + System.out.println("console " + " banned" + BannedPlayer + " for " + BanReason); + + //player must be online for /ipban to actualy do stuff but whatever + } else if(syl.length >= 3 && syl[0].equalsIgnoreCase("/tempban")){ + String BannedPlayer = syl[1]; + String time = syl[2]; + String banReason = String.join(" ", Arrays.copyOfRange(syl, 3, syl.length)); + System.out.println("console " + " banned " + BannedPlayer + " for " + time + " for " + banReason); + }else if(syl.length >= 2 && syl[0].equalsIgnoreCase("/ipban")){ + String BannedPlayer = syl[1]; + Player player = Bukkit.getPlayerExact(BannedPlayer); + if(!(player == null)){ + String ip = player.getAddress().getAddress().getHostAddress(); + } + } + } + + +} diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5670fcb..a6bbf7b 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ name: GriefAlert main: net.ardakaz.griefalert.GriefAlert version: 0.6 api-version: 1.21 -depends: [CoreProtect] +depends: [CoreProtect] [EssentialsX] softdepend: [DiscordSRV] description: A simple grief alert plugin using the CoreProtect API. authors: [Ardakaz, kleedje30] @@ -11,4 +11,14 @@ commands: description: GriefAlert staff commands usage: /griefalert permission: griefalert.staff - permission-message: You do not have permission to use this command. + permission-message: You do not have permission to use this command. + ban: + description: GriefAlert Ban command + usage: /ban + permission: griefalert.staff + permission-message: you do not have authority to use this command. + tempban: + description: temporary /ban + usage: /tempban