mirror of
https://github.com/exituser/Brewery.git
synced 2026-09-17 06:38:56 +00:00
Started with multilanguage support
This commit is contained in:
@@ -18,9 +18,6 @@ homeType: 'cmd: home'
|
|||||||
# Der Spieler wacht an dem nähesten zweier zufälliger Orte aus seiner Welt auf.
|
# Der Spieler wacht an dem nähesten zweier zufälliger Orte aus seiner Welt auf.
|
||||||
enableWake: true
|
enableWake: true
|
||||||
|
|
||||||
# Der Text, den der Spieler beim Aufwachen sieht
|
|
||||||
wakeString: 'Ohh nein! Ich kann mich nicht erinnern, wie ich hier hergekommen bin... *hicks*'
|
|
||||||
|
|
||||||
# Ob der Spieler sich bei großer Trunkenheit teilweise nicht einloggen kann und kurz warten muss, da sein Charakter nicht reagiert
|
# Ob der Spieler sich bei großer Trunkenheit teilweise nicht einloggen kann und kurz warten muss, da sein Charakter nicht reagiert
|
||||||
enableLoginDisallow: true
|
enableLoginDisallow: true
|
||||||
|
|
||||||
|
|||||||
@@ -29,7 +29,6 @@ public class BPlayer {
|
|||||||
public static boolean enableHome;
|
public static boolean enableHome;
|
||||||
public static boolean enableLoginDisallow;
|
public static boolean enableLoginDisallow;
|
||||||
public static boolean enablePuke;
|
public static boolean enablePuke;
|
||||||
public static String wakeString;
|
|
||||||
public static String homeType;
|
public static String homeType;
|
||||||
|
|
||||||
private int quality = 0;// = quality of drunkeness * drunkeness
|
private int quality = 0;// = quality of drunkeness * drunkeness
|
||||||
@@ -260,7 +259,7 @@ public class BPlayer {
|
|||||||
Location randomLoc = Wakeup.getRandom(player.getLocation());
|
Location randomLoc = Wakeup.getRandom(player.getLocation());
|
||||||
if (randomLoc != null) {
|
if (randomLoc != null) {
|
||||||
player.teleport(randomLoc);
|
player.teleport(randomLoc);
|
||||||
P.p.msg(player, wakeString);
|
P.p.msg(player, "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,145 @@
|
|||||||
|
package com.dre.brewery;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.Map;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.TreeMap;
|
||||||
|
|
||||||
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
|
|
||||||
|
public class LanguageReader {
|
||||||
|
private Map<String, String> entries = new TreeMap<String, String>();
|
||||||
|
private Map<String, String> defaults = new TreeMap<String, String>();
|
||||||
|
|
||||||
|
private File file;
|
||||||
|
private boolean changed;
|
||||||
|
|
||||||
|
public LanguageReader(File file) {
|
||||||
|
this.setDefaults();
|
||||||
|
|
||||||
|
/* Load */
|
||||||
|
this.file = file;
|
||||||
|
|
||||||
|
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||||
|
|
||||||
|
Set<String> keySet = configFile.getKeys(false);
|
||||||
|
for (String key : keySet) {
|
||||||
|
entries.put(key, configFile.getString(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Check */
|
||||||
|
this.check();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setDefaults() {
|
||||||
|
|
||||||
|
/* Player */
|
||||||
|
defaults.put("Player_BarrelCreated", "Fass erfolgreich erstellt");
|
||||||
|
defaults.put("Player_CauldronInfo1", "Dieser Kessel siedet nun seit &v1 Minuten");
|
||||||
|
defaults.put("Player_CauldronInfo2", "Dieser Kessel siedet seit weniger als einer Minute");
|
||||||
|
defaults.put("Player_DrunkInfo", "Du bist nun &v1% betrunken, mit einer Qualität von &v2");
|
||||||
|
defaults.put("Player_CantDrink", "Du kannst nicht mehr trinken");
|
||||||
|
defaults.put("Player_Wake", "Ohh nein! Ich kann mich nicht erinnern, wie ich hierhergekommen bin...");
|
||||||
|
defaults.put("Player_WakeCreated", "&aAufwachpunkt mit id: &6&v1 &awurde erfolgreich erstellt!");
|
||||||
|
defaults.put("Player_WakeNotExist", "&cDer Aufwachpunkt mit der id: &6&v1 &cexistiert nicht!");
|
||||||
|
defaults.put("Player_WakeDeleted", "&aDer Aufwachpunkt mit der id: &6&v1 &awurde erfolgreich gelöscht!");
|
||||||
|
defaults.put("Player_WakeAlreadyDeleted", "&cDer Aufwachpunkt mit der id: &6&v1 &cwurde bereits gelöscht!");
|
||||||
|
defaults.put("Player_WakeFilled", "&cDer Aufwachpunkt mit der id: &6&v1&c An Position &6&v2 &v3, &4, &v5&c ist mit Blöcken gefüllt!");
|
||||||
|
defaults.put("Player_WakeNoPoints", "&cEs wurden noch keine Aufwachpunkte erstellt!");
|
||||||
|
defaults.put("Player_WakeLast", "&aDies war der letzte Aufwachpunkt");
|
||||||
|
defaults.put("Player_WakeTeleport", "Teleport zu Aufwachpunkt mit der id: &6&v1&f An Position: &6&v2 &v3, &4, &v5");
|
||||||
|
defaults.put("Player_WakeHint1", "Zum nächsten Aufwachpunkt: Mit Faust in die Luft schlagen");
|
||||||
|
defaults.put("Player_WakeHint2", "Zum Abbrechen: &9/br wakeup cancel");
|
||||||
|
defaults.put("Player_WakeCancel", "&6Aufwachpunkte-Check wurde abgebrochen");
|
||||||
|
defaults.put("Player_WakeNoCheck", "&cEs läuft kein Aufwachpunkte-Check");
|
||||||
|
|
||||||
|
/* Commands */
|
||||||
|
defaults.put("CMD_Reload", "&aConfig wurde neu eingelesen");
|
||||||
|
defaults.put("CMD_Player", "&a&v1 ist nun &6&v2% &abetrunken, mit einer Qualität von &6&v3");
|
||||||
|
defaults.put("CMD_Player_Error", "&cDie Qualität muss zwischen 1 und 10 liegen!");
|
||||||
|
defaults.put("CMD_Info_NotDrunk", "&v1 ist nicht betrunken");
|
||||||
|
defaults.put("CMD_Info_Drunkk", "&v1 ist &6&v2% &fbetrunken, mit einer Qualität von &6&v1");
|
||||||
|
defaults.put("CMD_Copy_Error", "&6&v1 &cTränke haben nicht mehr in das Inventar gepasst");
|
||||||
|
|
||||||
|
/* Error */
|
||||||
|
defaults.put("Error_NoPermissions", "&cDu hast keine Rechte dies zu tun!");
|
||||||
|
defaults.put("Error_UnknownCommand", "Unbekannter Befehl.");
|
||||||
|
defaults.put("Error_ShowHelp", "benutze &6/br help &fum die Hilfe anzuzeigen");
|
||||||
|
defaults.put("Error_PlayerCommand", "&cDieser Befehl kann nur als Spieler ausgeführt werden");
|
||||||
|
defaults.put("Error_ItemNotPotion", "&cDas Item in deiner Hand konnte nicht als Trank identifiziert werden");
|
||||||
|
|
||||||
|
/* Help */
|
||||||
|
defaults.put("Help_Help", "&6/br help <Seite> &9Zeigt eine bestimmte Hilfeseite an");
|
||||||
|
defaults.put("Help_Player", "&6/br <Spieler> <%Trunkenheit> <Qualität>&9 Setzt Trunkenheit (und Qualität) eines Spielers");
|
||||||
|
defaults.put("Help_Info", "&6/br Info&9 Zeigt deine aktuelle Trunkenheit und Qualität an");
|
||||||
|
defaults.put("Help_Copy", "&6/br Copy <Anzahl>&9 Kopiert den Trank in deiner Hand");
|
||||||
|
defaults.put("Help_Delete", "&6/br Delete &9Entfernt den Trank in deiner Hand");
|
||||||
|
defaults.put("Help_InfoOther", "&6/br Info <Spieler>&9 Zeigt die aktuelle Trunkenheit und Qualität von <Spieler> an");
|
||||||
|
defaults.put("Help_Wakeup", "&6/br Wakeup List <Seite>&9 Listet alle Aufwachpunkte auf");
|
||||||
|
defaults.put("Help_WakeupList", "&6/br Wakeup List <Seite> <Welt>&9 Listet die Aufwachpunkte einer Welt auf");
|
||||||
|
defaults.put("Help_WakeupCheck", "&6/br Wakeup Check &9Teleportiert zu allen Aufwachpunkten");
|
||||||
|
defaults.put("Help_WakeupCheckSpecific", "&6/br Wakeup Check <id> &9Teleportiert zu einem Aufwachpunkt");
|
||||||
|
defaults.put("Help_WakeupAdd", "&6/br Wakeup Add &9Setzt einen Aufwachpunkt");
|
||||||
|
defaults.put("Help_WakeupRemove", "&6/br Wakeup Remove <id> &9Entfernt einen Aufwachpunkt");
|
||||||
|
defaults.put("Help_Reload", "&6/br reload &9Config neuladen");
|
||||||
|
|
||||||
|
/* Etc. */
|
||||||
|
defaults.put("Etc_Usage", "Benutzung:");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void check() {
|
||||||
|
for (String defaultEntry : defaults.keySet()) {
|
||||||
|
if (!entries.containsKey(defaultEntry)) {
|
||||||
|
entries.put(defaultEntry, defaults.get(defaultEntry));
|
||||||
|
changed = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void save() {
|
||||||
|
if (changed) {
|
||||||
|
/* Copy old File */
|
||||||
|
File source = new File(file.getPath());
|
||||||
|
String filePath = file.getPath();
|
||||||
|
File temp = new File(filePath.substring(0, filePath.length() - 4) + "_old.yml");
|
||||||
|
|
||||||
|
if (temp.exists())
|
||||||
|
temp.delete();
|
||||||
|
|
||||||
|
source.renameTo(temp);
|
||||||
|
|
||||||
|
/* Save */
|
||||||
|
FileConfiguration configFile = new YamlConfiguration();
|
||||||
|
|
||||||
|
for (String key : entries.keySet()) {
|
||||||
|
configFile.set(key, entries.get(key));
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
configFile.save(file);
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public String get(String key, String... args) {
|
||||||
|
String entry = entries.get(key);
|
||||||
|
|
||||||
|
if (entry != null) {
|
||||||
|
int i = 0;
|
||||||
|
for (String arg : args) {
|
||||||
|
if (arg != null) {
|
||||||
|
i++;
|
||||||
|
entry = entry.replace("&v" + i, arg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
entry = "%placeholder%";
|
||||||
|
}
|
||||||
|
|
||||||
|
return entry;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -14,6 +14,7 @@ import org.bukkit.configuration.file.FileConfiguration;
|
|||||||
import org.bukkit.configuration.file.YamlConfiguration;
|
import org.bukkit.configuration.file.YamlConfiguration;
|
||||||
import org.bukkit.configuration.ConfigurationSection;
|
import org.bukkit.configuration.ConfigurationSection;
|
||||||
import org.apache.commons.lang.math.NumberUtils;
|
import org.apache.commons.lang.math.NumberUtils;
|
||||||
|
|
||||||
import net.milkbowl.vault.permission.Permission;
|
import net.milkbowl.vault.permission.Permission;
|
||||||
|
|
||||||
import org.bukkit.event.HandlerList;
|
import org.bukkit.event.HandlerList;
|
||||||
@@ -26,6 +27,7 @@ import org.bukkit.Material;
|
|||||||
import org.bukkit.block.Block;
|
import org.bukkit.block.Block;
|
||||||
|
|
||||||
import com.dre.brewery.listeners.*;
|
import com.dre.brewery.listeners.*;
|
||||||
|
import com.dre.managerxl.LanguageReader;
|
||||||
|
|
||||||
public class P extends JavaPlugin {
|
public class P extends JavaPlugin {
|
||||||
public static P p;
|
public static P p;
|
||||||
@@ -40,6 +42,10 @@ public class P extends JavaPlugin {
|
|||||||
public InventoryListener inventoryListener;
|
public InventoryListener inventoryListener;
|
||||||
public WorldListener worldListener;
|
public WorldListener worldListener;
|
||||||
|
|
||||||
|
// Language
|
||||||
|
public String language;
|
||||||
|
public LanguageReader languageReader;
|
||||||
|
|
||||||
public Permission permission = null;
|
public Permission permission = null;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -49,6 +55,9 @@ public class P extends JavaPlugin {
|
|||||||
readConfig();
|
readConfig();
|
||||||
readData();
|
readData();
|
||||||
|
|
||||||
|
// Load LanguageReader
|
||||||
|
languageReader = new LanguageReader(new File(p.getDataFolder(), "languages/" + language + ".yml"));
|
||||||
|
|
||||||
initPermissions();
|
initPermissions();
|
||||||
|
|
||||||
// Listeners
|
// Listeners
|
||||||
@@ -141,7 +150,6 @@ public class P extends JavaPlugin {
|
|||||||
BPlayer.enableHome = config.getBoolean("enableHome", false);
|
BPlayer.enableHome = config.getBoolean("enableHome", false);
|
||||||
BPlayer.enableLoginDisallow = config.getBoolean("enableLoginDisallow", false);
|
BPlayer.enableLoginDisallow = config.getBoolean("enableLoginDisallow", false);
|
||||||
BPlayer.enablePuke = config.getBoolean("enablePuke", false);
|
BPlayer.enablePuke = config.getBoolean("enablePuke", false);
|
||||||
BPlayer.wakeString = config.getString("wakeString", "Ohh nein! Ich kann mich nicht erinnern, wie ich hier hergekommen bin...");
|
|
||||||
BPlayer.homeType = config.getString("homeType", null);
|
BPlayer.homeType = config.getString("homeType", null);
|
||||||
Brew.colorInBarrels = config.getBoolean("colorInBarrels", false);
|
Brew.colorInBarrels = config.getBoolean("colorInBarrels", false);
|
||||||
Brew.colorInBrewer = config.getBoolean("colorInBrewer", false);
|
Brew.colorInBrewer = config.getBoolean("colorInBrewer", false);
|
||||||
@@ -423,11 +431,8 @@ public class P extends JavaPlugin {
|
|||||||
p.log("Writing Data to File (" + ftime + "ms)");
|
p.log("Writing Data to File (" + ftime + "ms)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Utility
|
// Utility
|
||||||
|
|
||||||
|
|
||||||
public int parseInt(String string) {
|
public int parseInt(String string) {
|
||||||
return NumberUtils.toInt(string, 0);
|
return NumberUtils.toInt(string, 0);
|
||||||
}
|
}
|
||||||
@@ -509,8 +514,6 @@ public class P extends JavaPlugin {
|
|||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Runnables
|
// Runnables
|
||||||
|
|
||||||
public class DrunkRunnable implements Runnable {
|
public class DrunkRunnable implements Runnable {
|
||||||
|
|||||||
@@ -12,10 +12,6 @@ public class Wakeup {
|
|||||||
|
|
||||||
public static ArrayList<Wakeup> wakeups = new ArrayList<Wakeup>();
|
public static ArrayList<Wakeup> wakeups = new ArrayList<Wakeup>();
|
||||||
public static P p = P.p;
|
public static P p = P.p;
|
||||||
//public static ChatColor g = ChatColor.GOLD;
|
|
||||||
//public static ChatColor w = ChatColor.WHITE;
|
|
||||||
//public static ChatColor r = ChatColor.RED;
|
|
||||||
//public static ChatColor gr = ChatColor.GREEN;
|
|
||||||
public static int checkId = -1;
|
public static int checkId = -1;
|
||||||
public static Player checkPlayer = null;
|
public static Player checkPlayer = null;
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ public class BlockListener implements Listener {
|
|||||||
|
|
||||||
if (lines[0].equalsIgnoreCase("Fass")) {
|
if (lines[0].equalsIgnoreCase("Fass")) {
|
||||||
if (Barrel.create(event.getBlock())) {
|
if (Barrel.create(event.getBlock())) {
|
||||||
P.p.msg(event.getPlayer(), "Fass erfolgreich erstellt");
|
P.p.msg(event.getPlayer(), P.p.languageReader.get("Player_BarrelCreated"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -201,7 +201,7 @@ public class CommandListener implements CommandExecutor {
|
|||||||
Wakeup.remove(sender, id);
|
Wakeup.remove(sender, id);
|
||||||
} else {
|
} else {
|
||||||
p.msg(sender, "Benutzung:");
|
p.msg(sender, "Benutzung:");
|
||||||
p.msg(sender, "&6/br Wakeup Remove <id>");
|
p.msg(sender, "&6/br wakeup Remove <id>");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (args[1].equalsIgnoreCase("check")){
|
} else if (args[1].equalsIgnoreCase("check")){
|
||||||
@@ -299,7 +299,7 @@ public class CommandListener implements CommandExecutor {
|
|||||||
while (count > 0) {
|
while (count > 0) {
|
||||||
ItemStack item = brew.copy(hand);
|
ItemStack item = brew.copy(hand);
|
||||||
if (!(player.getInventory().addItem(item)).isEmpty()) {
|
if (!(player.getInventory().addItem(item)).isEmpty()) {
|
||||||
P.p.msg(sender, "&6" + count + " &cTränke haben nicht mehr in das Inventar gepasst");
|
p.msg(sender, "&6" + count + " &cTränke haben nicht mehr in das Inventar gepasst");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
count--;
|
count--;
|
||||||
|
|||||||
Reference in New Issue
Block a user