Entwickler-API-Referenz
Verité stellt eine stabile öffentliche Java-API unter dem Paket teacommontea.api bereit. Jedes Teilsystem ist eine Fassade aus statischen Methoden über stabilen öffentlichen Typen, sodass du alles tun kannst, was das Plugin tut, ohne jemals auf eine interne Implementierungsklasse zu verweisen.
Diese Seite ist die vollständige Oberfläche, zum Nachschlagen organisiert. Zwei Themen haben ihre eigenen dedizierten Anleitungen und werden hier nur querverwiesen:
- Der Chatfilter: Integration benutzerdefinierter Chat-Systeme.
- Durchsetzung von Stummschaltung, Slowmode und Chat-Freeze: Benutzerdefinierte Moderationsdurchsetzung.
Erste Schritte
Verité als optionale Abhängigkeit hinzufügen
Füge Verité zu deiner plugin.yml hinzu, damit es vor deinem Plugin geladen wird, sofern es installiert ist, ohne verpflichtend zu werden:
softdepend:
- VeriteAuf Verfügbarkeit prüfen
Wenn Verité optional ist, prüfe vor der Verwendung der API auf eine Klasse:
private static final boolean VERITE_AVAILABLE;
static {
boolean available;
try {
Class.forName("teacommontea.api.VeriteAPI");
available = true;
} catch (ClassNotFoundException ignored) {
available = false;
}
VERITE_AVAILABLE = available;
}Jedes Teilsystem verhält sich außerdem für sich abbaubar: Wenn das zugrunde liegende Modul deaktiviert ist, geben Abfragemethoden null, false oder eine leere Sammlung zurück, verändernde Aufrufe werden zu No-Ops, und ausführende Aufrufe geben ein fehlgeschlagenes Ergebnis zurück. Du musst ein deaktiviertes Modul selten gesondert behandeln.
VeriteAPI
VeriteAPI ist der einzige übergeordnete Einstiegspunkt. Es meldet die API-Version, meldet, welche Module aktiviert sind, und gibt zur Erkennung die Klasse jedes Teilsystems zurück.
| Member | Gibt zurück | Bedeutung |
|---|---|---|
VeriteAPI.VERSION |
String |
Der API-Versionsstring. |
moderationEnabled() |
boolean |
Ob das Moderationsmodul geladen ist. |
vanishEnabled() |
boolean |
Ob das Vanish-Modul geladen ist. |
captchaEnabled() |
boolean |
Ob das Captcha-Modul geladen ist. |
moderation() |
Class<VeriteModeration> |
Die Klasse des Moderations-Teilsystems. |
playerData() |
Class<VeritePlayerData> |
Die Klasse des Spielerdaten-Teilsystems. |
store() |
Class<VeriteStore> |
Die Klasse des Store-Teilsystems. |
vanish() |
Class<VeriteVanish> |
Die Klasse des Vanish-Teilsystems. |
captcha() |
Class<VeriteCaptcha> |
Die Klasse des Captcha-Teilsystems. |
filter() |
Class<VeriteFilter> |
Die Klasse des Chatfilter-Teilsystems. |
text() |
Class<VeriteText> |
Die Klasse des Textformatierungs-Teilsystems. |
Alle Teilsysteme sind statische Fassaden, sodass du sie direkt aufrufst (zum Beispiel VeriteModeration.isBanned(uuid)). Die Zugriffsmethoden existieren zur Erkennung und für zentralisierte Aktiviert-Prüfungen.
VeriteModeration
Der vollständige Einstiegspunkt zum Verhängen, Abfragen und Aufheben von Strafen. durationMillis verwendet Punishment.PERMANENT für eine dauerhafte Strafe. Gate-Methoden geben true zurück, wenn sie den Spieler gestoppt haben. Siehe Benutzerdefinierte Moderationsdurchsetzung für den Gate- und Listener-Workflow im Detail.
Status und Abfragen
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
enabled() |
boolean |
Ob das Moderationsmodul geladen ist. |
isBanned(UUID player) |
boolean |
Ob der Spieler einen aktiven Bann hat. |
isMuted(UUID player) |
boolean |
Ob der Spieler eine aktive Stummschaltung hat. |
activeBan(UUID player) |
Punishment |
Der aktive Bann oder null. |
activeMute(UUID player) |
Punishment |
Die aktive Stummschaltung oder null. |
history(UUID player, int limit) |
List<Punishment> |
Jüngster Strafverlauf für den Spieler. |
byIp(String ip, int limit) |
List<Punishment> |
Gegen eine IP aufgezeichnete Strafen. |
byStaff(UUID staff, int limit) |
List<Punishment> |
Von einem Mitarbeiter verhängte Strafen. |
activeWarnings(UUID player) |
List<Punishment> |
Derzeit aktive Verwarnungen für den Spieler. |
activePunishments() |
List<ActivePunishment> |
Leichtgewichtige Zeiger auf jede aktive Strafe. |
activeOfType(PunishmentType type, long now) |
List<Punishment> |
Aktive Strafen eines Typs zu einem gegebenen Zeitpunkt. |
loadPunishment(long id) |
Punishment |
Der vollständige Datensatz für eine numerische ID oder null. |
altsOf(UUID player) |
List<UUID> |
Konten, die sich die erste bekannte IP des Spielers teilen. |
pruneHistory(UUID player, long cutoff, long now) |
int |
Entfernt Verlauf, der älter als der Stichtag ist, und gibt die Anzahl der entfernten zurück. |
warningExpire() |
long |
Das Ablauffenster für Verwarnungen in Millisekunden. |
Strafen verhängen
| Methode | Gibt zurück |
|---|---|
ban(UUID target, String targetName, String reason, UUID executor, String executorName, long durationMillis, boolean silent) |
PunishmentResult |
mute(UUID target, String targetName, String reason, UUID executor, String executorName, long durationMillis, boolean silent) |
PunishmentResult |
ipban(UUID target, String ip, String targetName, String reason, UUID executor, String executorName, long durationMillis, boolean silent) |
PunishmentResult |
ipmute(UUID target, String ip, String targetName, String reason, UUID executor, String executorName, long durationMillis, boolean silent) |
PunishmentResult |
warn(UUID target, String targetName, String reason, UUID executor, String executorName, boolean silent) |
PunishmentResult |
kick(UUID target, String targetName, String reason, UUID executor, String executorName, boolean silent) |
PunishmentResult |
Strafen aufheben
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
unban(UUID target, String targetName, UUID remover, String removerName, String reason) |
boolean |
Hebt den aktiven Bann auf, true bei Erfolg. |
unmute(UUID target, String targetName, UUID remover, String removerName, String reason) |
boolean |
Hebt die aktive Stummschaltung auf, true bei Erfolg. |
unwarn(UUID target, String targetName, UUID removedBy, String removedByName, String reason) |
PunishmentResult |
Entfernt eine Verwarnung. |
Rendering und Hinweise
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
banScreen(Punishment ban) |
String |
Der vollständige Bannbildschirm für einen Banndatensatz. |
muteLine(Punishment mute) |
String |
Die einzeilige Zusammenfassung der Stummschaltung. |
muteNotice(Punishment mute) |
String |
Der Stummschaltungshinweis, der an einen stummgeschalteten Spieler gesendet wird. |
Chat-Gates
Jedes Gate gibt true zurück, wenn der Spieler gestoppt werden sollte, und sendet ihm als Nebeneffekt den Grund. Verwende sie dort, wo du durchsetzen willst.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
muteGate(Player p) |
boolean |
Spieler ist stummgeschaltet; sendet den Stummschaltungshinweis. |
chatMuteGate(Player p) |
boolean |
Globaler Chat-Freeze ist aktiv; sendet den Freeze-Hinweis. |
slowmodeGate(Player p) |
boolean |
Spieler wird durch Slowmode aufgehalten; sendet die verbleibende Wartezeit. |
Chat-Befehle
Diese steuern die plugineigenen Chat-Befehle für einen CommandSender.
| Methode | Bedeutung |
|---|---|
broadcast(CommandSender sender, String[] args) |
Sendet eine Verbreitung. |
chatClear(CommandSender sender) |
Leert den Chat. |
chatMute(CommandSender sender) |
Schaltet den globalen Chat-Freeze um. |
slowmode(CommandSender sender, String[] args) |
Setzt den Slowmode. |
Listener
| Methode | Bedeutung |
|---|---|
registerListener(ModerationListener listener) |
Abonniert Strafaktivität. |
unregisterListener(ModerationListener listener) |
Beendet den Empfang von Ereignissen. |
VeritePlayerData
Liest und zeichnet die Konto-, Sitzungs- und Identitätsdaten auf, die das Moderationssystem speichert. Zeitstempel sind Epoch-Millisekunden. Wenn das Modul deaktiviert ist, geben Abfragen null oder leer zurück und Aufzeichnungsaufrufe sind No-Ops.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
enabled() |
boolean |
Ob der Datenspeicher geöffnet ist. |
hasProfile(UUID player) |
boolean |
Ob ein Profil existiert. |
profile(UUID player) |
PlayerProfile |
Das vollständige Profil oder null. |
uuidByName(String name) |
UUID |
Löst eine UUID aus einem Namen auf. |
nameOf(UUID player) |
String |
Löst den aktuellen Namen aus einer UUID auf. |
knownNames() |
List<String> |
Jeder bekannte Name im Speicher. |
namesOf(UUID player) |
List<String> |
Alle Namen, die ein Spieler verwendet hat. |
ipsOf(UUID player) |
List<String> |
Alle IPs, von denen aus sich ein Spieler verbunden hat. |
usersOfIp(String ip) |
List<UUID> |
Alle Nutzer, die sich eine IP geteilt haben. |
clientsOf(UUID player) |
List<String> |
Alle Clients, die ein Spieler verwendet hat. |
recordLogin(UUID player, String name, String ip, long now) |
void |
Zeichnet einen Login auf. |
recordClient(UUID player, String brand, int protocol, String referrer, long now) |
void |
Zeichnet eine Client-Marke und ein Protokoll auf. |
flushSession(UUID player, long now) |
void |
Leert die Sitzung des Spielers. |
recordLogout(UUID player, long now) |
void |
Zeichnet einen Logout auf. |
VeriteStore und VeriteScope
VeriteStore öffnet benannte Datenbereiche im gemeinsamen persistenten Schlüssel-Wert-Speicher des Plugins, sodass dein Plugin Daten neben Verité persistieren kann, ohne eine eigene Datenbank. Versieh deine Bereichsnamen mit einem Namespace, um Kollisionen mit Plugin-Daten zu vermeiden.
VeriteStore-Methode |
Gibt zurück | Bedeutung |
|---|---|---|
available() |
boolean |
Ob der Speicher geöffnet ist. |
scope(String name) |
VeriteScope |
Öffnet einen benannten Bereich oder null, wenn nicht verfügbar. |
Ein VeriteScope ist ein benannter Bereich, den du frei liest und beschreibst. Schreibvorgänge werden über den normalen Flush-Zyklus des Plugins persistiert.
VeriteScope-Methode |
Gibt zurück | Bedeutung |
|---|---|---|
set(String key, Object value) |
void |
Speichert einen Wert unter einem Schlüssel. |
delete(String key) |
void |
Entfernt einen Schlüssel. |
has(String key) |
boolean |
Prüft das Vorhandensein eines Schlüssels. |
get(String key) |
Object |
Der rohe gespeicherte Wert. |
getString(String key, String def) |
String |
Typisiertes Lesen mit einem Standardwert. |
getLong(String key, long def) |
long |
Typisiertes Lesen mit einem Standardwert. |
getInt(String key, int def) |
int |
Typisiertes Lesen mit einem Standardwert. |
getBoolean(String key, boolean def) |
boolean |
Typisiertes Lesen mit einem Standardwert. |
getBigDecimal(String key) |
BigDecimal |
Typisiertes Lesen. |
entries() |
List<ScopeEntry> |
Jedes Schlüssel-Wert-Paar im Bereich. |
VeriteScope scope = VeriteStore.scope("myplugin");
if (scope != null) {
scope.set("greeting", "hello");
String greeting = scope.getString("greeting", "");
}VeriteVanish
Vanish-Zustand und -Steuerung für Mitarbeiter. vanish, unvanish und toggle geben true zurück, wenn sich der Zustand tatsächlich geändert hat. Wenn das Modul deaktiviert ist, geben Abfragen false oder leer zurück und verändernde Aufrufe sind No-Ops.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
enabled() |
boolean |
Ob das Vanish-Modul geladen ist. |
isVanished(UUID player) |
boolean |
Ob ein Spieler versteckt ist. |
isVanished(Player player) |
boolean |
Bequeme Überladung für einen Online-Spieler. |
getVanished() |
Set<UUID> |
Jeder derzeit versteckte Spieler. |
vanish(Player p) |
boolean |
Versteckt einen Spieler. |
unvanish(Player p) |
boolean |
Macht einen Spieler wieder sichtbar. |
toggle(Player p) |
boolean |
Schaltet den Vanish-Zustand eines Spielers um. |
registerPlaceholders() |
void |
Registriert die PlaceholderAPI-Erweiterung für Vanish. |
registerListener(VanishListener listener) |
void |
Abonniert Vanish-Änderungen. |
unregisterListener(VanishListener listener) |
void |
Beendet den Empfang von Vanish-Ereignissen. |
VeriteCaptcha
Captcha-Herausforderungen ausstellen und verfolgen. challenge-Methoden geben true zurück, wenn tatsächlich eine Herausforderung gestartet wurde. Das Label source zeichnet auf, warum die Herausforderung geöffnet wurde, und wird bis zu den Abschluss- und Strafanforderungsereignissen weitergereicht. Wenn das Modul deaktiviert ist, geben alle Aufrufe false zurück.
| Member | Gibt zurück | Bedeutung |
|---|---|---|
VeriteCaptcha.BYPASS_PERMISSION |
String |
Der Berechtigungsknoten, der Captcha umgeht. |
VeriteCaptcha.NOTIFY_PERMISSION |
String |
Der Captcha-Benachrichtigungs-Berechtigungsknoten. |
enabled() |
boolean |
Ob das Captcha-Modul geladen ist. |
isActive(UUID player) |
boolean |
Ob für den Spieler eine Herausforderung aktiv ist. |
challengeStandard(Player player, String source) |
boolean |
Öffnet eine Standard-Herausforderung. |
challengeDetailed(Player player, String source) |
boolean |
Öffnet eine detaillierte Herausforderung. |
challenge(Player player, CaptchaType type, String source) |
boolean |
Öffnet eine Herausforderung eines expliziten Typs. |
VeriteFilter
Der umgehungsbewusste Chatfilter. Der vollständige Workflow, einschließlich anonymer Prüfungen, wiederholungssensitiver Prüfungen und der Hilfsmethoden für Blockmeldungen, ist in Integration benutzerdefinierter Chat-Systeme dokumentiert. Die Oberfläche:
| Member | Gibt zurück | Bedeutung |
|---|---|---|
VeriteFilter.ANONYMOUS |
UUID |
Als Spieler übergeben, wenn es keinen Täter gibt, gegen den aufgezeichnet werden soll. |
check(UUID player, String message) |
FilterResult |
Klassifiziert eine Nachricht und zeichnet den Treffer gegen den Spieler auf. |
check(UUID player, String message, boolean repeatAware) |
FilterOutcome |
Wiederholungssensitive Klassifizierung. |
count(UUID player) |
int |
Wie oft ein Spieler markiert wurde. |
blockMessage() |
String |
Die konfigurierte Blockmeldung. |
repeatMessage() |
String |
Der konfigurierte Wiederholungshinweis. |
selfHarmMessage() |
String |
Der konfigurierte Selbstverletzungshinweis. |
blockNotice(FilterResult result, String message) |
BaseComponent[] |
Die gerenderte Hinweiskomponente für ein Ergebnis. |
foldAccents(String s) |
String |
Normalisierungshilfe: entfernt Akzente. |
stripDeletes(String s) |
String |
Normalisierungshilfe: entfernt Zeichen ohne Breite und Löschzeichen. |
stripEntities(String s) |
String |
Normalisierungshilfe: entfernt HTML-artige Entities. |
reduceRuns(String s, int max) |
String |
Normalisierungshilfe: reduziert wiederholte Buchstaben. |
fingerprint(String word) |
String |
Reihenfolgenunabhängige Buchstabensignatur für den Abgleich von Transpositionen. |
trimEdges(String word) |
String |
Schneidet Nicht-Buchstaben-Ränder von einem Wort ab. |
Die Normalisierungshilfen sind reine Funktionen und können gefahrlos außerhalb des Haupt-Threads aufgerufen werden.
VeriteText
Analysiert Verite-Tag-Text und wendet das Präfix des Plugins so an, wie es das Plugin tut, sodass deine Ausgabe identisch gestylt wird.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
parse(String tagged) |
BaseComponent[] |
Analysiert Verite-Tags zu einem Komponenten-Array. |
prefixed(String tagged) |
BaseComponent[] |
Analysiert und stellt das Plugin-Präfix voran. |
prefix() |
String |
Das aktuelle Präfix. |
setPrefix(String prefix) |
void |
Ändert das Präfix. |
Hilfsmittel
VeriteGeoIp
Ermittelt das Land einer IP und prüft den Zustand der GeoIP-Datenbank.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
country(String ip) |
String |
Ländername für eine IP oder null, wenn nicht auflösbar. |
available() |
boolean |
Ob die GeoIP-Datenbank geladen wurde. |
isPrivate(String ip) |
boolean |
Ob eine IP in einem privaten oder reservierten Bereich liegt. |
attempted() |
boolean |
Ob ein Ladeversuch der Datenbank unternommen wurde. |
VeriteDuration
Analysiert und formatiert menschenlesbare Strafdauern, mit Millisekunden-Einheitenkonstanten: SECOND, MINUTE, HOUR, DAY, WEEK, MONTH, YEAR.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
suggestions() |
List<String> |
Vorgeschlagene Dauer-Token. |
parse(String token) |
long |
Analysiert ein Token wie 7d in Millisekunden. |
parseTwoToken(String number, String unitWord) |
long |
Analysiert eine getrennte Zahl und ein Einheitenwort in Millisekunden. |
format(long millis) |
String |
Formatiert Millisekunden in einen menschenlesbaren String. |
VeriteFormat
Formatiert Zeiten, bildet Plurale von Nomen und benennt Client-Protokollversionen.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
fancyTime(long millis) |
String |
Eine Millisekundenspanne als menschenlesbarer String. |
plural(long count, String noun) |
String |
Eine Anzahl mit dem korrekten Singular- oder Plural-Nomen. |
pluralize(long count, String noun) |
String |
Eine Anzahl mit dem korrekten Singular- oder Plural-Nomen. |
versionName(int protocol) |
String |
Der Minecraft-Versionsname für eine Client-Protokollnummer. |
VeriteLimits
Setzt dieselben aussteller-bezogenen Dauerobergrenzen und Abklingzeiten durch, die auch das Plugin verwendet.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
capDuration(CommandSender issuer, PunishmentType type, long requested) |
DurationCheck |
Validiert eine angeforderte Dauer und gibt den begrenzten Wert zurück. |
cooldownRemaining(CommandSender issuer, PunishmentType type, long now) |
long |
Millisekunden, bis der Aussteller wieder handeln darf. |
markUsed(CommandSender issuer, PunishmentType type, long now) |
void |
Zeichnet auf, dass ein Aussteller sein Kontingent genutzt hat. |
VeriteMojang
Löst einen Minecraft-Benutzernamen gegen Mojang auf, unter Verwendung desselben Pfads und Caches, die das Plugin verwendet.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
lookup(String name) |
MojangProfile |
Löst einen Namen zu einer UUID, einem kanonischen Namen und einem Status auf. |
VeriteExempt
Prüft, ob ein Aussteller daran gehindert ist, ein Ziel zu bestrafen.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
blockReason(CommandSender issuer, UUID target, PunishmentType type) |
String |
Der Grund, warum die Strafe nicht erlaubt ist, oder null, wenn erlaubt. |
VeriteLockdown
Fragt den Server-Lockdown-Zustand ab und steuert ihn. Im Kontext behandelt in Benutzerdefinierte Moderationsdurchsetzung.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
active() |
boolean |
Ob ein Lockdown in Kraft ist. |
reason() |
String |
Der aktuelle Lockdown-Grund. |
begin(String why) |
void |
Startet einen Lockdown mit einem Grund. |
end() |
void |
Hebt den Lockdown auf. |
VeriteConfig
Liest die effektive Konfiguration des Moderationsmoduls.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
banAlts() |
boolean |
Ob Alt-Konten gebannt werden. |
muteCommandBlacklist() |
List<String> |
Befehle, die während der Stummschaltung blockiert sind. |
warningExpire() |
long |
Das Ablauffenster für Verwarnungen in Millisekunden. |
useGroupWeights() |
boolean |
Ob Gruppengewichtungen verwendet werden. |
permitSameWeight() |
boolean |
Ob Aktionen bei gleicher Gewichtung erlaubt sind. |
reduceToLimit() |
boolean |
Ob Dauern auf das Ausstellerlimit reduziert werden. |
dupeipScanLimit() |
int |
Das Dupeip-Scan-Limit. |
yaml() |
YamlConfiguration |
Die rohe zugrunde liegende Konfiguration. |
Typen
Punishment
Ein unveränderlicher Moderationsdatensatz. PERMANENT ist der Sentinel-Endzeitstempel für eine dauerhafte Strafe (-1L). GLOBAL_SCOPE ist der Platzhalterbereich ("*"). Zeitstempel sind Epoch-Millisekunden. Eine null-Ziel-IP bedeutet, dass die Strafe UUID-bezogen statt IP-bezogen ist.
Accessoren: id(), randomId(), type(), uuid(), ip(), reason(), executorUuid(), executorName(), removedByUuid(), removedByName(), removalReason(), dateStart(), dateEnd(), serverScope(), serverOrigin(), template(), silent(), ipban(), active().
Abgeleitete Hilfsmethoden:
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
permanent() |
boolean |
Ob dateEnd gleich PERMANENT ist. |
expired(long now) |
boolean |
Ob eine temporäre Strafe ihr Ende überschritten hat. |
inForce(long now) |
boolean |
Ob der Datensatz aktiv und nicht abgelaufen ist. |
duration() |
long |
Gesamtdauer oder PERMANENT. |
remaining(long now) |
long |
Verbleibende Millisekunden oder PERMANENT. |
hasTemplate() |
boolean |
Ob der Datensatz eine Vorlage trägt. |
PunishmentType
Enum: BAN, MUTE, WARNING, KICK.
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
id() |
String |
Der kleingeschriebene Name in der Root-Locale. |
PunishmentType.of(String s) |
PunishmentType |
Analysiert die kleingeschriebene Form zurück, ohne Beachtung der Groß- und Kleinschreibung. |
PunishmentResult
Record: PunishmentResult(boolean ok, Punishment entry, String error). Bei Erfolg ist ok gleich true, entry hält die resultierende Strafe, und error ist null. Bei Fehlschlag ist entry gleich null und error hält den Grund.
ActivePunishment
Record: ActivePunishment(PunishmentType type, UUID uuid, long entryId). Ein leichtgewichtiger Zeiger; lade den vollständigen Datensatz mit VeriteModeration.loadPunishment(entryId).
FilterResult
Enum: CLEAN, BLOCK, SELF_HARM, ABUSE, PROFANITY. blocks() gibt für alles außer CLEAN den Wert true zurück. Eine Nachricht, die wegen Wiederholung einer kürzlichen gestoppt wurde, meldet hier BLOCK; verwende die wiederholungssensitive check-Überladung, um diese zu unterscheiden. SELF_HARM und ABUSE kennzeichnen einen Sprecher, der sich in einer Krise befinden könnte; behandle sie nicht als gewöhnliche Regelverstöße.
FilterOutcome
Der Wert von VeriteFilter.check(player, message, true).
| Methode | Gibt zurück | Bedeutung |
|---|---|---|
category() |
FilterResult |
Die gewöhnliche Filterkategorie, niemals null. |
repeat() |
boolean |
Ob die Blockierung eine Wiederholung war (nur dann true, wenn category() gleich BLOCK ist). |
blocks() |
boolean |
Ob die Nachricht verworfen werden sollte. |
PlayerProfile
Record mit den Feldern: uuid, name, names, ips, lastIp, clients, lastClient, protocol, referrer, firstJoin, lastSeen, joinCount, playtimeMs, online, punishments. Zeitstempel sind Epoch-Millisekunden. Listenfelder sind niemals null, können aber leer sein.
MojangProfile und MojangStatus
MojangProfile(UUID uuid, String name, MojangStatus status). Wenn status nicht FOUND ist, sind uuid und name gleich null.
MojangStatus: FOUND (aufgelöst), NOT_FOUND (Mojang hat bestätigt, dass es kein solches Konto gibt), UNKNOWN (die Abfrage konnte nicht abgeschlossen werden, zum Beispiel wegen eines Netzwerkfehlers).
DurationCheck
Record: DurationCheck(boolean ok, long durationMillis, String error). Wenn ok, hält durationMillis die möglicherweise begrenzte anzuwendende Dauer und error ist null. Wenn nicht ok, erklärt error die Ablehnung.
ScopeEntry
Record: ScopeEntry(String key, Object value). Ein Schlüssel-Wert-Paar aus einem Store-Bereich.
CaptchaType und CaptchaOutcomeType
CaptchaType: STANDARD (eine schnelle, reibungsarme Herausforderung), DETAILED (eine strengere mehrstufige Herausforderung).
CaptchaOutcomeType: PASS, FAIL, TIMEOUT.
Listener
ModerationListener
Implementiere und registriere über VeriteModeration.registerListener. Alle Methoden sind standardmäßig No-Ops, überschreibe also nur, was du brauchst. Callbacks können im Haupt-Thread des Servers laufen; blockiere nicht.
| Methode | Wird ausgelöst, wenn |
|---|---|
entryAdded(Punishment punishment) |
Eine Strafe verhängt wird. |
entryRemoved(Punishment punishment) |
Eine Strafe aufgehoben, begnadigt oder abgelaufen ist. |
broadcastSent(String message, String target) |
Das Moderationssystem eine Verbreitung sendet. |
VanishListener
Implementiere und registriere über VeriteVanish.registerListener. Standardmäßig No-Ops; blockiere nicht in Callbacks.
| Methode | Wird ausgelöst, wenn |
|---|---|
vanished(UUID player) |
Ein Spieler in den Vanish geht. |
unvanished(UUID player) |
Ein Spieler den Vanish verlässt. |