mirror of
https://github.com/plan-player-analytics/Plan.git
synced 2025-02-15 20:02:13 +01:00
Merge branch '4.0.0-BungeeCord-Support' of https://github.com/Rsl1122/Plan-PlayerAnalytics
This commit is contained in:
commit
eac4239b77
@ -1,138 +0,0 @@
|
||||
ENABLED <> Player Analytics aktiviert.
|
||||
DISABLED <> Player Analytics deaktiviert.
|
||||
RELOAD_COMPLETE <> §a[Plan] Reload abgeschlossen.
|
||||
CACHE_SAVE <> Daten im Cache werden gespeichert...
|
||||
CACHE_ADD <> ${0} wurde zum Cache hinzugefügt.
|
||||
CACHE_REMOVE <> ${0} wurde aus dem Cache gelöscht.
|
||||
CONFIG_HEADER <> Plan Config | Mehr Informationen auf https://www.spigotmc.org/wiki/plan-configuration/
|
||||
DB_INIT <> Datenbank Initialisierung...
|
||||
WEBSERVER_INIT <> Initialisiere Webserver...
|
||||
WEBSERVER_CLOSE <> Webserver wird heruntergefahren...
|
||||
WEBSERVER_RUNNING <> Webserver läuft auf PORT ${0}
|
||||
DB_CONNECTION_FAIL <> ${0}-Datenbank Verbindung fehlgeschlagen: ${1}
|
||||
DB_ESTABLISHED <> ${0}-Datenbank Verbindung hergestellt.
|
||||
DB_TYPE_DOES_NOT_EXIST <> Dieser Datenbank Typ existiert nicht.
|
||||
DB_FAILURE_DISABLE <> Datenbank Initialisierung fehlgeschlagen, deaktiviere Plan.
|
||||
NOTIFY_EMPTY_IP <> §e[Plan] IP in server.properties ist leer & Alternative ServerIP wird nicht benutzt, fehlerhafte Links werden ausgegeben!
|
||||
VERSION_NEW_AVAILABLE <> Eine neue Version (${0}) ist verfügbar auf https://www.spigotmc.org/resources/plan-player-analytics.32536/
|
||||
VERSION_LATEST <> Du benutzt die neueste Version.
|
||||
VERSION_CHECK_ERROR <> Versionen konnten nicht abgeglichen werden.
|
||||
VERSION_FAIL <> Die neueste Versionsnummer konnte nicht abgerufen werden.
|
||||
USERNAME_NOT_VALID <> §c[Plan] Dieser Spieler existiert nicht.
|
||||
USERNAME_NOT_SEEN <> §c[Plan] Dieser Spieler war noch nie auf diesem Server.
|
||||
USERNAME_NOT_KNOWN <> §c[Plan] Der Spielername konnte in der Datenbank nicht gefunden werden.
|
||||
GRABBING_DATA_MESSAGE <> Ȥ2 Hole Daten ins Cache...
|
||||
DEM_UNKNOWN <> Nicht bekannt
|
||||
NOT_IN_TOWN <> Nicht in einem Dorf
|
||||
NOT_IN_FAC <> Nicht in einer Faction
|
||||
COMMAND_TIMEOUT <> §c[Plan] ${0} Befehl ausgetimed! Der Error befindest sich vermutlich in der Serverkonsole.
|
||||
ANALYSIS_START <> Analyse | Beginne die Analyse der Spieler Daten...
|
||||
ANALYSIS_BOOT_NOTIFY <> Analyse | Boot Analyse in 30 Sekunden...
|
||||
ANALYSIS_BOOT <> Analyse | Starte Boot Analyse...
|
||||
ANALYSIS_FETCH_PLAYERS <> Analyse | Suche nach verfügbaren Spieler...
|
||||
ANALYSIS_FETCH_DATA <> Analyse | Hole Daten...
|
||||
ANALYSIS_FAIL_NO_PLAYERS <> Analyse | Analyse fehlgeschlagen, keine bekannten Spieler.
|
||||
ANALYSIS_FAIL_NO_DATA <> Analyse | Analyse fehlgeschlagen, keine Daten in der Datenbank.
|
||||
ANALYSIS_BEGIN_ANALYSIS <> Analyse | Daten geholt, beginne mit der Analyse der Daten...
|
||||
ANALYSIS_COMPLETE <> Analyse | Analyse vollständig.
|
||||
DATA_CORRUPTION_WARN <> Einige Daten könnten beschädigt sein: ${0}
|
||||
ERROR_NO_DATA_VIEW <> §eWebserver deaktiviert aber Alternative IP/PlanLite wird nicht benutzt, Daten können nicht angezeigt werden!
|
||||
ERROR_WEBSERVER_OFF_ANALYSIS <> §e[Plan] Dieser Befehl kann nur benutzt werden wenn der Webserver auf diesem Server läuft...
|
||||
ERROR_WEBSERVER_OFF_INSPECT <> §e[Plan] Dieser Befehl kann nur benutzt werden wenn Webserver/Planlite auf dem Server aktiviert ist.
|
||||
MANAGE_ERROR_INCORRECT_PLUGIN <> §c[Plan] Plugin nicht unterstützt:
|
||||
MANAGE_PROCESS_START <> Ȥ7 Verarbeite Daten...
|
||||
MANAGE_ERROR_PLUGIN_NOT_ENABLED <> §c[Plan] Plugin ist nicht aktiviert:
|
||||
MANAGE_ERROR_INCORRECT_DB <> §c[Plan] Falsche Datenbank! (SQlite/MySQL wird unterstützt):
|
||||
MANAGE_ERROR_SAME_DB <> §c[Plan] Kann nicht zur selben Datenbank bewegen!
|
||||
MANAGE_DATABASE_FAILURE <> §c[Plan] Eine der Datenbanken wurde nicht richtig initialisiert.
|
||||
MANAGE_DB_CONFIG_REMINDER <> §e[Plan] Vergiss nicht zur neuen Datenbank zu wechseln und das Plugin neu zu laden
|
||||
MANAGE_ERROR_NO_PLAYERS <> §c[Plan] Datenbank hat keine Spieler Daten!
|
||||
MANAGE_ERROR_BACKUP_FILE_NOT_FOUND <> §c[Plan] Sicherheitskopie existiert nicht!
|
||||
MANAGE_MOVE_SUCCESS <> §a[Plan] Alle Daten wurden erfolgreich verschoben!
|
||||
MANAGE_COPY_SUCCESS <> §a[Plan] Alle Daten wurden erfolgreich kopiert!
|
||||
MANAGE_PROCESS_FAIL <> §c[Plan] Irgendwas lief schief während die Daten verarbeitet wurden!
|
||||
MANAGE_CLEAR_SUCCESS <> §a[Plan] Alle Daten wurden erfolgreich gesäubert!
|
||||
MANAGE_REMOVE_SUCCESS <> §f» §2Daten von §f${0}§2 wurden aus dieser Datenbank entfernt §f${1}§2.
|
||||
MANAGE_IMPORTING <> §f» §2 Importiere Daten...
|
||||
MANAGE_SUCCESS <> §f» §2 Erfolgreich!
|
||||
CMD_ANALYZE_HEADER <> §f»§2 Player Analytics - Analyse Ergebnisse
|
||||
CMD_INSPECT_HEADER <> §f»§2 Player Analytics - Überprüfe die Ergebnisse:
|
||||
CMD_INFO_HEADER <> §f»§2 Player Analytics - Info
|
||||
CMD_INFO_VERSION <> §7 •§2§2 Version: §7${0}
|
||||
CMD_SEARCH_HEADER <> §f»§2 Player Analytics - Suchergebnisse für:
|
||||
CMD_HELP_HEADER <> §f»§2 Player Analytics - Hilfe
|
||||
CMD_MANAGE_HELP_HEADER <> §f»§2 Player Analytics - Management Hilfe
|
||||
CMD_MANAGE_STATUS_HEADER <> §f»§2 Player Analytics - Datenbank Status
|
||||
CMD_MANAGE_STATUS_ACTIVE_DB <> §7 •§2§2 Aktive Datenbank: §7${0}
|
||||
CMD_CLICK_ME <> Klick Mich
|
||||
CMD_LINK <> §7 •§2 Link: §f
|
||||
CMD_RESULTS_AVAILABLE <> §7 Die Ergebnisse werden für §f${0}§7 Minuten erreichbar sein.
|
||||
CMD_NO_RESULTS <> §7 •§2 Keine Ergebnisse für §7${0}§2.
|
||||
CMD_MATCH <> §7 Übereinstimmender Spieler: §f
|
||||
CMD_USG_ANALYZE <> Zeige die Server Analyse
|
||||
CMD_USG_HELP <> Zeige die Befehlsliste.
|
||||
CMD_USG_INFO <> Zeige die Version von Plan
|
||||
CMD_USG_INSPECT <> Prüfe Spieler Daten
|
||||
CMD_USG_MANAGE <> Datenbank Management Befehl
|
||||
CMD_USG_MANAGE_BACKUP <> Erstelle eine Sicherheitskopie der Datenbank als .db Datei
|
||||
CMD_USG_MANAGE_RESTORE <> Stelle eine Sicherheitskopie einer Datenbank aus einer Datei wieder her.
|
||||
CMD_USG_MANAGE_MOVE <> Kopiere Daten von einer Datenbank zur anderen & überschreibe die Werte
|
||||
CMD_USG_MANAGE_COMBINE <> Kopiere Daten von einer Datenbank zur anderen & kombiniere die Werte
|
||||
CMD_USG_MANAGE_IMPORT <> Importiere Daten von unterstützten Plugins zur aktiven Datenbank.
|
||||
CMD_USG_MANAGE_CLEAR <> Leere Daten aus einer Datenbank
|
||||
CMD_USG_MANAGE_REMOVE <> Entferne die Spieler Daten aus der aktiven Datenbank.
|
||||
CMD_USG_MANAGE_STATUS <> Überprüfe den Status der aktiven Datenbank.
|
||||
CMD_USG_MANAGE_HELP <> Zeige die Management Hilfe.
|
||||
CMD_USG_MANAGE_HOTSWAP <> Wechsle zu einer anderen Datenbank & starte das Plugin neu
|
||||
CMD_USG_RELOAD <> Lade die Plugin Konfiguration neu und & speichere die Daten aus dem Cache
|
||||
CMD_USG_SEARCH <> Suche nach einem Spieler
|
||||
ARG_SEARCH <> <Teil des Spielernamens>
|
||||
ARG_PLAYER <> <Spieler>
|
||||
ARG_RESTORE <> <Dateiname.db> <dbTo> [-a]
|
||||
ARG_IMPORT <> <Plugin> [-a]
|
||||
ARG_MOVE <> <vonDB> <nachDB> [-a]
|
||||
USE_RESTORE <> Nutze /plan manage restore <Dateiname.db> <dbTo> [-a]
|
||||
USE_MANAGE <> Nutze /plan manage für Hilfe
|
||||
USE_PLAN <> Nutze /plan für Hilfe
|
||||
USE_MOVE <> Nutze /plan manage move <vonDB> <nachDB> [-a]
|
||||
USE_COMBINE <> Nutze /plan manage combine <vonDB> <nachDB> [-a]
|
||||
USE_IMPORT <> Nutze /plan manage import <Plugin> [-a]
|
||||
WARN_REWRITE <> Daten in ${0}-Datenbank werden neu geschrieben!
|
||||
WARN_OVERWRITE <> Daten in ${0}-Datenbank werden überschrieben!
|
||||
WARN_OVERWRITE_SOME <> Einige Daten in ${0}-Datenbank werden überschrieben!
|
||||
WARN_REMOVE <> Daten in ${0}-Datenbank werden entfernt!
|
||||
COMMAND_SENDER_NOT_PLAYER <> §c[Plan] Dieser Befehl kann nur als Spieler benutzt werden.
|
||||
COMMAND_REQUIRES_ARGUMENTS <> §c[Plan] Dieser Befehl erfordert Argumente. ${0}
|
||||
COMMAND_ADD_CONFIRMATION_ARGUMENT <> §c[Plan] Füge -a hinzu um den Befehl zu bestätigen! ${0}
|
||||
COMMAND_REQUIRES_ARGUMENTS_ONE <> §c[Plan] Der Befehl benötigt ein Argument.
|
||||
COMMAND_NO_PERMISSION <> §c[Plan] Du hast nicht die benötigte Berechtigung.
|
||||
<<<<<<HTML>>>>>>
|
||||
WARN_INACCURATE <> <div class="warn">Daten könnten ungenau sein, der Spieler hat sich erst registriert.</div>
|
||||
BANNED <> | <span class="darkred">Gesperrt</span>
|
||||
OPERATOR <> , Operator (Op)
|
||||
ONLINE <> | <span class="darkgreen">Online</span>
|
||||
OFFLINE <> | <span class="darkred">Offline</span>
|
||||
ACTIVE <> | Spieler ist aktiv
|
||||
INACTIVE <> | Spieler ist inaktiv
|
||||
ERROR_LIST <> Error beim erstellen der Liste</p>
|
||||
HIDDEN <> Versteckt (config)
|
||||
FACTION_NOT_FOUND <> Faction nicht gefunden
|
||||
FACTION_NO_LEADER <> Kein Anführer
|
||||
FACTION_NO_FACTIONS <> Keine Factions
|
||||
WARPS <> <br/>Warps: ${0}
|
||||
ACHIEVEMENTS <> <br/>Errungenschaften: ${0}/${1}
|
||||
JAILED <> | Eingesperrt
|
||||
MUTED <> | Stummgeschaltet
|
||||
VOTES <> <br/>Hat ${0} mal gevoted
|
||||
FACTION <> <br/>Faction: ${0} | Power: ${1}/${2}
|
||||
TOWN <> <br/>Dorf: ${0}
|
||||
TOWN_NO_TOWNS <> Keine Dörfer
|
||||
GRAPH_BANNED <> Gesperrt
|
||||
GRAPH_UNKNOWN <> Unbekannt
|
||||
GRAPH_INACTIVE <> Inaktiv
|
||||
GRAPH_ACTIVE <> Aktiv
|
||||
TABLE_SESSIONS_START <> <table class="sortable table"><thead><tr><th>Session Started</th><th>Session Ended</th><th>Session Length</th></tr></thead><tbody>
|
||||
TABLE_FACTIONS_START <> <table class="sortable table"><thead><tr><th>Faction</th><th>Power</th><th>Land</th><th>Leader</th></tr></thead><tbody>
|
||||
TABLE_TOWNS_START <> <table class="sortable table"><thead><tr><th>Town</th><th>Residents</th><th>Land</th><th>Mayor</th></tr></thead><tbody>
|
||||
ERROR_TABLE_2 <> <tr><td><b>No data</b></td><td>No data</td></tr>
|
||||
SESSIONDATA_NONE <> Keine Session Daten verfügbar
|
@ -1,138 +0,0 @@
|
||||
ENABLED <> Player Analytics Enabled.
|
||||
DISABLED <> Player Analytics Disabled.
|
||||
RELOAD_COMPLETE <> §a[Plan] Reload complete.
|
||||
CACHE_SAVE <> Saving cached data..
|
||||
CACHE_ADD <> Added ${0} to Cache.
|
||||
CACHE_REMOVE <> Cleared ${0} from Cache.
|
||||
CONFIG_HEADER <> Plan Config | More info at https://www.spigotmc.org/wiki/plan-configuration/
|
||||
DB_INIT <> Database init..
|
||||
WEBSERVER_INIT <> Initializing Webserver..
|
||||
WEBSERVER_CLOSE <> Shutting down Webserver..
|
||||
WEBSERVER_RUNNING <> Webserver running on PORT ${0}
|
||||
DB_CONNECTION_FAIL <> ${0}-Database Connection failed: ${1}
|
||||
DB_ESTABLISHED <> ${0}-database connection established.
|
||||
DB_TYPE_DOES_NOT_EXIST <> That database type doesn't exist.
|
||||
DB_FAILURE_DISABLE <> Database initialization has failed, disabling Plan.
|
||||
NOTIFY_EMPTY_IP <> §e[Plan] IP in server.properties is empty & AlternativeServerIP is not used, incorrect links will be given!
|
||||
VERSION_NEW_AVAILABLE <> New Version (${0}) is available at https://www.spigotmc.org/resources/plan-player-analytics.32536/
|
||||
VERSION_LATEST <> You're running the latest version
|
||||
VERSION_CHECK_ERROR <> Failed to compare versions.
|
||||
VERSION_FAIL <> Failed to get newest version number.
|
||||
USERNAME_NOT_VALID <> §c[Plan] This Player doesn't exist.
|
||||
USERNAME_NOT_SEEN <> §c[Plan] This Player has not played on this server.
|
||||
USERNAME_NOT_KNOWN <> §c[Plan] Player not found from the database.
|
||||
GRABBING_DATA_MESSAGE <> §2 Fetching data to cache..
|
||||
DEM_UNKNOWN <> Not Known
|
||||
NOT_IN_TOWN <> Not in a town
|
||||
NOT_IN_FAC <> Not in a faction
|
||||
COMMAND_TIMEOUT <> §c[Plan] ${0} Command timed out! Error most likely on console.
|
||||
ANALYSIS_START <> Analysis | Beginning analysis of user data..
|
||||
ANALYSIS_BOOT_NOTIFY <> Analysis | Boot analysis in 30 seconds..
|
||||
ANALYSIS_BOOT <> Analysis | Starting Boot Analysis..
|
||||
ANALYSIS_FETCH_PLAYERS <> Analysis | Checking for available players..
|
||||
ANALYSIS_FETCH_DATA <> Analysis | Fetching Data..
|
||||
ANALYSIS_FAIL_NO_PLAYERS <> Analysis | Analysis failed, no known players.
|
||||
ANALYSIS_FAIL_NO_DATA <> Analysis | Analysis failed, no data in the database.
|
||||
ANALYSIS_BEGIN_ANALYSIS <> Analysis | Data Fetched, beginning Analysis of data..
|
||||
ANALYSIS_COMPLETE <> Analysis | Analysis Complete.
|
||||
DATA_CORRUPTION_WARN <> Some data might be corrupted: ${0}
|
||||
ERROR_NO_DATA_VIEW <> §eWebserver disabled but Alternative IP/PlanLite not used, no way to view data!
|
||||
ERROR_WEBSERVER_OFF_ANALYSIS <> §e[Plan] This command can be only used if the webserver is running on this server.
|
||||
ERROR_WEBSERVER_OFF_INSPECT <> §e[Plan] This command can be only used if webserver/planlite is enabled on this server.
|
||||
MANAGE_ERROR_INCORRECT_PLUGIN <> §c[Plan] Plugin not supported:
|
||||
MANAGE_PROCESS_START <> §§7 Processing data..
|
||||
MANAGE_ERROR_PLUGIN_NOT_ENABLED <> §c[Plan] Plugin is not enabled:
|
||||
MANAGE_ERROR_INCORRECT_DB <> §c[Plan] Incorrect database! (sqlite/mysql accepted):
|
||||
MANAGE_ERROR_SAME_DB <> §c[Plan] Can't move to the same database!
|
||||
MANAGE_DATABASE_FAILURE <> §c[Plan] One of the databases was not initialized properly.
|
||||
MANAGE_DB_CONFIG_REMINDER <> §e[Plan] Remember to swap to the new database and reload plugin
|
||||
MANAGE_ERROR_NO_PLAYERS <> §c[Plan] Database has no player data!
|
||||
MANAGE_ERROR_BACKUP_FILE_NOT_FOUND <> §c[Plan] Backup file doesn't exist!
|
||||
MANAGE_MOVE_SUCCESS <> §a[Plan] All data moved successfully!
|
||||
MANAGE_COPY_SUCCESS <> §a[Plan] All data copied successfully!
|
||||
MANAGE_PROCESS_FAIL <> §c[Plan] Something went wrong while processing the data!
|
||||
MANAGE_CLEAR_SUCCESS <> §a[Plan] All data cleared successfully!
|
||||
MANAGE_REMOVE_SUCCESS <> §f§ §2Data of §f${0}§2 was removed from Database §f${1}§2.
|
||||
MANAGE_IMPORTING <> §f§ §2 Importing Data..
|
||||
MANAGE_SUCCESS <> §f§ §2 Success!
|
||||
CMD_ANALYZE_HEADER <> §f§§2 Player Analytics - Analysis results
|
||||
CMD_INSPECT_HEADER <> §f§§2 Player Analytics - Inspect results:
|
||||
CMD_INFO_HEADER <> §f§§2 Player Analytics - Info
|
||||
CMD_INFO_VERSION <> §7 §§2§2 Version: §7${0}
|
||||
CMD_SEARCH_HEADER <> §f§§2 Player Analytics - Search results for:
|
||||
CMD_HELP_HEADER <> §f§§2 Player Analytics - Help
|
||||
CMD_MANAGE_HELP_HEADER <> §f§§2 Player Analytics - Managment Help
|
||||
CMD_MANAGE_STATUS_HEADER <> §f§§2 Player Analytics - Database status
|
||||
CMD_MANAGE_STATUS_ACTIVE_DB <> §7 §§2§2 Active Database: §7${0}
|
||||
CMD_CLICK_ME <> Click Me
|
||||
CMD_LINK <> §7 §§2 Link: §f
|
||||
CMD_RESULTS_AVAILABLE <> §7 Results will be available for §f${0}§7 minutes.
|
||||
CMD_NO_RESULTS <> §7 §§2 No results for §7${0}§2.
|
||||
CMD_MATCH <> §7 Matching player: §f
|
||||
CMD_USG_ANALYZE <> View the Server Analysis
|
||||
CMD_USG_HELP <> Show command list.
|
||||
CMD_USG_INFO <> View Version of Plan
|
||||
CMD_USG_INSPECT <> Inspect Player's Data
|
||||
CMD_USG_MANAGE <> Database management command
|
||||
CMD_USG_MANAGE_BACKUP <> Backup a database to .db file
|
||||
CMD_USG_MANAGE_RESTORE <> Restore a database from a backup file
|
||||
CMD_USG_MANAGE_MOVE <> Copy data from one database to another & overwrite values
|
||||
CMD_USG_MANAGE_COMBINE <> Copy data from one database to another & combine values
|
||||
CMD_USG_MANAGE_IMPORT <> Import Data from supported plugins to Active Database.
|
||||
CMD_USG_MANAGE_CLEAR <> Clear data from one database
|
||||
CMD_USG_MANAGE_REMOVE <> Remove players's data from the Active Database.
|
||||
CMD_USG_MANAGE_STATUS <> Check the status of the Active Database.
|
||||
CMD_USG_MANAGE_HELP <> Show management help.
|
||||
CMD_USG_MANAGE_HOTSWAP <> Hotswap to another database & restart the plugin
|
||||
CMD_USG_RELOAD <> Reload plugin config & save cached data
|
||||
CMD_USG_SEARCH <> Search for player
|
||||
ARG_SEARCH <> <part of playername>
|
||||
ARG_PLAYER <> <player>
|
||||
ARG_RESTORE <> <Filename.db> <dbTo> [-a]
|
||||
ARG_IMPORT <> <plugin> [-a]
|
||||
ARG_MOVE <> <fromDB> <toDB> [-a]
|
||||
USE_RESTORE <> Use /plan manage restore <Filename.db> <dbTo> [-a]
|
||||
USE_MANAGE <> Use /plan manage for help
|
||||
USE_PLAN <> Use /plan for help
|
||||
USE_MOVE <> Use /plan manage move <fromDB> <toDB> [-a]
|
||||
USE_COMBINE <> Use /plan manage combine <fromDB> <toDB> [-a]
|
||||
USE_IMPORT <> Use /plan manage import <plugin> [-a]
|
||||
WARN_REWRITE <> Data in ${0}-database will be rewritten!
|
||||
WARN_OVERWRITE <> Data in ${0}-database will be overwritten!
|
||||
WARN_OVERWRITE_SOME <> Some data in ${0}-database will be overwritten!
|
||||
WARN_REMOVE <> Data in ${0}-database will be removed!
|
||||
COMMAND_SENDER_NOT_PLAYER <> §c[Plan] This command can be only used as a player.
|
||||
COMMAND_REQUIRES_ARGUMENTS <> §c[Plan] Command requires arguments. ${0}
|
||||
COMMAND_ADD_CONFIRMATION_ARGUMENT <> §c[Plan] Add -a to confirm execution! ${0}
|
||||
COMMAND_REQUIRES_ARGUMENTS_ONE <> §c[Plan] Command requires one argument.
|
||||
COMMAND_NO_PERMISSION <> §c[Plan] You do not have the required permission.
|
||||
<<<<<<HTML>>>>>>
|
||||
WARN_INACCURATE <> <div class="warn">Data might be inaccurate, player has just registered.</div>
|
||||
BANNED <> | <span class="darkred">Banned</span>
|
||||
OPERATOR <> , Operator (Op)
|
||||
ONLINE <> | <span class="darkgreen">Online</span>
|
||||
OFFLINE <> | <span class="darkred">Offline</span>
|
||||
ACTIVE <> | Player is Active
|
||||
INACTIVE <> | Player is inactive
|
||||
ERROR_LIST <> Error Creating List</p>
|
||||
HIDDEN <> Hidden (config)
|
||||
FACTION_NOT_FOUND <> Faction not found
|
||||
FACTION_NO_LEADER <> No leader
|
||||
FACTION_NO_FACTIONS <> No Factions
|
||||
WARPS <> <br/>Warps: ${0}
|
||||
ACHIEVEMENTS <> <br/>Achievements: ${0}/${1}
|
||||
JAILED <> | Jailed
|
||||
MUTED <> | Muted
|
||||
VOTES <> <br/>Has voted ${0}times
|
||||
FACTION <> <br/>Faction: ${0} | Power: ${1}/${2}
|
||||
TOWN <> <br/>Town: ${0}
|
||||
TOWN_NO_TOWNS <> No Towns
|
||||
GRAPH_BANNED <> Banned
|
||||
GRAPH_UNKNOWN <> Unknown
|
||||
GRAPH_INACTIVE <> Inactive
|
||||
GRAPH_ACTIVE <> Active
|
||||
TABLE_SESSIONS_START <> <table class="sortable table"><thead><tr><th>Session Started</th><th>Session Ended</th><th>Session Length</th></tr></thead><tbody>
|
||||
TABLE_FACTIONS_START <> <table class="sortable table"><thead><tr><th>Faction</th><th>Power</th><th>Land</th><th>Leader</th></tr></thead><tbody>
|
||||
TABLE_TOWNS_START <> <table class="sortable table"><thead><tr><th>Town</th><th>Residents</th><th>Land</th><th>Mayor</th></tr></thead><tbody>
|
||||
ERROR_TABLE_2 <> <tr><td><b>No data</b></td><td>No data</td></tr>
|
||||
SESSIONDATA_NONE <> No Session Data available
|
@ -1,138 +0,0 @@
|
||||
ENABLED <> Player Analytics Käynnistetty.
|
||||
DISABLED <> Player Analytics Sammutettu.
|
||||
RELOAD_COMPLETE <> §a[Plan] Reload suoritettu.
|
||||
CACHE_SAVE <> Tallennetaan välimuistin tietoja..
|
||||
CACHE_ADD <> ${0} lisätty välimuistiin.
|
||||
CACHE_REMOVE <> ${0} poistettu välimuistista.
|
||||
CONFIG_HEADER <> Plan Config | More info at https://www.spigotmc.org/wiki/plan-configuration/
|
||||
DB_INIT <> Tietokannan käynnistys..
|
||||
WEBSERVER_INIT <> WebServerin käynnistys..
|
||||
WEBSERVER_CLOSE <> Suljetaan WebServer..
|
||||
WEBSERVER_RUNNING <> Webserver puörii PORTILLA ${0}
|
||||
DB_CONNECTION_FAIL <> ${0}-Tietokantayhteys ei onnistunut: ${1}
|
||||
DB_ESTABLISHED <> ${0}-yhteys luotu.
|
||||
DB_TYPE_DOES_NOT_EXIST <> Tietokantatyyppiä ei tueta.
|
||||
DB_FAILURE_DISABLE <> Tietokannan käynnistys epäonnistui, suljetaan Plan.
|
||||
NOTIFY_EMPTY_IP <> §e[Plan] IP server.properties-tiedostossa on tyhjä & AlternativeServerIP-asetusta ei käytetä, plugin antaa virheellisiä linkkejä!
|
||||
VERSION_NEW_AVAILABLE <> Uusi versio (${0}) on saatavilla: https://www.spigotmc.org/resources/plan-player-analytics.32536/
|
||||
VERSION_LATEST <> Käytät viimeisintä versiota
|
||||
VERSION_CHECK_ERROR <> Virhe vertaillessa versioita.
|
||||
VERSION_FAIL <> Virhe haettaessa versionumeroa.
|
||||
USERNAME_NOT_VALID <> §c[Plan] Pelaajaa ei ole olemassa.
|
||||
USERNAME_NOT_SEEN <> §c[Plan] Pelaaja ei ole pelannut tällä serverillä.
|
||||
USERNAME_NOT_KNOWN <> §c[Plan] Pelaajaa ei löytynyt tietokannasta.
|
||||
GRABBING_DATA_MESSAGE <> »§2 Haetaan tietoja välimuistiin..
|
||||
DEM_UNKNOWN <> Ei tiedossa
|
||||
NOT_IN_TOWN <> Ei kylässä
|
||||
NOT_IN_FAC <> Ei killassa
|
||||
COMMAND_TIMEOUT <> §c[Plan] ${0} Komennon aikakatkaisu. Virhe tod.näk. konsolissa
|
||||
ANALYSIS_START <> Analysis | Aloitetaan analyysi..
|
||||
ANALYSIS_BOOT_NOTIFY <> Analysis | Käynnistyksen yhteinen analyysi 30 sekunnin kuluttua..
|
||||
ANALYSIS_BOOT <> Analysis | Aloitetaan käynnistyksen yhteinen analyysi..
|
||||
ANALYSIS_FETCH_PLAYERS <> Analysis | Tarkistetaan saatavilla olevia pelaajia..
|
||||
ANALYSIS_FETCH_DATA <> Analysis | Haetaan dataa..
|
||||
ANALYSIS_FAIL_NO_PLAYERS <> Analysis | Analyysi epäonnistui, ei pelaajia.
|
||||
ANALYSIS_FAIL_NO_DATA <> Analysis | Analyysi epäonnistui, ei tietoa tietokannassa.
|
||||
ANALYSIS_BEGIN_ANALYSIS <> Analysis | Tieto haettu, aloitetaan tiedon työstäminen..
|
||||
ANALYSIS_COMPLETE <> Analysis | Analyysi valmis.
|
||||
DATA_CORRUPTION_WARN <> Jonkun data voi olla korruptoitunut: ${0}
|
||||
ERROR_NO_DATA_VIEW <> §eWebserver on poissa käytössä eikä Alternative IP ole käytössä, no way to view data!
|
||||
ERROR_WEBSERVER_OFF_ANALYSIS <> §e[Plan] Tätä komentoa voi käyttää vain jos Webserver pyörii serverillä.
|
||||
ERROR_WEBSERVER_OFF_INSPECT <> §e[Plan] Tätä komentoa voi käyttää vain jos Webserver pyörii serverillä.
|
||||
MANAGE_ERROR_INCORRECT_PLUGIN <> §c[Plan] Pluginia ei tueta:
|
||||
MANAGE_PROCESS_START <> Ȥ7 Prosessoidaan tietoa..
|
||||
MANAGE_ERROR_PLUGIN_NOT_ENABLED <> §c[Plan] Plugin ei ole käynnissä:
|
||||
MANAGE_ERROR_INCORRECT_DB <> §c[Plan] Väärä tietokanta! (sqlite/mysql hyväksytään):
|
||||
MANAGE_ERROR_SAME_DB <> §c[Plan] Et voi siirtää tietoa samaan tietokantaan!
|
||||
MANAGE_DATABASE_FAILURE <> §c[Plan] Toinen tietokannoista ei käynnistynyt kunnolla.
|
||||
MANAGE_DB_CONFIG_REMINDER <> §e[Plan] Muista vaihtaa uuteen tietokantaan ja ladata Plan uudelleen.
|
||||
MANAGE_ERROR_NO_PLAYERS <> §c[Plan] Tietokannassa ei ole tietoa!
|
||||
MANAGE_ERROR_BACKUP_FILE_NOT_FOUND <> §c[Plan] Varmuuskopio-tiedostoa ei ole olemassa!
|
||||
MANAGE_MOVE_SUCCESS <> §a[Plan] Kaikki tieto siirretty onnistuneesti!
|
||||
MANAGE_COPY_SUCCESS <> §a[Plan] Kaikki tieto kopioitu onnistuneesti!
|
||||
MANAGE_PROCESS_FAIL <> §c[Plan] Jokin meni pieleen työstäessä tietoa!
|
||||
MANAGE_CLEAR_SUCCESS <> §a[Plan] Kaikki tieto poistettu onnistuneesti!
|
||||
MANAGE_REMOVE_SUCCESS <> §f» §2§f${0}n§2 tiedot poistettiin §f${1}§2-tietokannasta.
|
||||
MANAGE_IMPORTING <> §f» §2 Tuodaan tietoa..
|
||||
MANAGE_SUCCESS <> §f» §2 Onnistui!
|
||||
CMD_ANALYZE_HEADER <> §f»§2 Player Analytics - Analyysin tulokset
|
||||
CMD_INSPECT_HEADER <> §f»§2 Player Analytics - Inspect tulokset:
|
||||
CMD_INFO_HEADER <> §f»§2 Player Analytics - Info
|
||||
CMD_INFO_VERSION <> §7 •§2§2 Versio: §7${0}
|
||||
CMD_SEARCH_HEADER <> §f»§2 Player Analytics - Haun tulokset:
|
||||
CMD_HELP_HEADER <> §f»§2 Player Analytics - Apua
|
||||
CMD_MANAGE_HELP_HEADER <> §f»§2 Player Analytics - Managment-komennon apu
|
||||
CMD_MANAGE_STATUS_HEADER <> §f»§2 Player Analytics - Tietokannan tila
|
||||
CMD_MANAGE_STATUS_ACTIVE_DB <> §7 •§2§2 Aktiivinen tietokanta: §7${0}
|
||||
CMD_CLICK_ME <> Klikkaa minua!
|
||||
CMD_LINK <> §7 •§2 Linkki: §f
|
||||
CMD_RESULTS_AVAILABLE <> §7 Tulokset saatavilla §f${0}§7 minuuttia.
|
||||
CMD_NO_RESULTS <> §7 •§2 Ei tuloksia §7${0}§2.
|
||||
CMD_MATCH <> §7 Vastaava pelaaja: §f
|
||||
CMD_USG_ANALYZE <> Tarkastele analyysia
|
||||
CMD_USG_HELP <> Tarkastele komentoja.
|
||||
CMD_USG_INFO <> Tarkasta Plan-versio
|
||||
CMD_USG_INSPECT <> Tarkastele pelaajan tietoja
|
||||
CMD_USG_MANAGE <> Tietokannan hallinta komento
|
||||
CMD_USG_MANAGE_BACKUP <> Varmuuskopioi tietokanta .db-tiedostoon
|
||||
CMD_USG_MANAGE_RESTORE <> Palauta varmuuskopio tiedostosta
|
||||
CMD_USG_MANAGE_MOVE <> Kopioi tiedot yhdestä tietokannasta toiseen ja korvaa edelliset arvot
|
||||
CMD_USG_MANAGE_COMBINE <> Kopioi tiedot yhdestä tietokannasta toiseen ja yhdistä arvot
|
||||
CMD_USG_MANAGE_IMPORT <> Tuo dataa tuetuista plugineista aktiiviseen tietokantaan
|
||||
CMD_USG_MANAGE_CLEAR <> Tyhjennä tiedot tietokannasta
|
||||
CMD_USG_MANAGE_REMOVE <> Poista pelaajan tiedot aktiivisesta tietokannasta.
|
||||
CMD_USG_MANAGE_STATUS <> Tarkista aktiivisen tietokannan tila.
|
||||
CMD_USG_MANAGE_HELP <> Näytä manage-komennon apu.
|
||||
CMD_USG_MANAGE_HOTSWAP <> Vaihda tietokantaa ja lataa Plan uudelleen
|
||||
CMD_USG_RELOAD <> Lataa Plan-config ja tallenna välimuisti
|
||||
CMD_USG_SEARCH <> Etsi pelaajaa
|
||||
ARG_SEARCH <> <nimen osa>
|
||||
ARG_PLAYER <> <pelaaja>
|
||||
ARG_RESTORE <> <Tiedostonimi.db> <tietokantaanDB> [-a]
|
||||
ARG_IMPORT <> <plugin> [-a]
|
||||
ARG_MOVE <> <tietokannastaDB> <tietokantaanDB> [-a]
|
||||
USE_RESTORE <> Käytä /plan manage restore <Tiedostonimi.db> <tietokantaanDB> [-a]
|
||||
USE_MANAGE <> Käytä /plan nähdäksesi apu
|
||||
USE_PLAN <> Käytä /plan nähdäksesi apu
|
||||
USE_MOVE <> Käytä /plan manage move <tietokannastaDB> <tietokantaanDB> [-a]
|
||||
USE_COMBINE <> Käytä /plan manage combine <tietokannastaDB> <tietokantaanDB> [-a]
|
||||
USE_IMPORT <> Käytä /plan manage import <plugin> [-a]
|
||||
WARN_REWRITE <> Tiedot ${0}-tietokannassa uudelleenkirjoitetaan!
|
||||
WARN_OVERWRITE <> Tiedot ${0}-tietokannassa ylikirjoitetaan!
|
||||
WARN_OVERWRITE_SOME <> Osa tiedoista ${0}-tietokannassa ylikirjoitetaan!
|
||||
WARN_REMOVE <> Tiedot ${0}-tietokannasta poistetaan!
|
||||
COMMAND_SENDER_NOT_PLAYER <> §c[Plan] Tätä komentoa voi käyttää vain pelaaja.
|
||||
COMMAND_REQUIRES_ARGUMENTS <> §c[Plan] Komento tarvii argumentteja. ${0}
|
||||
COMMAND_ADD_CONFIRMATION_ARGUMENT <> §c[Plan] Lisää -a vahvistaaksesi komennon ajo! ${0}
|
||||
COMMAND_REQUIRES_ARGUMENTS_ONE <> §c[Plan] Komento tarvii yhden argumentin.
|
||||
COMMAND_NO_PERMISSION <> §c[Plan] Ei oo lupaa!
|
||||
<<<<<<HTML>>>>>>
|
||||
WARN_INACCURATE <> <div class="warn">Tiedot voivat olla epätarkkoja, pelaaja rekisteröityi juuri.</div>
|
||||
BANNED <> | <span class="darkred">Pannassa</span>
|
||||
OPERATOR <> , Operaattori (Op)
|
||||
ONLINE <> | <span class="darkgreen">Online</span>
|
||||
OFFLINE <> | <span class="darkred">Offline</span>
|
||||
ACTIVE <> | Pelaaja on aktiivinen
|
||||
INACTIVE <> | Pelaaja on inaktiivinen
|
||||
ERROR_LIST <> Virhe luodessa listaa</p>
|
||||
HIDDEN <> Piilotettu (config)
|
||||
FACTION_NOT_FOUND <> Kiltaa ei löytynyt
|
||||
FACTION_NO_LEADER <> Ei johtajaa
|
||||
FACTION_NO_FACTIONS <> Ei kiltoja
|
||||
WARPS <> <br/>Warpit: ${0}
|
||||
ACHIEVEMENTS <> <br/>Achievementit: ${0}/${1}
|
||||
JAILED <> | Vankilassa
|
||||
MUTED <> | Mutetettu
|
||||
VOTES <> <br/>On äänestänyt ${0}kertaa
|
||||
FACTION <> <br/>Kilta: ${0} | Voima: ${1}/${2}
|
||||
TOWN <> <br/>Kylä: ${0}
|
||||
TOWN_NO_TOWNS <> Ei kyliä
|
||||
GRAPH_BANNED <> Pannassa
|
||||
GRAPH_UNKNOWN <> Ei tiedossa
|
||||
GRAPH_INACTIVE <> Inaktiivi
|
||||
GRAPH_ACTIVE <> Aktiivinen
|
||||
TABLE_SESSIONS_START <> <table class="sortable table"><thead><tr><th>Sessio alkoi</th><th>Sessio loppui</th><th>Session pituus</th></tr></thead><tbody>
|
||||
TABLE_FACTIONS_START <> <table class="sortable table"><thead><tr><th>Kilta</th><th>Voima</th><th>Maa</th><th>Johtaja</th></tr></thead><tbody>
|
||||
TABLE_TOWNS_START <> <table class="sortable table"><thead><tr><th>Kylä</th><th>Asukkaita</th><th>Maa</th><th>Pormestari</th></tr></thead><tbody>
|
||||
ERROR_TABLE_2 <> <tr><td><b>Ei dataa</b></td><td>Ei dataa</td></tr>
|
||||
SESSIONDATA_NONE <> Ei sessio dataa saatavilla
|
@ -8,6 +8,7 @@ import main.java.com.djrapitops.plan.Settings;
|
||||
import main.java.com.djrapitops.plan.data.TPS;
|
||||
import main.java.com.djrapitops.plan.data.UserData;
|
||||
import main.java.com.djrapitops.plan.data.handling.info.HandlingInfo;
|
||||
import main.java.com.djrapitops.plan.data.handling.info.LogoutInfo;
|
||||
import main.java.com.djrapitops.plan.data.handling.info.ReloadInfo;
|
||||
import main.java.com.djrapitops.plan.database.Database;
|
||||
import main.java.com.djrapitops.plan.locale.Locale;
|
||||
@ -109,7 +110,7 @@ public class DataCacheHandler extends SessionCache {
|
||||
*/
|
||||
public void startQueues() {
|
||||
getTask = new DataCacheGetQueue(plugin);
|
||||
processTask = new DataCacheProcessQueue(this);
|
||||
processTask = new DataCacheProcessQueue();
|
||||
clearTask = new DataCacheClearQueue(this);
|
||||
saveTask = new DataCacheSaveQueue(plugin, this);
|
||||
}
|
||||
@ -235,11 +236,12 @@ public class DataCacheHandler extends SessionCache {
|
||||
*
|
||||
* @param i Object that extends HandlingInfo.
|
||||
*/
|
||||
@Deprecated
|
||||
public void addToPool(HandlingInfo i) {
|
||||
if (i == null) {
|
||||
return;
|
||||
}
|
||||
//TODO processTask.addToPool(i);
|
||||
processTask.addToQueue(i);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -264,11 +266,11 @@ public class DataCacheHandler extends SessionCache {
|
||||
UUID uuid = p.getUuid();
|
||||
endSession(uuid);
|
||||
String worldName = ((Player) p.getWrappedPlayerClass()).getWorld().getName();
|
||||
//TODO toProcess.add(new LogoutInfo(uuid, time, p.isBanned(), p.getGamemode().name(), getSession(uuid), worldName));
|
||||
toProcess.add(new LogoutInfo(uuid, time, p.isBanned(), p.getGamemode().name(), getSession(uuid), worldName));
|
||||
}
|
||||
Log.debug("ToProcess size_AFTER: " + toProcess.size() + " DataCache size: " + dataCache.keySet().size());
|
||||
//TODO toProcess.sort(new HandlingInfoTimeComparator());
|
||||
//TODO processUnprocessedHandlingInfo(toProcess);
|
||||
// toProcess.sort(new HandlingInfoTimeComparator());
|
||||
processUnprocessedHandlingInfo(toProcess);
|
||||
Benchmark.stop("Cache: ProcessOnlineHandlingInfo");
|
||||
List<UserData> data = new ArrayList<>();
|
||||
data.addAll(dataCache.values());
|
||||
@ -292,16 +294,10 @@ public class DataCacheHandler extends SessionCache {
|
||||
Benchmark.stop("Cache: SaveOnDisable");
|
||||
}
|
||||
|
||||
private void processUnprocessedHandlingInfo(List<HandlingInfo> toProcess) {
|
||||
private void processUnprocessedHandlingInfo(List<Processor> toProcess) {
|
||||
Log.debug("PROCESS: " + toProcess.size());
|
||||
for (HandlingInfo i : toProcess) {
|
||||
UserData uData = dataCache.get(i.getUuid());
|
||||
if (uData == null) {
|
||||
DBCallableProcessor p = i::process;
|
||||
getUserDataForProcessing(p, i.getUuid());
|
||||
} else {
|
||||
i.process(uData);
|
||||
}
|
||||
for (Processor i : toProcess) {
|
||||
i.process();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -147,8 +147,7 @@ public abstract class Importer {
|
||||
public HandlingInfo importData(UUID uuid, String... args) {
|
||||
return new HandlingInfo(uuid, InfoType.OTHER, 0) {
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
return true;
|
||||
public void process(UserData uData) {
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@ -27,11 +27,10 @@ public class ChatInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
ChatHandling.processChatInfo(uData, nickname);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -22,11 +22,10 @@ public class DeathInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
uData.setDeaths(uData.getDeaths() + 1);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,9 @@
|
||||
package main.java.com.djrapitops.plan.data.handling.info;
|
||||
|
||||
import main.java.com.djrapitops.plan.Plan;
|
||||
import main.java.com.djrapitops.plan.data.UserData;
|
||||
import main.java.com.djrapitops.plan.data.cache.DBCallableProcessor;
|
||||
import main.java.com.djrapitops.plan.queue.processing.Processor;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@ -11,7 +14,7 @@ import java.util.UUID;
|
||||
* @author Rsl1122
|
||||
* @since 3.0.0
|
||||
*/
|
||||
public abstract class HandlingInfo {
|
||||
public abstract class HandlingInfo extends Processor<UUID> implements DBCallableProcessor{
|
||||
|
||||
final UUID uuid;
|
||||
final InfoType type;
|
||||
@ -26,7 +29,8 @@ public abstract class HandlingInfo {
|
||||
* @param time Epoch ms of the event.
|
||||
*/
|
||||
public HandlingInfo(UUID uuid, InfoType type, long time) {
|
||||
this.uuid = uuid;
|
||||
super(uuid);
|
||||
this.uuid = object;
|
||||
this.type = type;
|
||||
this.time = time;
|
||||
}
|
||||
@ -58,6 +62,10 @@ public abstract class HandlingInfo {
|
||||
return time;
|
||||
}
|
||||
|
||||
public void process() {
|
||||
Plan.getInstance().getHandler().getUserDataForProcessing(this, uuid);
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the info and modify the UserData object accordingly.
|
||||
* <p>
|
||||
@ -66,5 +74,5 @@ public abstract class HandlingInfo {
|
||||
* @param uData UserData object to modify.
|
||||
* @return UUID of the UserData object and HandlingInfo match.
|
||||
*/
|
||||
public abstract boolean process(UserData uData);
|
||||
public abstract void process(UserData uData);
|
||||
}
|
||||
|
@ -22,12 +22,11 @@ public class KickInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
uData.setTimesKicked(uData.getTimesKicked() + 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -33,11 +33,10 @@ public class KillInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
KillHandling.processKillInfo(uData, time, dead, weaponName);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -62,12 +62,11 @@ public class LoginInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
LoginHandling.processLoginInfo(uData, time, ip, banned, nickname, loginTimes);
|
||||
playtimeDependentInfo.process(uData);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -36,14 +36,13 @@ public class LogoutInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uData.getUuid().equals(uuid)) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
uData.addSession(sData);
|
||||
LogoutHandling.processLogoutInfo(uData, time, banned);
|
||||
playtimeDependentInfo.process(uData);
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -18,11 +18,10 @@ public class PlaytimeDependentInfo extends HandlingInfo {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (!uuid.equals(uData.getUuid())) {
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
PlaytimeHandling.processPlaytimeDependentInfo(uData, time, gamemode, worldName);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -15,6 +15,7 @@ import org.bukkit.Server;
|
||||
import org.bukkit.configuration.InvalidConfigurationException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
@ -56,13 +57,15 @@ public class ServerInfoManager {
|
||||
String webAddress = address[0];
|
||||
int port = Integer.parseInt(address[1]);
|
||||
String name = Settings.SERVER_NAME.toString();
|
||||
//TODO serverTable.saveCurrentServerInfo(new ServerInfo(-1, serverUUID, name, webAddress, port));
|
||||
try {
|
||||
serverTable.saveCurrentServerInfo(new ServerInfo(-1, serverUUID, name, webAddress, port));
|
||||
} catch (SQLException e) {
|
||||
Log.toLog(this.getClass().getName(), e);
|
||||
}
|
||||
}
|
||||
|
||||
public UUID generateNewUUID(Server server) {
|
||||
String seed = server.getName() + server.getIp() + server.getPort() + server.getVersion() + server.getBukkitVersion();
|
||||
return UUID.nameUUIDFromBytes(seed.getBytes());
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,6 +1,11 @@
|
||||
package main.java.com.djrapitops.plan.locale;
|
||||
|
||||
import com.djrapitops.plugin.utilities.Verify;
|
||||
import org.apache.commons.lang.text.StrSubstitutor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Represents a Message that can be modified.
|
||||
@ -17,11 +22,17 @@ public class Message {
|
||||
}
|
||||
|
||||
public String parse(Serializable... p) {
|
||||
String returnValue = this.content;
|
||||
Verify.nullCheck(p);
|
||||
|
||||
Map<String, Serializable> replaceMap = new HashMap<>();
|
||||
|
||||
for (int i = 0; i < p.length; i++) {
|
||||
returnValue = returnValue.replace("REPLACE" + i, p[i].toString());
|
||||
replaceMap.put(String.valueOf(i), p[i].toString());
|
||||
}
|
||||
return returnValue;
|
||||
|
||||
StrSubstitutor sub = new StrSubstitutor(replaceMap);
|
||||
|
||||
return sub.replace(content);
|
||||
}
|
||||
|
||||
public String[] toArray() {
|
||||
|
@ -1,9 +1,6 @@
|
||||
package main.java.com.djrapitops.plan.queue;
|
||||
|
||||
import com.djrapitops.plugin.utilities.Verify;
|
||||
import main.java.com.djrapitops.plan.Log;
|
||||
import main.java.com.djrapitops.plan.data.cache.DBCallableProcessor;
|
||||
import main.java.com.djrapitops.plan.data.cache.DataCacheHandler;
|
||||
import main.java.com.djrapitops.plan.queue.processing.Processor;
|
||||
|
||||
import java.util.concurrent.ArrayBlockingQueue;
|
||||
@ -16,30 +13,25 @@ import java.util.concurrent.BlockingQueue;
|
||||
* @author Rsl1122
|
||||
* @since 3.0.0
|
||||
*/
|
||||
// TODO Change Processing Queue to use more generic object as processing.
|
||||
// GOAL: Processing queue can be used to process query results from the database
|
||||
// & for processing events into statements.
|
||||
public class DataCacheProcessQueue extends Queue<Processor> {
|
||||
|
||||
/**
|
||||
* Class constructor, starts the new Thread for processing.
|
||||
*
|
||||
* @param handler current instance of DataCacheHandler.
|
||||
*/
|
||||
public DataCacheProcessQueue(DataCacheHandler handler) {
|
||||
public DataCacheProcessQueue() {
|
||||
super(new ArrayBlockingQueue<>(20000));
|
||||
setup = new ProcessSetup(queue, handler);
|
||||
setup = new ProcessSetup(queue);
|
||||
setup.go();
|
||||
}
|
||||
|
||||
/**
|
||||
* Used to add HandlingInfo object to be processed.
|
||||
*
|
||||
* @param info object that extends HandlingInfo.
|
||||
* @param processor object that extends HandlingInfo.
|
||||
*/
|
||||
public void addToPool(Processor info) {
|
||||
public void addToQueue(Processor processor) {
|
||||
try {
|
||||
queue.add(info);
|
||||
queue.add(processor);
|
||||
} catch (IllegalStateException e) {
|
||||
Log.toLog(this.getClass().getName(), e);
|
||||
}
|
||||
@ -48,35 +40,27 @@ public class DataCacheProcessQueue extends Queue<Processor> {
|
||||
|
||||
class ProcessConsumer extends Consumer<Processor> {
|
||||
|
||||
private DataCacheHandler handler;
|
||||
|
||||
ProcessConsumer(BlockingQueue<Processor> q, DataCacheHandler h) {
|
||||
ProcessConsumer(BlockingQueue<Processor> q) {
|
||||
super(q, "ProcessQueueConsumer");
|
||||
handler = h;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void consume(Processor info) {
|
||||
if (!Verify.notNull(handler, info)) {
|
||||
protected void consume(Processor process) {
|
||||
if (process == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
DBCallableProcessor p = data -> info.process();
|
||||
|
||||
//TODO handler.getUserDataForProcessing(p, info.getUuid());
|
||||
process.process();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void clearVariables() {
|
||||
if (handler != null) {
|
||||
handler = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class ProcessSetup extends Setup<Processor> {
|
||||
|
||||
ProcessSetup(BlockingQueue<Processor> q, DataCacheHandler h) {
|
||||
super(new ProcessConsumer(q, h), new ProcessConsumer(q, h));
|
||||
ProcessSetup(BlockingQueue<Processor> q) {
|
||||
super(new ProcessConsumer(q), new ProcessConsumer(q));
|
||||
}
|
||||
}
|
||||
|
@ -5,16 +5,20 @@
|
||||
package main.java.com.djrapitops.plan.queue.processing;
|
||||
|
||||
/**
|
||||
* //TODO Class Javadoc Comment
|
||||
* Abstract class for processing different objects using Generics.
|
||||
*
|
||||
* @author Rsl1122
|
||||
*/
|
||||
public abstract class Processor<T> {
|
||||
private T processed;
|
||||
protected T object;
|
||||
|
||||
public Processor(T processed) {
|
||||
this.processed = processed;
|
||||
public Processor(T object) {
|
||||
this.object = object;
|
||||
}
|
||||
|
||||
public abstract void process();
|
||||
|
||||
public T getObject() {
|
||||
return object;
|
||||
}
|
||||
}
|
||||
|
@ -152,14 +152,13 @@ public class DataCacheQueueTest {
|
||||
List<Integer> errors = new ArrayList<>();
|
||||
handler.addToPool(new HandlingInfo(uuid1, InfoType.OTHER, 0) {
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
public void process(UserData uData) {
|
||||
if (uData.equals(data1)) {
|
||||
uData.setName("TestSuccessful");
|
||||
processCalls.add(1);
|
||||
} else {
|
||||
errors.add(1);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
});
|
||||
while (processCalls.size() < 1) {
|
||||
|
@ -33,7 +33,7 @@ public class ChatInfoTest {
|
||||
UserData data = MockUtils.mockUser();
|
||||
String expected = "TestNicknameChatInfo";
|
||||
ChatInfo i = new ChatInfo(data.getUuid(), expected);
|
||||
assertTrue("Didn't succeed", i.process(data));
|
||||
i.process(data);
|
||||
assertTrue("Didn't add nickname", data.getNicknames().contains(expected));
|
||||
}
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import org.junit.Test;
|
||||
import test.java.utils.MockUtils;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* @author Rsl1122
|
||||
@ -39,7 +38,7 @@ public class DeathInfoTest {
|
||||
public void testProcess() {
|
||||
UserData data = MockUtils.mockUser();
|
||||
DeathInfo i = new DeathInfo(data.getUuid());
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertEquals(1, data.getDeaths());
|
||||
}
|
||||
}
|
||||
|
@ -33,8 +33,8 @@ public class HandlingInfoTest {
|
||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||
@Override
|
||||
public boolean process(UserData data) {
|
||||
return true;
|
||||
public void process(UserData data) {
|
||||
|
||||
}
|
||||
};
|
||||
assertEquals(uuid, i.getUuid());
|
||||
@ -48,8 +48,8 @@ public class HandlingInfoTest {
|
||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||
@Override
|
||||
public boolean process(UserData data) {
|
||||
return true;
|
||||
public void process(UserData data) {
|
||||
|
||||
}
|
||||
};
|
||||
assertEquals(InfoType.CHAT, i.getType());
|
||||
@ -63,8 +63,8 @@ public class HandlingInfoTest {
|
||||
UUID uuid = UUID.fromString("45b0dfdb-f71d-4cf3-8c21-27c9d4c651db");
|
||||
HandlingInfo i = new HandlingInfo(uuid, InfoType.CHAT, 10L) {
|
||||
@Override
|
||||
public boolean process(UserData data) {
|
||||
return true;
|
||||
public void process(UserData data) {
|
||||
|
||||
}
|
||||
};
|
||||
assertEquals(10L, i.getTime());
|
||||
|
@ -1,34 +0,0 @@
|
||||
package test.java.main.java.com.djrapitops.plan.data.handling.info;
|
||||
|
||||
import main.java.com.djrapitops.plan.data.UserData;
|
||||
import main.java.com.djrapitops.plan.data.handling.info.*;
|
||||
import main.java.com.djrapitops.plan.utilities.MiscUtils;
|
||||
import org.junit.Test;
|
||||
import test.java.utils.MockUtils;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class InfoUuidCorrectionTest {
|
||||
private final UserData wrong = MockUtils.mockUser2();
|
||||
private final UUID test = MockUtils.getPlayerUUID();
|
||||
|
||||
@Test
|
||||
public void testAllInfoBooleanReturn() {
|
||||
long now = MiscUtils.getTime();
|
||||
HandlingInfo[] h = new HandlingInfo[]{
|
||||
new ChatInfo(test, ""),
|
||||
new DeathInfo(test),
|
||||
new KickInfo(test),
|
||||
new KillInfo(test, now, null, ""),
|
||||
new LoginInfo(test, now, null, false, "", "", 0, ""),
|
||||
new LogoutInfo(test, now, false, "", null, ""),
|
||||
new PlaytimeDependentInfo(test, InfoType.OTHER, now, "", ""),
|
||||
new ReloadInfo(test, now, null, false, "", "", "")
|
||||
};
|
||||
for (HandlingInfo info : h) {
|
||||
assertTrue(info.getClass().getSimpleName(), !info.process(wrong));
|
||||
}
|
||||
}
|
||||
}
|
@ -17,7 +17,6 @@ import test.java.utils.MockUtils;
|
||||
import test.java.utils.TestInit;
|
||||
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
/**
|
||||
* @author Rsl1122
|
||||
@ -47,7 +46,7 @@ public class KickInfoTest {
|
||||
public void testProcess() {
|
||||
UserData data = MockUtils.mockUser();
|
||||
KickInfo i = new KickInfo(data.getUuid());
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertEquals(1, data.getTimesKicked());
|
||||
}
|
||||
|
||||
|
@ -20,8 +20,8 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
import test.java.utils.TestInit;
|
||||
import test.java.utils.MockUtils;
|
||||
import test.java.utils.TestInit;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.UUID;
|
||||
@ -85,7 +85,7 @@ public class KillInfoTest {
|
||||
UserData data = MockUtils.mockUser();
|
||||
Player dead = MockUtils.mockPlayer2();
|
||||
KillInfo i = new KillInfo(data.getUuid(), 10L, dead, "TestWeapon");
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
KillData expected = new KillData(dead.getUniqueId(), 1, "TestWeapon", 10L);
|
||||
assertTrue("Didn't add the kill", data.getPlayerKills().size() == 1);
|
||||
KillData result = data.getPlayerKills().get(0);
|
||||
@ -102,7 +102,7 @@ public class KillInfoTest {
|
||||
public void testProcessMobKill() throws SQLException {
|
||||
UserData data = MockUtils.mockUser();
|
||||
KillInfo i = new KillInfo(data.getUuid(), 10L, null, "TestWeapon");
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertTrue("Added a kill", data.getPlayerKills().isEmpty());
|
||||
assertEquals(1, data.getMobKills());
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ public class LoginInfoTest {
|
||||
int loginTimes = data.getLoginTimes();
|
||||
String nick = "TestProcessLoginInfo";
|
||||
LoginInfo i = new LoginInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", 1, "World");
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
||||
assertTrue("Ip not added", data.getIps().contains(ip));
|
||||
assertTrue("Logintimes not +1", data.getLoginTimes() == loginTimes + 1);
|
||||
|
@ -44,7 +44,7 @@ public class LogoutInfoTest {
|
||||
long time = 20L;
|
||||
data.getGmTimes().setState("SURVIVAL");
|
||||
LogoutInfo i = new LogoutInfo(data.getUuid(), time, true, "CREATIVE", new SessionData(0, 1), "World");
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertTrue("Last Played wrong", data.getLastPlayed() == 20L);
|
||||
assertTrue("Playtime wrong", data.getPlayTime() == 10L);
|
||||
assertTrue("Banned wrong", data.isBanned());
|
||||
|
@ -14,8 +14,8 @@ import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.powermock.core.classloader.annotations.PrepareForTest;
|
||||
import org.powermock.modules.junit4.PowerMockRunner;
|
||||
import test.java.utils.TestInit;
|
||||
import test.java.utils.MockUtils;
|
||||
import test.java.utils.TestInit;
|
||||
|
||||
import java.net.InetAddress;
|
||||
import java.net.UnknownHostException;
|
||||
@ -55,7 +55,7 @@ public class ReloadInfoTest {
|
||||
int loginTimes = data.getLoginTimes();
|
||||
String nick = "TestProcessLoginInfo";
|
||||
ReloadInfo i = new ReloadInfo(data.getUuid(), time, ip, true, nick, "CREATIVE", "World");
|
||||
assertTrue(i.process(data));
|
||||
i.process(data);
|
||||
assertTrue("LastPlayed wrong: " + data.getLastPlayed(), data.getLastPlayed() == time);
|
||||
assertTrue("Ip not added", data.getIps().contains(ip));
|
||||
assertTrue("Login times is not the same", data.getLoginTimes() == loginTimes);
|
||||
|
@ -79,8 +79,8 @@ public class RandomData {
|
||||
for (int i = 0; i < 20; i++) {
|
||||
test.add(new HandlingInfo(UUID.randomUUID(), randomEnum(InfoType.class), r.nextLong()) {
|
||||
@Override
|
||||
public boolean process(UserData uData) {
|
||||
return false;
|
||||
public void process(UserData uData) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user