refactored event hierarchy; replaced SpawnEvent with direct Event implementation, added StrikeUpdateListener and refactored whitelist profile update logic
This commit is contained in:
@@ -1,6 +1,20 @@
|
|||||||
package eu.mhsl.craftattack.spawn.core.event;
|
package eu.mhsl.craftattack.spawn.core.event;
|
||||||
|
|
||||||
public class ReportCreatedEvent extends SpawnEvent {
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
|
public class ReportCreatedEvent extends Event {
|
||||||
|
private static final HandlerList HANDLERS = new HandlerList();
|
||||||
|
@Override
|
||||||
|
public @NotNull HandlerList getHandlers() {
|
||||||
|
return HANDLERS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return HANDLERS;
|
||||||
|
}
|
||||||
|
|
||||||
public record CreatedReport(String reporter, String reported, String reason) {}
|
public record CreatedReport(String reporter, String reported, String reason) {}
|
||||||
|
|
||||||
private final CreatedReport report;
|
private final CreatedReport report;
|
||||||
|
|||||||
@@ -2,21 +2,9 @@ package eu.mhsl.craftattack.spawn.core.event;
|
|||||||
|
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.event.Event;
|
import org.bukkit.event.Event;
|
||||||
import org.bukkit.event.HandlerList;
|
|
||||||
import org.jetbrains.annotations.NotNull;
|
|
||||||
|
|
||||||
public abstract class SpawnEvent extends Event {
|
public abstract class SpawnEvent {
|
||||||
private static final HandlerList HANDLERS = new HandlerList();
|
public static void call(Event event) {
|
||||||
@Override
|
|
||||||
public @NotNull HandlerList getHandlers() {
|
|
||||||
return HANDLERS;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void call(SpawnEvent event) {
|
|
||||||
Bukkit.getPluginManager().callEvent(event);
|
Bukkit.getPluginManager().callEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SpawnEvent(boolean isAsync) {
|
|
||||||
super(isAsync);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,8 +1,22 @@
|
|||||||
package eu.mhsl.craftattack.spawn.core.event;
|
package eu.mhsl.craftattack.spawn.core.event;
|
||||||
|
|
||||||
|
import org.bukkit.event.Event;
|
||||||
|
import org.bukkit.event.HandlerList;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
public class StrikeCreatedEvent extends SpawnEvent {
|
public class StrikeCreatedEvent extends Event {
|
||||||
|
private static final HandlerList HANDLERS = new HandlerList();
|
||||||
|
@Override
|
||||||
|
public @NotNull HandlerList getHandlers() {
|
||||||
|
return HANDLERS;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static HandlerList getHandlerList() {
|
||||||
|
return HANDLERS;
|
||||||
|
}
|
||||||
|
|
||||||
public record CreatedStrike(UUID playerToStrike) {}
|
public record CreatedStrike(UUID playerToStrike) {}
|
||||||
|
|
||||||
private final CreatedStrike strike;
|
private final CreatedStrike strike;
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
package eu.mhsl.craftattack.spawn.craftattack.appliances.tooling.whitelist;
|
||||||
|
|
||||||
|
import eu.mhsl.craftattack.spawn.core.appliance.ApplianceListener;
|
||||||
|
import eu.mhsl.craftattack.spawn.core.event.StrikeCreatedEvent;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
|
||||||
|
public class StrikeUpdateListener extends ApplianceListener<Whitelist> {
|
||||||
|
@EventHandler
|
||||||
|
public void onStrikeUpdate(StrikeCreatedEvent event) {
|
||||||
|
this.getAppliance().profileUpdated(event.getStrike().playerToStrike());
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -122,13 +122,9 @@ public class Whitelist extends Appliance {
|
|||||||
return response.data();
|
return response.data();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
public void profileUpdated(UUID uuid) {
|
||||||
public void httpApi(HttpServer.ApiBuilder apiBuilder) {
|
Main.instance().getLogger().info(String.format("API Triggered Profile update for %s", uuid));
|
||||||
record User(UUID user) {
|
Player player = Bukkit.getPlayer(uuid);
|
||||||
}
|
|
||||||
apiBuilder.post("update", User.class, (user, request) -> {
|
|
||||||
Main.instance().getLogger().info(String.format("API Triggered Profile update for %s", user.user));
|
|
||||||
Player player = Bukkit.getPlayer(user.user);
|
|
||||||
if(player != null) {
|
if(player != null) {
|
||||||
try {
|
try {
|
||||||
this.fullIntegrityCheck(player);
|
this.fullIntegrityCheck(player);
|
||||||
@@ -136,6 +132,14 @@ public class Whitelist extends Appliance {
|
|||||||
e.getDisconnectScreen().applyKick(player);
|
e.getDisconnectScreen().applyKick(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void httpApi(HttpServer.ApiBuilder apiBuilder) {
|
||||||
|
record User(UUID user) {
|
||||||
|
}
|
||||||
|
apiBuilder.post("update", User.class, (user, request) -> {
|
||||||
|
this.profileUpdated(user.user);
|
||||||
return HttpServer.nothing;
|
return HttpServer.nothing;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@@ -144,7 +148,8 @@ public class Whitelist extends Appliance {
|
|||||||
@NotNull
|
@NotNull
|
||||||
protected List<Listener> listeners() {
|
protected List<Listener> listeners() {
|
||||||
return List.of(
|
return List.of(
|
||||||
new PlayerJoinListener()
|
new PlayerJoinListener(),
|
||||||
|
new StrikeUpdateListener()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user