introduced ReportCreatedListener, updated ReportCreatedEvent to use UUIDs for reporter and reported, and improved admin notifications for new reports
This commit is contained in:
@@ -16,6 +16,7 @@ import net.kyori.adventure.text.format.NamedTextColor;
|
|||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.OfflinePlayer;
|
import org.bukkit.OfflinePlayer;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.annotations.Nullable;
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@@ -178,6 +179,13 @@ public class Report extends Appliance {
|
|||||||
issuer.sendMessage(component.build());
|
issuer.sendMessage(component.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected @NotNull List<Listener> listeners() {
|
||||||
|
return List.of(
|
||||||
|
new ReportCreatedListener()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@NotNull
|
@NotNull
|
||||||
protected List<ApplianceCommand<?>> commands() {
|
protected List<ApplianceCommand<?>> commands() {
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
package eu.mhsl.craftattack.spawn.common.appliances.metaGameplay.report;
|
||||||
|
|
||||||
|
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
|
||||||
|
import eu.mhsl.craftattack.spawn.core.event.ReportCreatedEvent;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.OfflinePlayer;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
|
||||||
|
public class ReportCreatedListener extends ApplianceListener<Report> {
|
||||||
|
@EventHandler
|
||||||
|
public void onReport(ReportCreatedEvent event) {
|
||||||
|
OfflinePlayer reporter = Bukkit.getOfflinePlayer(event.getReport().reporter());
|
||||||
|
OfflinePlayer reported = Bukkit.getOfflinePlayer(event.getReport().reported());
|
||||||
|
|
||||||
|
Component message = Component.text(
|
||||||
|
"\uD83D\uDD14 Neuer Report von %s gegen %s: %s".formatted(reporter.getName(), reported.getName(), event.getReport().reason()),
|
||||||
|
NamedTextColor.YELLOW
|
||||||
|
);
|
||||||
|
|
||||||
|
Bukkit.getOnlinePlayers().stream()
|
||||||
|
.filter(player -> player.hasPermission("admin"))
|
||||||
|
.forEach(player -> player.sendMessage(message));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -11,6 +11,7 @@ import java.util.Map;
|
|||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
|
@Appliance.Flags(enabled = false)
|
||||||
public class AntiInventoryMove extends Appliance {
|
public class AntiInventoryMove extends Appliance {
|
||||||
private static final long errorTimeMargin = Ticks.SINGLE_TICK_DURATION_MS * 2;
|
private static final long errorTimeMargin = Ticks.SINGLE_TICK_DURATION_MS * 2;
|
||||||
|
|
||||||
|
|||||||
@@ -28,14 +28,16 @@ public class WebsiteHook extends HttpHook {
|
|||||||
return HttpServer.nothing;
|
return HttpServer.nothing;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
record CreatedReport(String reporter, String reported, String reason) {}
|
record CreatedReport(UUID reporter, UUID reported, String reason) {}
|
||||||
this.addAction("report", new JsonAction<>(CreatedReport.class, createdReport -> {
|
this.addAction("report", new JsonAction<>(CreatedReport.class, createdReport -> {
|
||||||
|
Main.logger().info(String.format("New Report from Hook: (%s) Reporter: %s Reported: %s", createdReport.reason, createdReport.reporter, createdReport.reported));
|
||||||
SpawnEvent.call(new ReportCreatedEvent(new ReportCreatedEvent.CreatedReport(createdReport.reporter, createdReport.reported, createdReport.reason)));
|
SpawnEvent.call(new ReportCreatedEvent(new ReportCreatedEvent.CreatedReport(createdReport.reporter, createdReport.reported, createdReport.reason)));
|
||||||
return HttpServer.nothing;
|
return HttpServer.nothing;
|
||||||
}));
|
}));
|
||||||
|
|
||||||
record CreatedStrike(UUID uuid) {}
|
record CreatedStrike(UUID uuid) {}
|
||||||
this.addAction("strike", new JsonAction<>(CreatedStrike.class, createdStrike -> {
|
this.addAction("strike", new JsonAction<>(CreatedStrike.class, createdStrike -> {
|
||||||
|
Main.logger().info(String.format("New Strike from Hook! (User %s)", createdStrike.uuid));
|
||||||
SpawnEvent.call(new StrikeCreatedEvent(new StrikeCreatedEvent.CreatedStrike(createdStrike.uuid)));
|
SpawnEvent.call(new StrikeCreatedEvent(new StrikeCreatedEvent.CreatedStrike(createdStrike.uuid)));
|
||||||
return HttpServer.nothing;
|
return HttpServer.nothing;
|
||||||
}));
|
}));
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import org.bukkit.event.Event;
|
|||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
public class ReportCreatedEvent extends Event {
|
public class ReportCreatedEvent extends Event {
|
||||||
private static final HandlerList HANDLERS = new HandlerList();
|
private static final HandlerList HANDLERS = new HandlerList();
|
||||||
@Override
|
@Override
|
||||||
@@ -15,7 +17,7 @@ public class ReportCreatedEvent extends Event {
|
|||||||
return HANDLERS;
|
return HANDLERS;
|
||||||
}
|
}
|
||||||
|
|
||||||
public record CreatedReport(String reporter, String reported, String reason) {}
|
public record CreatedReport(UUID reporter, UUID reported, String reason) {}
|
||||||
|
|
||||||
private final CreatedReport report;
|
private final CreatedReport report;
|
||||||
public ReportCreatedEvent(CreatedReport report) {
|
public ReportCreatedEvent(CreatedReport report) {
|
||||||
|
|||||||
Reference in New Issue
Block a user