Ban Listener

This commit is contained in:
urtypicalblahajlunatic
2026-07-03 16:48:37 +02:00
parent 1ada53c51e
commit 8edf94d96b
3 changed files with 89 additions and 3 deletions

View File

@@ -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();

View File

@@ -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();
}
}
}
}

View File

@@ -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]
@@ -12,3 +12,13 @@ commands:
usage: /griefalert <ignore|unignore|check>
permission: griefalert.staff
permission-message: You do not have permission to use this command.
ban:
description: GriefAlert Ban command
usage: /ban <user> <reason>
permission: griefalert.staff
permission-message: you do not have authority to use this command.
tempban:
description: temporary /ban
usage: /tempban <user> <time> <reason>
permission: griefalert.staff
permission-message: you do not have the authority to use this command.