Merge branch 'purpur' into 'dev'

Rename "purpur" branch to "dev" branch

See merge request tkuraczyk/banhammer!1
This commit is contained in:
Tomasz Kuraczyk 2026-03-17 17:41:55 +00:00
commit 7ffd52d4f9
4 changed files with 78 additions and 0 deletions

View file

@ -25,6 +25,7 @@ dependencies {
implementation 'org.postgresql:postgresql:42.7.7'
implementation 'org.flywaydb:flyway-core:10.7.2'
implementation 'org.flywaydb:flyway-database-postgresql:10.7.2'
implementation 'com.google.code.gson:gson:2.11.0'
}
shadowJar {

View file

@ -1,7 +1,10 @@
package net.kuraczyk.banhammer.cmds;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import io.papermc.paper.configuration.type.fallback.FallbackValue;
import net.kuraczyk.banhammer.BanHammer;
import net.kuraczyk.banhammer.utils.IPBan;
import net.kuraczyk.banhammer.utils.PlayerBan;
import net.kuraczyk.banhammer.utils.TextUtils;
import net.kyori.adventure.text.Component;
@ -17,6 +20,9 @@ import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import com.google.gson.Gson;
public class Ban implements CommandExecutor {
BanHammer plugin;
@ -309,6 +315,28 @@ public class Ban implements CommandExecutor {
}
}
private void createPlayerKickJob(IPBan b, String scope){
final Gson gson = new Gson();
try {
Connection conn = plugin.db.getConnection();
JsonElement banObject = gson.toJsonTree(b);
JsonObject wrapper = new JsonObject();
wrapper.addProperty("ban_type", "player");
wrapper.addProperty("ban_scope", scope);
wrapper.add("ban_data", banObject);
String json = gson.toJson(wrapper);
PreparedStatement ps = conn.prepareStatement("SELECT pg_notify('ban_jobs', ?)");
ps.setString(1, json);
ps.execute();
}
catch (SQLException e) {
plugin.getLogger().severe(e.toString());
}
}
private String resolveBanMessagePlaceholders(String s, String player, String scope, String reason, String operator) {
return s.replace("{player}", player)
.replace("{scope}", scope)

View file

@ -18,6 +18,10 @@ import java.util.Objects;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.Gson;
public class BanIP implements CommandExecutor {
BanHammer plugin;
@ -325,6 +329,27 @@ public class BanIP implements CommandExecutor {
}
}
private void createIPKickJob(IPBan b, String scope){
final Gson gson = new Gson();
try {
Connection conn = plugin.db.getConnection();
JsonElement banObject = gson.toJsonTree(b);
JsonObject wrapper = new JsonObject();
wrapper.addProperty("ban_type", "ip");
wrapper.addProperty("ban_scope", scope);
wrapper.add("ban_data", banObject);
String json = gson.toJson(wrapper);
PreparedStatement ps = conn.prepareStatement("SELECT pg_notify('ban_jobs', ?)");
ps.setString(1, json);
ps.execute();
}
catch (SQLException e) {
plugin.getLogger().severe(e.toString());
}
}
private String resolveIpBanMessagePlaceholders(String s, String ipAddr, String scope, String reason, String operator) {
return s.replace("{ipAddr}", ipAddr)
.replace("{scope}", scope)

View file

@ -0,0 +1,24 @@
package net.kuraczyk.banhammer.workers;
import net.kuraczyk.banhammer.BanHammer;
public class BanJobWorker {
BanHammer plugin;
public void BanJobWorker(BanHammer p) {
plugin=p;
banJobListener();
}
private void banJobListener() {
}
private boolean banJobExecutor() {
}
}