Phrase additions, first edition of Locales

- Added functionality for locale.txt reading.
- Added EN and FI locales to github to add config setting for locale.
This commit is contained in:
Rsl1122 2017-02-07 20:40:52 +02:00
parent ef04215fed
commit eed828f894
27 changed files with 439 additions and 100 deletions

View File

@ -0,0 +1,19 @@
WARN_INACCURATE <> <div class="warn">Data might be inaccurate, player has just registered.</div>
ERROR_TABLE <> <p class="red">Error Calcuclating Table (No data)</p>
TOP_TOWNS <> <p><b>Top 20 Towns</b></p>
TOP_FACTIONS <> <p><b>Top 20 Factions</b></p>
TOTAL_BALANCE <> <p>Server Total Balance: REPLACE0</p>
TOTAL_VOTES <> <p>Players have voted total of REPLACE0 times.</p>
TOWN <> <p>Town: REPLACE0</p>
PLOT_OPTIONS <> <p>Plot options: REPLACE0</p>
FRIENDS <> <p>Friends with REPLACE0</p>
FACTION <> <p>Faction: REPLACE0</p>
BALANCE <> <p>Balance: REPLACE0</p>
VOTES <> <p>Player has voted REPLACE0 times.</p>
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>

View File

@ -0,0 +1,19 @@
WARN_INACCURATE <> <div class="warn">Tiedot voivat olla viallisia, pelaaja rekisteröityi vasta</div>
ERROR_TABLE <> <p class="red">Virhe tehdessä taulukkoa (Ei dataa)</p>
TOP_TOWNS <> <p><b>Top 20 Kylää</b></p>
TOP_FACTIONS <> <p><b>Top 20 Kiltaa</b></p>
TOTAL_BALANCE <> <p>Palvelimen rahan kokonaismäärä: REPLACE0</p>
TOTAL_VOTES <> <p>Pelaajat ovat äänestäneet REPLACE0 kertaa.</p>
TOWN <> <p>Kylä: REPLACE0</p>
PLOT_OPTIONS <> <p>Plot asetukset: REPLACE0</p>
FRIENDS <> <p>Kaverit: REPLACE0</p>
FACTION <> <p>Kilta: REPLACE0</p>
BALANCE <> <p>Rahamäärä: REPLACE0</p>
VOTES <> <p>Pelaaja on äänestänyt REPLACE0 kertaa.</p>
BANNED <> | <span class="darkred">Banned</span>
OPERATOR <> , Operator (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>

View File

@ -0,0 +1,99 @@
PREFIX <> [Plan]
ENABLED <> Player Analytics Enabled.
DISABLED <> Player Analytics Disabled.
RELOAD_COMPLETE <> §a[Plan] Reload complete.
SAVE_CACHE <> Saving cached data..
ADD_TO_CACHE <> Added REPLACE0 to Cache.
DB_INIT <> Database init..
WEBSERVER_INIT <> Initializing Webserver..
WEBSERVER_CLOSE <> Shutting down Webserver..
WEBSERVER_RUNNING <> Webserver running on PORT REPLACE0
DB_ESTABLISHED <> REPLACE0-database connection established.
DATABASE_TYPE_DOES_NOT_EXIST <> That database type doesn't exist.
DATABASE_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 (REPLACE0) is availible 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 <> » Fetching data to cache..
NOT_IN_TOWN <> Not in a town
NOT_IN_FAC <> Not in a faction
COMMAND_TIMEOUT <> §c[Plan] REPLACE0 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.
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_CLEAR_SUCCESS <> §a[Plan] All data cleared successfully!
MANAGE_REMOVE_SUCCESS <> §f» §2Data of §fREPLACE0§2 was removed from Database §fREPLACE1§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_SEARCH_HEADER <> §f»§2 Player Analytics - Search results for:
CMD_HELP_HEADER <> §f»§2 Player Analytics - Help
CMD_MANAGE_STATUS_HEADER <> §f»§2 Player Analytics - Database status
CMD_MANAGE_STATUS_ACTIVE_DB <> §7 •§2 Active Database: §7REPLACE0
CMD_CLICK_ME <> Click Me
CMD_LINK <> §7 •§2 Link: §f
CMD_RESULTS_AVAILABLE <> §7 Results will be available for §fREPLACE0§7 minutes.
CMD_NO_RESULTS <> §7 •§2 No results for §7REPLACE0§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 managment 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_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_BACKUP <> Use /plan manage backup <DB>
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 REPLACE0-database will be rewritten!
WARN_OVERWRITE <> Data in REPLACE0-database will be overwritten!
WARN_OVERWRITE_SOME <> Some data in REPLACE0-database will be overwritten!
WARN_REMOVE <> Data in REPLACE0-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. REPLACE0
COMMAND_ADD_CONFIRMATION_ARGUMENT <> §c[Plan] Add -a to confirm execution! REPLACE0
COMMAND_REQUIRES_ARGUMENTS_ONE <> §c[Plan] Command requires one argument.
COMMAND_NO_PERMISSION <> §c[Plan] You do not have the required permmission.

View File

@ -0,0 +1,99 @@
PREFIX <> [Plan]
ENABLED <> Player Analytics Käynnistetty.
DISABLED <> Player Analytics Suljettu.
RELOAD_COMPLETE <> §a[Plan] Ladattu uudelleen.
SAVE_CACHE <> Tallennetaan välimuisti tietoja..
ADD_TO_CACHE <> REPLACE0 lisättiin välimuistiin.
DB_INIT <> Tietokannan käynnistys..
WEBSERVER_INIT <> Web-palvelimen käynnistys..
WEBSERVER_CLOSE <> Sammutetaan Web-palvelin..
WEBSERVER_RUNNING <> Web-palvelin pyörii PORTILLA REPLACE0
DB_ESTABLISHED <> REPLACE0-tietokantayhteys muodostettu.
DATABASE_TYPE_DOES_NOT_EXIST <> Tätä tietokantatyyppiä ei ole olemassa.
DATABASE_FAILURE_DISABLE <> Tietokannan käynnistys epäonnistui, suljetaan Plan.
NOTIFY_EMPTY_IP <> §e[Plan] IP server.properties-tiedostossa on tyhjä & AlternativeServerIP-asetus ei ole käytössä, plugin antaa virheellisiä linkkejä!
VERSION_NEW_AVAILABLE <> Uusi versio (REPLACE0) on saatavilla: https://www.spigotmc.org/resources/plan-player-analytics.32536/
VERSION_LATEST <> Käytät viimeisintä versiota
VERSION_CHECK_ERROR <> Versioiden vertaus epäonnistui.
VERSION_FAIL <> Uusimman version numeron tarkistus epäonnistui.
USERNAME_NOT_VALID <> §c[Plan] Pelaajaa ei ole olemassa.
USERNAME_NOT_SEEN <> §c[Plan] Tämä pelaaja ei ole pelannut tällä serverillä.
USERNAME_NOT_KNOWN <> §c[Plan] Pelaajaa ei löydetty tietokannasta.
GRABBING_DATA_MESSAGE <> » Haetaan välimuistiin..
NOT_IN_TOWN <> Ei kylässä
NOT_IN_FAC <> Ei killassa
COMMAND_TIMEOUT <> §c[Plan] REPLACE0 Komennon aikakatkaisu. Virheitä luultavasti konsolissa.
ANALYSIS_START <> Analysis | Aloitetaan pelaaja-datan analysointi..
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 dataa tietokannassa.
ANALYSIS_BEGIN_ANALYSIS <> Analysis | Data haettu, aloitetaan analyysi..
ANALYSIS_COMPLETE <> Analysis | Analyysi valmis.
ERROR_NO_DATA_VIEW <> §eNettiserveri poissa käytöstä mutta Alternative IP/PlanLite ei ole käytössä, ei keinoa tarkastella dataa!
ERROR_WEBSERVER_OFF_ANALYSIS <> §e[Plan] Tätä komentoa voi käyttää vain jos Nettiserveri on kytketty päälle.
ERROR_WEBSERVER_OFF_INSPECT <> §e[Plan] Tätä komento voi käyttäää vain jos Nettiserveri on kytketty päälle.
MANAGE_ERROR_INCORRECT_PLUGIN <> §c[Plan] Pluginia ei tueta:
MANAGE_PROCESS_START <> »§7 Työstetään tietoa..
MANAGE_ERROR_PLUGIN_NOT_ENABLED <> §c[Plan] Plugin ei käynnissä:
MANAGE_ERROR_INCORRECT_DB <> §c[Plan] Väärä tietokanta! (sqlite/mysql hyväksytään):
MANAGE_ERROR_SAME_DB <> §c[Plan] Ei voida siirtää samaan tietokantaan!
MANAGE_DATABASE_FAILURE <> §c[Plan] Toinen tietokanta ei ole 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 pelaaja dataa!
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_CLEAR_SUCCESS <> §a[Plan] Kaikki tieto poistettu onnistuneesti!
MANAGE_REMOVE_SUCCESS <> §f» §2Pelaajan §fREPLACE0§2 tiedot poistettiin tietokannasta: §fREPLACE1§2.
MANAGE_IMPORTING <> §f» §2 Tuodaan dataa..
MANAGE_SUCCESS <> §f» §2 Onnistui!
CMD_ANALYZE_HEADER <> §f»§2 Player Analytics - Analyysin tulokset:
CMD_INSPECT_HEADER <> §f»§2 Player Analytics - Inspect tulokset:
CMD_SEARCH_HEADER <> §f»§2 Player Analytics - Haku tulokset haulle:
CMD_HELP_HEADER <> §f»§2 Player Analytics - Apu
CMD_MANAGE_STATUS_HEADER <> §f»§2 Player Analytics - Tietokannan tila
CMD_MANAGE_STATUS_ACTIVE_DB <> §7 •§2 Nykyinen tietokanta: §7REPLACE0
CMD_CLICK_ME <> Klikkaa minua
CMD_LINK <> §7 •§2 Linkki: §f
CMD_RESULTS_AVAILABLE <> §7 Tiedot ovat saatavilla §fREPLACE0§7 minuuttia.
CMD_NO_RESULTS <> §7 •§2 Ei tuloksia §7REPLACE0§2.
CMD_MATCH <> §7 Vastaava pelaaja: §f
CMD_USG_ANALYZE <> Tarkastele serverin analyysia
CMD_USG_HELP <> Tarkastele komentoja.
CMD_USG_INFO <> Tarkasta Plan-versio
CMD_USG_INSPECT <> Tarkastele pelaajan tietoja
CMD_USG_MANAGE <> Tietokannan käsittely komento
CMD_USG_MANAGE_BACKUP <> Varmuuskopioi tietokanta .db tiedostoon
CMD_USG_MANAGE_RESTORE <> Palauta tietokanta varmuuskopio tiedostosta
CMD_USG_MANAGE_MOVE <> Kopioi data tietokannasta toiseen ja ylikirjoita vanhat arvot
CMD_USG_MANAGE_COMBINE <> Kopioi data tietokannasta toiseen ja yhdistä arvot
CMD_USG_MANAGE_IMPORT <> Tuo tietoja toisista plugineista nykyiseen tietokantaan.
CMD_USG_MANAGE_CLEAR <> Poista tiedot tietokannasta
CMD_USG_MANAGE_REMOVE <> Poista pelaajan tiedot nykyisestä tietokannasta.
CMD_USG_MANAGE_STATUS <> Check the status of the Active Database.
CMD_USG_RELOAD <> Lataa Plan-Config uudelleen ja käynnistä Plan uudelleen
CMD_USG_SEARCH <> Hae pelaajan tietoja
ARG_SEARCH <> <osa pelaajan nimestä>
ARG_PLAYER <> <pelaaja>
ARG_RESTORE <> <Tiedostonimi.db> <dbTo> [-a]
ARG_IMPORT <> <plugin> [-a]
ARG_MOVE <> <fromDB> <toDB> [-a]
USE_BACKUP <> Käytä /plan manage backup <DB>
USE_RESTORE <> Käytä /plan manage restore <Filename.db> <dbTo> [-a]
USE_MANAGE <> Kokeile /plan manage
USE_PLAN <> Kokeile /plan
USE_MOVE <> Käytä /plan manage move <fromDB> <toDB> [-a]
USE_COMBINE <> Käytä /plan manage combine <fromDB> <toDB> [-a]
USE_IMPORT <> Käytä /plan manage import <plugin> [-a]
WARN_REWRITE <> REPLACE0-tietokannan tiedot kirjoitetaan uudelleen!
WARN_OVERWRITE <> REPLACE0-tietokannan tiedot ylikirjoitetaan!
WARN_OVERWRITE_SOME <> Osa REPLACE0-tietokannan tiedoista ylikirjoitetaan!
WARN_REMOVE <> REPLACE0-tietokannan tiedot poistetaan!
COMMAND_SENDER_NOT_PLAYER <> §c[Plan] Tätä komentoa voi käyttää vain pelaaja.
COMMAND_REQUIRES_ARGUMENTS <> §c[Plan] Komento vaatii argumentteja. REPLACE0
COMMAND_ADD_CONFIRMATION_ARGUMENT <> §c[Plan] Lisää -a vahvistaaksesi komennon ajo! REPLACE0
COMMAND_REQUIRES_ARGUMENTS_ONE <> §c[Plan] Komento vaatii yhden argumentin..
COMMAND_NO_PERMISSION <> §c[Plan] Sinulla ei ole lupaa tuohon.

View File

@ -1,5 +1,10 @@
package com.djrapitops.plan;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import org.bukkit.ChatColor;
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
@ -12,16 +17,20 @@ public enum Phrase {
PREFIX("[Plan] "),
ENABLED("Player Analytics Enabled."),
DISABLED("Player Analytics Disabled."),
RELOAD_COMPLETE(ChatColor.GREEN + "" + PREFIX + "Reload complete."),
SAVE_CACHE("Saving cached data.."),
ADD_TO_CACHE("Added REPLACE0 to 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 " + REPLACE0),
DB_ESTABLISHED(REPLACE0 + "-database connection established."),
DATABASE_TYPE_DOES_NOT_EXIST("That database type doesn't exist."),
DATABASE_FAILURE_DISABLE("Database initialization has failed, disabling Plan."),
NOTIFY_EMPTY_IP(ChatColor.YELLOW+""+PREFIX+"IP in server.properties is empty & AlternativeServerIP is not used, incorrect links will be given!"),
NOTIFY_EMPTY_IP(ChatColor.YELLOW + "" + PREFIX + "IP in server.properties is empty & AlternativeServerIP is not used, incorrect links will be given!"),
//
VERSION_NEW_AVAILABLE("New Version ("+REPLACE0+") is availible at https://www.spigotmc.org/resources/plan-player-analytics.32536/"),
VERSION_NEW_AVAILABLE("New Version (" + REPLACE0 + ") is availible 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."),
@ -69,8 +78,9 @@ public enum Phrase {
ERROR_WEBSERVER_OFF_ANALYSIS(ChatColor.YELLOW + "" + PREFIX + "This command can be only used if the webserver is running on this server."),
ERROR_WEBSERVER_OFF_INSPECT(ChatColor.YELLOW + "" + PREFIX + "This command can be only used if webserver/planlite is enabled on this server."),
//
CMD_FOOTER(COLOR_TER.color() + "" + ARROWS_RIGHT),
MANAGE_ERROR_INCORRECT_PLUGIN(ChatColor.RED + "" + PREFIX + "Plugin not supported: "),
MANAGE_PROCESS_START(ARROWS_RIGHT +""+COLOR_SEC.color() +" Processing data.."),
MANAGE_PROCESS_START(ARROWS_RIGHT + "" + COLOR_SEC.color() + " Processing data.."),
MANAGE_ERROR_PLUGIN_NOT_ENABLED(ChatColor.RED + "" + PREFIX + "Plugin is not enabled: "),
MANAGE_ERROR_INCORRECT_DB(ChatColor.RED + "" + PREFIX + "Incorrect database! (sqlite/mysql accepted): "),
MANAGE_ERROR_SAME_DB(ChatColor.RED + "" + PREFIX + "Can't move to the same database!"),
@ -81,12 +91,17 @@ public enum Phrase {
MANAGE_MOVE_SUCCESS(ChatColor.GREEN + "" + PREFIX + "All data moved successfully!"),
MANAGE_COPY_SUCCESS(ChatColor.GREEN + "" + PREFIX + "All data copied successfully!"),
MANAGE_CLEAR_SUCCESS(ChatColor.GREEN + "" + PREFIX + "All data cleared successfully!"),
MANAGE_REMOVE_SUCCESS(CMD_FOOTER + " " + COLOR_MAIN.color() + "Data of " + COLOR_TER.color() + "REPLACE0" + COLOR_MAIN.color() + " was removed from Database " + COLOR_TER.color() + "REPLACE1" + COLOR_MAIN.color() + "."),
MANAGE_IMPORTING(CMD_FOOTER + " " + COLOR_MAIN.color() + " Importing Data.."),
MANAGE_SUCCESS(CMD_FOOTER + " " + COLOR_MAIN.color() + " Success!"),
//
CMD_FOOTER(COLOR_TER.color() + "" + ARROWS_RIGHT),
CMD_BALL(COLOR_SEC.color() + " " + Phrase.BALL.toString() + COLOR_MAIN.color()),
CMD_ANALYZE_HEADER(CMD_FOOTER + "" + COLOR_MAIN.color() + " Player Analytics - Analysis results"),
CMD_INSPECT_HEADER(CMD_FOOTER + "" + COLOR_MAIN.color() + " Player Analytics - Inspect results: "),
CMD_SEARCH_HEADER(CMD_FOOTER + "" + COLOR_MAIN.color() + " Player Analytics - Search results for: "),
CMD_HELP_HEADER(CMD_FOOTER + "" + COLOR_MAIN.color() + " Player Analytics - Help"),
CMD_MANAGE_STATUS_HEADER(CMD_FOOTER + "" + COLOR_MAIN.color() + " Player Analytics - Database status"),
CMD_MANAGE_STATUS_ACTIVE_DB(CMD_BALL + "" + COLOR_MAIN.color() + " Active Database: " + COLOR_SEC.color() + "REPLACE0"),
CMD_CLICK_ME("Click Me"),
CMD_LINK(COLOR_SEC.color() + " " + BALL + COLOR_MAIN.color() + " Link: " + COLOR_TER.color()),
CMD_PASS_PLANLITE(ChatColor.YELLOW + "" + PREFIX + "Passing to PlanLite.."),
@ -94,9 +109,43 @@ public enum Phrase {
CMD_NO_RESULTS(CMD_BALL + " No results for " + COLOR_SEC.color() + REPLACE0 + COLOR_MAIN.color() + "."),
CMD_MATCH(COLOR_SEC.color() + " Matching player: " + COLOR_TER.color()),
//
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 managment 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_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_BACKUP("Use /plan manage backup <DB>"),
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 REPLACE0-database will be rewritten!"),
WARN_OVERWRITE("Data in REPLACE0-database will be overwritten!"),
WARN_OVERWRITE_SOME("Some data in REPLACE0-database will be overwritten!"),
WARN_REMOVE("Data in REPLACE0-database will be removed!"),
//
COMMAND_SENDER_NOT_PLAYER(ChatColor.RED + "" + PREFIX + "This command can be only used as a player."),
COMMAND_REQUIRES_ARGUMENTS(ChatColor.RED + "" + PREFIX + "Command requires arguments."),
COMMAND_ADD_CONFIRMATION_ARGUMENT(ChatColor.RED + "" + PREFIX + "Add -a to confirm execution!"),
COMMAND_REQUIRES_ARGUMENTS(ChatColor.RED + "" + PREFIX + "Command requires arguments. REPLACE0"),
COMMAND_ADD_CONFIRMATION_ARGUMENT(ChatColor.RED + "" + PREFIX + "Add -a to confirm execution! REPLACE0"),
COMMAND_REQUIRES_ARGUMENTS_ONE(ChatColor.RED + "" + PREFIX + "Command requires one argument."),
COMMAND_NO_PERMISSION(ChatColor.RED + "" + PREFIX + "You do not have the required permmission.");
@ -117,11 +166,11 @@ public enum Phrase {
public String toString() {
return text;
}
public String parse() {
return this.toString();
}
public String parse(String... p) {
String returnValue = this.toString();
for (int i = 0; i < p.length; i++) {
@ -144,4 +193,27 @@ public enum Phrase {
public void setColor(String colorCode) {
this.color = ChatColor.getByChar(colorCode);
}
static void loadLocale(File localeFile) {
try {
Scanner localeScanner = new Scanner(localeFile, "UTF-8");
List<String> localeRows = new ArrayList<>();
while (localeScanner.hasNextLine()) {
String line = localeScanner.nextLine();
if (!line.isEmpty()) {
localeRows.add(line);
}
}
for (String localeRow : localeRows) {
try {
String[] split = localeRow.split(" <> ");
Phrase.valueOf(split[0]).setText(split[1]);
} catch (IllegalArgumentException e) {
getPlugin(Plan.class).logError("There is a miswritten line in locale on line "+localeRows.indexOf(localeRow));
}
}
} catch (IOException e) {
}
}
}

View File

@ -8,6 +8,7 @@ import com.djrapitops.plan.database.Database;
import com.djrapitops.plan.database.databases.*;
import com.djrapitops.plan.data.cache.*;
import com.djrapitops.plan.data.listeners.*;
import java.io.File;
import java.util.Date;
import main.java.com.djrapitops.plan.ui.webserver.WebSocketServer;
import org.bukkit.plugin.java.JavaPlugin;
@ -16,6 +17,7 @@ import java.util.HashSet;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import main.java.com.djrapitops.plan.Settings;
import main.java.com.djrapitops.plan.ui.Html;
import org.bukkit.Bukkit;
import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.plugin.PluginManager;
@ -58,7 +60,17 @@ public class Plan extends JavaPlugin {
*/
@Override
public void onEnable() {
getDataFolder().mkdirs();
File dataFolder = getDataFolder();
dataFolder.mkdirs();
File localeFile = new File(dataFolder, "locale.txt");
if (localeFile.exists()) {
Phrase.loadLocale(localeFile);
}
File htmlLocale = new File(dataFolder, "htmlLocale.txt");
if (htmlLocale.exists()) {
Html.loadLocale(htmlLocale);
}
databases = new HashSet<>();
databases.add(new MySQLDB(this));
@ -186,8 +198,9 @@ public class Plan extends JavaPlugin {
/**
* Initializes the database according to settings in the config.
*
*
* If database connection can not be established plugin is disabled.
*
* @return true if init was successful, false if not.
*/
public boolean initDatabase() {

View File

@ -114,8 +114,7 @@ public class PlanCommand implements CommandExecutor {
}
if (console && args.length < 2 && command.getCommandType() == CommandType.CONSOLE_WITH_ARGUMENTS) {
sender.sendMessage("" + Phrase.COMMAND_REQUIRES_ARGUMENTS);
sender.sendMessage("" + Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_PLAN+""));
return true;
}

View File

@ -29,7 +29,7 @@ public class AnalyzeCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public AnalyzeCommand(Plan plugin) {
super("analyze, analyse, analysis", "plan.analyze", "View the Server Analysis", CommandType.CONSOLE, "");
super("analyze, analyse, analysis", "plan.analyze", Phrase.CMD_USG_ANALYZE.parse(), CommandType.CONSOLE, "");
this.plugin = plugin;
analysisCache = plugin.getAnalysisCache();
}

View File

@ -27,7 +27,7 @@ public class HelpCommand extends SubCommand {
* @param command Current instance of PlanCommand
*/
public HelpCommand(Plan plugin, PlanCommand command) {
super("help,?", "plan.?", "Show command list.", CommandType.CONSOLE, "");
super("help,?", "plan.?", Phrase.CMD_USG_HELP+"", CommandType.CONSOLE, "");
this.plugin = plugin;
this.command = command;
@ -38,10 +38,9 @@ public class HelpCommand extends SubCommand {
ChatColor oColor = Phrase.COLOR_MAIN.color();
ChatColor tColor = Phrase.COLOR_SEC.color();
ChatColor hColor = Phrase.COLOR_TER.color();
// Header
sender.sendMessage(hColor + Phrase.ARROWS_RIGHT.toString() + oColor + " Player Analytics - Help");
sender.sendMessage(Phrase.CMD_HELP_HEADER+"");
// Help results
for (SubCommand command : this.command.getCommands()) {
if (command.getName().equalsIgnoreCase(getName())) {
@ -60,7 +59,7 @@ public class HelpCommand extends SubCommand {
+ " /plan " + command.getFirstName() + " " + command.getArguments() + tColor + " - " + command.getUsage());
}
// Footer
sender.sendMessage(hColor + Phrase.ARROWS_RIGHT.toString());
sender.sendMessage(Phrase.CMD_FOOTER+"");
return true;
}

View File

@ -23,7 +23,7 @@ public class InfoCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public InfoCommand(Plan plugin) {
super("info", "plan.info", "View Version of Plan", CommandType.CONSOLE, "");
super("info", "plan.info", Phrase.CMD_USG_INFO+"", CommandType.CONSOLE, "");
this.plugin = plugin;
}

View File

@ -19,7 +19,6 @@ import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import static org.bukkit.Bukkit.getOfflinePlayer;
import static org.bukkit.Bukkit.getOfflinePlayer;
/**
*
@ -36,7 +35,7 @@ public class InspectCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public InspectCommand(Plan plugin) {
super("inspect", "plan.inspect", "Inspect Player's Data", CommandType.CONSOLE_WITH_ARGUMENTS, "<player>");
super("inspect", "plan.inspect", Phrase.CMD_USG_INSPECT+"", CommandType.CONSOLE_WITH_ARGUMENTS, Phrase.ARG_PLAYER+"");
this.plugin = plugin;
inspectCache = plugin.getInspectCache();

View File

@ -29,7 +29,7 @@ public class ManageCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageCommand(Plan plugin) {
super("manage, m", "plan.manage", "Database managment command", CommandType.CONSOLE, "");
super("manage, m", "plan.manage", Phrase.CMD_USG_MANAGE+"", CommandType.CONSOLE, "");
this.plugin = plugin;
commands = new ArrayList<>();
commands.add(new ManageHelpCommand(plugin, this));
@ -107,7 +107,7 @@ public class ManageCommand extends SubCommand {
}
if (console && args.length < 2 && command.getCommandType() == CommandType.CONSOLE_WITH_ARGUMENTS) {
sender.sendMessage("" + Phrase.COMMAND_REQUIRES_ARGUMENTS);
sender.sendMessage("" + Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_MANAGE+""));
return true;
}

View File

@ -1,9 +1,9 @@
package com.djrapitops.plan.command.commands;
import com.djrapitops.plan.Phrase;
import com.djrapitops.plan.Plan;
import com.djrapitops.plan.command.CommandType;
import com.djrapitops.plan.command.SubCommand;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
@ -21,7 +21,7 @@ public class ReloadCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ReloadCommand(Plan plugin) {
super("reload", "plan.reload", "Reload plugin config & save cached data", CommandType.CONSOLE, "");
super("reload", "plan.reload", Phrase.CMD_USG_RELOAD+"", CommandType.CONSOLE, "");
this.plugin = plugin;
}
@ -31,7 +31,7 @@ public class ReloadCommand extends SubCommand {
plugin.reloadConfig();
plugin.onDisable();
plugin.onEnable();
sender.sendMessage(ChatColor.GREEN + "[Plan] Reload complete.");
sender.sendMessage(Phrase.RELOAD_COMPLETE+"");
return true;
}

View File

@ -24,7 +24,7 @@ import org.bukkit.entity.Player;
public class SearchCommand extends SubCommand {
private final Plan plugin;
private InspectCacheHandler inspectCache;
private final InspectCacheHandler inspectCache;
/**
* Class Constructor.
@ -32,7 +32,7 @@ public class SearchCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public SearchCommand(Plan plugin) {
super("search", "plan.search", "Search for player", CommandType.CONSOLE_WITH_ARGUMENTS, "<part of playername>");
super("search", "plan.search", Phrase.CMD_USG_SEARCH+"", CommandType.CONSOLE_WITH_ARGUMENTS, Phrase.ARG_SEARCH+"");
this.plugin = plugin;
inspectCache = plugin.getInspectCache();
}

View File

@ -31,7 +31,7 @@ public class ManageBackupCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageBackupCommand(Plan plugin) {
super("backup", "plan.manage", "Backup a database to .db file", CommandType.CONSOLE, "<DB>");
super("backup", "plan.manage", Phrase.CMD_USG_MANAGE_BACKUP+"", CommandType.CONSOLE, "<DB>");
this.plugin = plugin;
}
@ -49,7 +49,7 @@ public class ManageBackupCommand extends SubCommand {
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
try {
if (args.length < 1) {
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.toString() + " Use /plan manage backup <DB>");
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_BACKUP+""));
return true;
}
String db = args[0].toLowerCase();

View File

@ -17,7 +17,7 @@ import org.bukkit.scheduler.BukkitRunnable;
*/
public class ManageClearCommand extends SubCommand {
private Plan plugin;
private final Plan plugin;
/**
* Class Constructor.
@ -25,7 +25,7 @@ public class ManageClearCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageClearCommand(Plan plugin) {
super("clear", "plan.manage", "Clear data from one database", CommandType.CONSOLE_WITH_ARGUMENTS, "<DB> [-a]");
super("clear", "plan.manage", Phrase.CMD_USG_MANAGE_CLEAR+"", CommandType.CONSOLE_WITH_ARGUMENTS, "<DB> [-a]");
this.plugin = plugin;
}
@ -55,7 +55,7 @@ public class ManageClearCommand extends SubCommand {
return true;
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString() + " Data in " + args[0] + "-database will be removed!");
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_REMOVE.parse(args[0])));
return true;
}

View File

@ -34,7 +34,7 @@ public class ManageCombineCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageCombineCommand(Plan plugin) {
super("combine", "plan.manage", "Copy data from one database to another & combine values", CommandType.CONSOLE_WITH_ARGUMENTS, "<fromDB> <toDB> [-a]");
super("combine", "plan.manage", Phrase.CMD_USG_MANAGE_COMBINE+"", CommandType.CONSOLE_WITH_ARGUMENTS, Phrase.ARG_MOVE+"");
this.plugin = plugin;
}
@ -54,7 +54,7 @@ public class ManageCombineCommand extends SubCommand {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (args.length < 2) {
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.toString() + " Use /plan manage combine <fromDB> <toDB> [-a]");
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_COMBINE+""));
return true;
}
String fromDB = args[0].toLowerCase();
@ -72,7 +72,7 @@ public class ManageCombineCommand extends SubCommand {
return true;
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString() + " Data in " + args[1] + "-database will be rewritten!");
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_REWRITE.parse(args[1])));
return true;
}

View File

@ -2,7 +2,6 @@ package main.java.com.djrapitops.plan.command.commands.manage;
import com.djrapitops.plan.Phrase;
import com.djrapitops.plan.Plan;
import com.djrapitops.plan.PlanLiteHook;
import com.djrapitops.plan.command.CommandType;
import com.djrapitops.plan.command.SubCommand;
import com.djrapitops.plan.data.UserData;
@ -17,13 +16,11 @@ import main.java.com.djrapitops.plan.data.importing.Importer;
import main.java.com.djrapitops.plan.data.importing.OnTimeImporter;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.GameMode;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import static org.bukkit.Bukkit.getOfflinePlayer;
import static org.bukkit.Bukkit.getOfflinePlayer;
/**
*
@ -31,8 +28,7 @@ import static org.bukkit.Bukkit.getOfflinePlayer;
*/
public class ManageImportCommand extends SubCommand {
private Plan plugin;
private PlanLiteHook hook;
private final Plan plugin;
/**
* Class Constructor.
@ -40,9 +36,8 @@ public class ManageImportCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageImportCommand(Plan plugin) {
super("import", "plan.manage", "Import Data from supported plugins to Active Database.", CommandType.CONSOLE, "<plugin> [-a]");
super("import", "plan.manage", Phrase.CMD_USG_MANAGE_IMPORT+"", CommandType.CONSOLE, Phrase.ARG_IMPORT+"");
this.plugin = plugin;
hook = plugin.getPlanLiteHook();
}
/**
@ -62,7 +57,7 @@ public class ManageImportCommand extends SubCommand {
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (args.length < 1) {
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS_ONE.toString() + " Use /plan manage import <plugin> [-a]");
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS_ONE.toString() + " "+Phrase.USE_IMPORT);
return true;
}
@ -81,29 +76,24 @@ public class ManageImportCommand extends SubCommand {
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString() + " Some data in " + plugin.getDB().getConfigName() + "-database will be overwritten!");
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_OVERWRITE_SOME.parse(plugin.getDB().getConfigName())));
return true;
}
ChatColor oColor = Phrase.COLOR_MAIN.color();
ChatColor hColor = Phrase.COLOR_TER.color();
// Header
sender.sendMessage(hColor + Phrase.ARROWS_RIGHT.toString() + oColor + " Importing Data..");
sender.sendMessage(Phrase.MANAGE_IMPORTING+"");
Set<UUID> uuids = new HashSet<>();
for (OfflinePlayer p : Bukkit.getOfflinePlayers()) {
uuids.add(p.getUniqueId());
}
HashMap<UUID, Long> onTimeData = importPlugins.get(importFromPlugin).grabNumericData(uuids);
HashMap<UUID, Long> numbericData = importPlugins.get(importFromPlugin).grabNumericData(uuids);
DataCacheHandler handler = plugin.getHandler();
if (importFromPlugin.equals("ontime")) {
importOnTime(onTimeData, handler);
importOnTime(numbericData, handler);
}
handler.saveCachedUserData();
// Footer
sender.sendMessage(hColor
+ Phrase.ARROWS_RIGHT.toString() + oColor + " Success!");
sender.sendMessage(Phrase.MANAGE_SUCCESS+"");
return true;
}

View File

@ -33,7 +33,7 @@ public class ManageMoveCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageMoveCommand(Plan plugin) {
super("move", "plan.manage", "Copy data from one database to another & overwrite values", CommandType.CONSOLE_WITH_ARGUMENTS, "<fromDB> <toDB> [-a]");
super("move", "plan.manage", Phrase.CMD_USG_MANAGE_MOVE+"", CommandType.CONSOLE_WITH_ARGUMENTS, Phrase.ARG_MOVE+"");
this.plugin = plugin;
}
@ -54,7 +54,7 @@ public class ManageMoveCommand extends SubCommand {
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
if (args.length < 2) {
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.toString() + " Use /plan manage move <fromDB> <toDB> [-a]");
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_MOVE+""));
return true;
}
String fromDB = args[0].toLowerCase();
@ -72,7 +72,7 @@ public class ManageMoveCommand extends SubCommand {
return true;
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString() + " Data in " + args[1] + "-database will be overwritten!");
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_OVERWRITE.parse(args[1])));
return true;
}

View File

@ -10,13 +10,11 @@ import com.djrapitops.plan.utilities.MiscUtils;
import java.util.Arrays;
import java.util.UUID;
import org.bukkit.ChatColor;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.scheduler.BukkitRunnable;
import static org.bukkit.Bukkit.getOfflinePlayer;
import static org.bukkit.Bukkit.getOfflinePlayer;
/**
*
@ -24,7 +22,7 @@ import static org.bukkit.Bukkit.getOfflinePlayer;
*/
public class ManageRemoveCommand extends SubCommand {
private Plan plugin;
private final Plan plugin;
/**
* Class Constructor.
@ -32,7 +30,7 @@ public class ManageRemoveCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageRemoveCommand(Plan plugin) {
super("remove", "plan.manage", "Remove players's data from the Active Database.", CommandType.CONSOLE_WITH_ARGUMENTS, "<player> [-a]");
super("remove", "plan.manage", Phrase.CMD_USG_MANAGE_REMOVE+"", CommandType.CONSOLE_WITH_ARGUMENTS, Phrase.ARG_PLAYER+" [-a]");
this.plugin = plugin;
}
@ -79,19 +77,16 @@ public class ManageRemoveCommand extends SubCommand {
return true;
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString());
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_REMOVE.parse(plugin.getDB().getConfigName())));
return true;
}
ChatColor oColor = Phrase.COLOR_MAIN.color();
ChatColor hColor = Phrase.COLOR_TER.color();
(new BukkitRunnable() {
@Override
public void run() {
sender.sendMessage(Phrase.MANAGE_PROCESS_START.parse());
plugin.getDB().removeAccount(uuid.toString());
sender.sendMessage(hColor+""+Phrase.ARROWS_RIGHT+" "+oColor+"Data of "+hColor+playerName+oColor+" was removed from Database "+hColor+plugin.getDB().getConfigName()+oColor+".");
sender.sendMessage(Phrase.MANAGE_REMOVE_SUCCESS.parse(playerName, plugin.getDB().getConfigName()));
this.cancel();
}
}).runTaskAsynchronously(plugin);

View File

@ -32,7 +32,7 @@ public class ManageRestoreCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageRestoreCommand(Plan plugin) {
super("restore", "plan.restore", "Restore a database from a backup file", CommandType.CONSOLE, "<Filename.db> <dbTo> [-a]");
super("restore", "plan.restore", Phrase.CMD_USG_MANAGE_RESTORE+"", CommandType.CONSOLE, Phrase.ARG_RESTORE+"");
this.plugin = plugin;
}
@ -50,7 +50,7 @@ public class ManageRestoreCommand extends SubCommand {
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
try {
if (args.length < 2) {
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.toString() + " Use /plan manage restore <Filename.db> <dbTo> [-a]");
sender.sendMessage(Phrase.COMMAND_REQUIRES_ARGUMENTS.parse(Phrase.USE_RESTORE+""));
return true;
}
String db = args[1].toLowerCase();
@ -59,7 +59,7 @@ public class ManageRestoreCommand extends SubCommand {
return true;
}
if (!Arrays.asList(args).contains("-a")) {
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.toString() + " Data in " + args[1] + "-database will be rewritten!");
sender.sendMessage(Phrase.COMMAND_ADD_CONFIRMATION_ARGUMENT.parse(Phrase.WARN_REWRITE.parse(args[1])));
return true;
}
Database database = null;

View File

@ -24,7 +24,7 @@ public class ManageStatusCommand extends SubCommand {
* @param plugin Current instance of Plan
*/
public ManageStatusCommand(Plan plugin) {
super("status", "plan.manage", "Check the status of the Active Database.", CommandType.CONSOLE, "");
super("status", "plan.manage", Phrase.CMD_USG_MANAGE_STATUS+"", CommandType.CONSOLE, "");
this.plugin = plugin;
}
@ -44,15 +44,12 @@ public class ManageStatusCommand extends SubCommand {
*/
@Override
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
ChatColor oColor = Phrase.COLOR_MAIN.color();
ChatColor tColor = Phrase.COLOR_SEC.color();
ChatColor hColor = Phrase.COLOR_TER.color();
// Header
sender.sendMessage(hColor + Phrase.ARROWS_RIGHT.toString() + oColor + " Player Analytics - Database status");
sender.sendMessage(Phrase.CMD_MANAGE_STATUS_HEADER+"");
sender.sendMessage(tColor + " " + Phrase.BALL.toString() + oColor +" Active Database: "+ tColor + plugin.getDB().getConfigName());
sender.sendMessage(Phrase.CMD_MANAGE_STATUS_ACTIVE_DB.parse(plugin.getDB().getConfigName()));
// Footer
sender.sendMessage(hColor + Phrase.ARROWS_RIGHT.toString());

View File

@ -0,0 +1,10 @@
package main.java.com.djrapitops.plan.data;
/**
*
* @author Rsl1122
*/
public class AdditionalData {
}

View File

@ -1,7 +1,6 @@
package main.java.com.djrapitops.plan.data.importing;
import com.djrapitops.plan.Plan;
import com.djrapitops.plan.data.UserData;
import java.util.HashMap;
import java.util.Set;
import java.util.UUID;
@ -16,7 +15,7 @@ import org.bukkit.OfflinePlayer;
*/
public class OnTimeImporter implements Importer {
private Plan plugin;
private final Plan plugin;
private boolean enabled;
public OnTimeImporter(Plan plugin) {

View File

@ -1,5 +1,14 @@
package main.java.com.djrapitops.plan.ui;
import com.djrapitops.plan.Phrase;
import com.djrapitops.plan.Plan;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import static org.bukkit.plugin.java.JavaPlugin.getPlugin;
/**
*
* @author Rsl1122
@ -25,35 +34,34 @@ public enum Html {
COLOR_d("<span class=\"pink\">"),
COLOR_e("<span class=\"yellow\">"),
COLOR_f("<span class=\"white\">"),
SPAN(""+REPLACE0+"</span>"),
BUTTON("<a class=\"button\" href=\""+REPLACE0+"\">"+REPLACE1+"</a>"),
SPAN("" + REPLACE0 + "</span>"),
BUTTON("<a class=\"button\" href=\"" + REPLACE0 + "\">" + REPLACE1 + "</a>"),
BUTTON_CLASS("class=\"button\""),
LINK_CLASS("class=\"link\""),
TABLE_START("<table class=\"table\">"),
TABLE_END("</table>"),
TABLELINE("<tr class=\"tableline\"><td><b>"+REPLACE0+"</b></td>\r\n<td>"+REPLACE1+"</td></tr>"),
TABLELINE("<tr class=\"tableline\"><td><b>" + REPLACE0 + "</b></td>\r\n<td>" + REPLACE1 + "</td></tr>"),
ERROR_TABLE("<p class=\"red\">Error Calcuclating Table (No data)</p>"),
IMG("<img src=\""+REPLACE0+"\">"),
IMG("<img src=\"" + REPLACE0 + "\">"),
TOP_TOWNS("<p><b>Top 20 Towns</b></p>"),
TOP_FACTIONS("<p><b>Top 20 Factions</b></p>"),
TOTAL_BALANCE("<p>Server Total Balance: "+REPLACE0+"</p>"),
TOTAL_VOTES("<p>Players have voted total of "+REPLACE0+" times.</p>"),
TOWN("<p>Town: "+REPLACE0+"</p>"),
PLOT_OPTIONS("<p>Plot options: "+REPLACE0+"</p>"),
FRIENDS("<p>Friends with "+REPLACE0+"</p>"),
TOTAL_BALANCE("<p>Server Total Balance: " + REPLACE0 + "</p>"),
TOTAL_VOTES("<p>Players have voted total of " + REPLACE0 + " times.</p>"),
TOWN("<p>Town: " + REPLACE0 + "</p>"),
PLOT_OPTIONS("<p>Plot options: " + REPLACE0 + "</p>"),
FRIENDS("<p>Friends with " + REPLACE0 + "</p>"),
FACTION("<p>Faction: " + REPLACE0 + "</p>"),
BALANCE("<p>Balance: " + REPLACE0 + "</p>"),
VOTES("<p>Player has voted " + REPLACE0 + " times.</p>"),
BANNED("| "+SPAN.parse(COLOR_4.parse()+"Banned")),
BANNED("| " + SPAN.parse(COLOR_4.parse() + "Banned")),
OPERATOR(", Operator (Op)"),
ONLINE("| "+SPAN.parse(COLOR_2.parse()+"Online")),
OFFLINE("| "+SPAN.parse(COLOR_4.parse()+"Offline")),
ONLINE("| " + SPAN.parse(COLOR_2.parse() + "Online")),
OFFLINE("| " + SPAN.parse(COLOR_4.parse() + "Offline")),
ACTIVE("| Player is Active"),
INACTIVE("| Player is inactive"),
ERROR_LIST("Error Creating List</p>"),
;
ERROR_LIST("Error Creating List</p>"),;
private final String html;
private String html;
private Html(String html) {
this.html = html;
@ -71,4 +79,27 @@ public enum Html {
return returnValue;
}
public void setHtml(String html) {
this.html = html;
}
public static void loadLocale(File localeFile) {
try {
Scanner localeScanner = new Scanner(localeFile, "UTF-8");
List<String> localeRows = new ArrayList<>();
while (localeScanner.hasNextLine()) {
localeRows.add(localeScanner.nextLine());
}
for (String localeRow : localeRows) {
try {
String[] split = localeRow.split(" <> ");
Html.valueOf(split[0]).setHtml(split[1]);
} catch (IllegalArgumentException e) {
getPlugin(Plan.class).logError("There is a miswritten line in locale on line " + localeRows.indexOf(localeRow));
}
}
} catch (IOException e) {
}
}
}

View File

@ -1,5 +1,6 @@
package main.java.com.djrapitops.plan.ui.webserver;
import com.djrapitops.plan.Phrase;
import com.djrapitops.plan.Plan;
import com.djrapitops.plan.ui.DataRequestHandler;
import com.djrapitops.plan.ui.webserver.Request;
@ -19,12 +20,12 @@ import org.bukkit.scheduler.BukkitRunnable;
*/
public class WebSocketServer {
private int PORT;
private final int PORT;
private boolean ENABLED = false;
private ServerSocket server;
private Plan plugin;
private DataRequestHandler dataReqHandler;
private final Plan plugin;
private final DataRequestHandler dataReqHandler;
private boolean shutdown;
@ -50,7 +51,7 @@ public class WebSocketServer {
if (ENABLED) {
return;
}
plugin.log("Initializing Webserver..");
plugin.log(Phrase.WEBSERVER_INIT+"");
try {
//Setup server
try {
@ -86,7 +87,7 @@ public class WebSocketServer {
ENABLED = true;
plugin.log("Webserver running on PORT " + server.getLocalPort());
plugin.log(Phrase.WEBSERVER_RUNNING.parse(server.getLocalPort()+""));
} catch (Exception e) {
ENABLED = false;
}
@ -96,7 +97,7 @@ public class WebSocketServer {
* Shuts down the server - Async thread is closed with shutdown boolean.
*/
public void stop() {
plugin.log("Shutting down Webserver..");
plugin.log(Phrase.WEBSERVER_CLOSE+"");
shutdown = true;
try {
server.close();

View File

@ -1,6 +1,5 @@
package com.djrapitops.plan.utilities;
import java.util.Arrays;
import java.util.Date;
import main.java.com.djrapitops.plan.ui.Html;
import org.bukkit.Location;
@ -157,7 +156,6 @@ public class FormatUtils {
Html.COLOR_4, Html.COLOR_5, Html.COLOR_6, Html.COLOR_7, Html.COLOR_8, Html.COLOR_9,
Html.COLOR_a, Html.COLOR_b, Html.COLOR_c, Html.COLOR_d, Html.COLOR_e, Html.COLOR_f};
for (Html html : replacer) {
string = string.replaceAll("§"+html.name().charAt(6), html.parse());
}