From 2098b9f4e392cbe112084793dfe882d3e303998a Mon Sep 17 00:00:00 2001 From: Thijs Wiefferink Date: Wed, 24 Sep 2014 21:40:23 +0200 Subject: [PATCH] Adds code of V2.0.2 --- AreaShop/config.yml | 3 +- AreaShop/lang/EN.yml | 1 + AreaShop/lang/FR.yml | 265 ++++++++++++++++++ AreaShop/lang/NL.yml | 2 +- AreaShop/plugin.yml | 2 +- .../evolutioncoding/AreaShop/FileManager.java | 6 +- .../AreaShop/LanguageManager.java | 47 +++- .../AreaShop/regions/GeneralRegion.java | 12 +- 8 files changed, 312 insertions(+), 26 deletions(-) create mode 100644 AreaShop/lang/FR.yml diff --git a/AreaShop/config.yml b/AreaShop/config.yml index 78a1ba6f..937a9237 100644 --- a/AreaShop/config.yml +++ b/AreaShop/config.yml @@ -6,7 +6,8 @@ ############################################## ########## GENERAL ########## -## Chatprefix used for all messages in the chat +## Chatprefix used for all messages in the chat. Also check the 'greeting' lines in the 'flagProfiles' section, +## these also contain the prefix and you may want to change those to chatPrefix: '&2[AreaShop]&r ' ## The characters used for the prices of regions, will appear before the number, for the euro character use '%euro%' moneyCharacter: '$' diff --git a/AreaShop/lang/EN.yml b/AreaShop/lang/EN.yml index 06080b82..0dad9143 100644 --- a/AreaShop/lang/EN.yml +++ b/AreaShop/lang/EN.yml @@ -1,5 +1,6 @@ ################################################### # English language file for the AreaShop plugin # +# Latest update: V2.0.2 # ################################################### # Copy this file and change the strings to your # # favor. Then change the 'language' setting in # diff --git a/AreaShop/lang/FR.yml b/AreaShop/lang/FR.yml new file mode 100644 index 00000000..9af550af --- /dev/null +++ b/AreaShop/lang/FR.yml @@ -0,0 +1,265 @@ +################################################### +# French language file for the AreaShop plugin # +# Latest update: V2.0.2 # +################################################### +# Copy this file and change the strings to your # +# favor. Then change the 'language' setting in # +# the config to the filename (excluding .yml) # +################################################### + +########## General strings +total-maximum: "Vous ne pouvez pas acheter ou louer plus de %0% region(s) au total" + +cmd-notValid: "Cette commande est incorrecte, utilisez '/as help' pour plus de détails" +cmd-onlyByPlayer: "Cette commande ne peut être utilisé que par un joueur" +cmd-weOnlyByPlayer: "Utiliser une séléction WorldEdit n'est possible qu'en tant que joueur. Spécifiez le nom de la région en argument supplémentaire." +cmd-noSelection: "Vous n'avez pas de séléction WorldEdit" +cmd-noRegionsFound: "Aucune région enregistré dans AreaShop n'a été trouvé dans votre séléction" +cmd-noWERegionsFound: "Aucun région WorldEdit croisant votre séléction n'a été trouvé" + +########## Help command strings +help-header: "Pade d'aide, Commande que vous pouvez éxécuter" +help-alias: "Alias des commandes: /areashop, /as" +help-help: "&6/as help &7-&r Affiche la page d'aide" +help-info: "&6/as info &7-&r Obtenir les infos sur les régions actuelles" +help-rent: "&6/as rent &7-&r Louer une région, ou prolonger la location actuelle" +help-buy: "&6/as buy &7-&r Acheter une région" +help-unrent: "&6/as unrent &7-&r Dé-louer une région" +help-unrentOwn: "&6/as unrent &7-&r Dé-louer votre propre région" +help-sell: "&6/as sell &7-&r Vendre une région" +help-sellOwn: "&6/as sell &7-&r Vendre votree propre région" +help-updaterents: "&6/as updaterents &7-&r Mettre à jours toutes les pancartes et les régions louées." +help-updatebuys: "&6/as updatebuys &7-&r Mettre à jours toutes les pancartes et les régions achetées" +help-reload: "&6/as reload &7-&r Recharge les configs et langages" +help-setrestore: "&6/as setrestore &7-&r Mettre le profil pour réstaurer à on/off" +help-setprice: "&6/as setprice &7-&r Fixerle prix d'une région louée." +help-rentduration: "&6/as rentduration &7-&r Changer la durée d'une région louée" +help-teleport: "&6/as tp &7-&r Téléportation vers votre région acheté / louée" +help-teleportAll: "&6/as tp &7-&r Téléportation vers une région louée / acheté" +help-setteleport: "&6/as settp &7-&r Définie la position de téléportation pour la région louée / acheté" +help-setteleportAll: "&6/as settp &7-&r Défini la position de téléportation pour une région" +help-find: "&6/as find &7-&r trouve un achat ou une location vide" +help-groupadd: "&6/as groupadd &7-&r Ajoute une région à un groupe" +help-groupdel: "&6/as groupdel &7-&r Supprime une région d'un groupe" +help-grouplist: "&6/as grouplist &7-&r Affiche tout les groupes enregistrés" +help-groupinfo: "&6/as groupinfo &7-&r Affiche les informations d'un groupe" +help-schemevent: "&6/as schemevent &7-&r Déclanche un évenement schématique d'une région" +help-add: "&6/as add &7-&r Enregistre une région comme louée ou acheté" +help-del: "&6/as del &7-&r Supprime une région enregistré dans AreaShop" +help-addsign: "&6/as addsign &7-&r Ajoute une pancarte à une région existante" +help-delsign: "&6/as delsign &7-&r Supprime la pancarte que vous regardez" + +############ Other command strings +rent-help: "/as rent [regionname], Si non spécifié, cible la région dans laquelle vous vous trouvez" +rent-noPermission: "Vous n'avez pas la permission de louer une région" +rent-maximum: "Vous ne pouvez pas louer plus de %0% région(s)" +rent-payError: "Une erreur durant le paiement s'est produite. Essayez de nouveau plus tard" +rent-rented: "Vous avez loué de %0% jusqu'à %1%" +rent-extended: "Vous avez prolongé la location de %0% jusqu'à %1%" +rent-extend: "Vous pouvez prolonger votre location avec un clic droit sur la pancarte, ou en utilisant /as rent" +rent-lowMoneyExtend: "Vous n'avez pas assez d'argent pour prolonger la location. (Vous possédez %0% et devez payer %1%)" +rent-lowMoneyRent: "Vous n'avez pas assez d'argent pour louer cette région. (Vous possédez %0% et devez payer %1%)" +rent-someoneElse: "Quelqu'un d'autre a déjà louer cette région" +rent-notRentable: "cette région n'est pas disponible à la location" +rent-maxExtends: "Vous ne pouvez plus prolonger cette location. (Le maximum est de %0% fois). Mais lorsque la location sera terminé, vous pourrez louer de nouveau cette région" + +buy-help: "/as buy [regionname], Si non spécifié, cible la région dans laquelle vous vous trouvez" +buy-noPermission: "Vous n'avez pas la permission d'acheter une région" +buy-notBuyable: "cette région n'est pas disponible à l'achat" +buy-maximum: "Vous ne pouvez pas acheter plus de %0% région(s)" +buy-payError: "Une erreur durant le paiement s'est produite. Essayez de nouveau plus tard" +buy-succes: "Vous avez bien acheté %0%" +buy-lowMoney: "Vous n'avez pas assez d'argent pour acheter cette région. (Vous possédez %0% et devez payer %1%)" +buy-yours: "Vous avez déjà acheter cette région" +buy-someoneElse: "Quelqu'un a déjà acheté cette région" + +unrent-help: "/as unrent [regionname], Si non spécifié, cible la région dans laquelle vous vous trouvez" +unrent-noPermission: "Vous n'avez pas la permission de dé-louer une région" +unrent-noPermissionOther: "Vous n'avez pas la permission de délouer une autre région" +unrent-notRegistered: "La région ne peut pas être dé-louée car elle n'est pas enregistré à la location" +unrent-notRented: "La région ne peut pas être dé-louée car elle n'est pas loué" +unrent-unrented: "Votre région a été dé-louée." +unrent-other: "La région du joueur %0% a été dé-louée" +unrent-expired: "Votre location de %0% a expiré" + +sell-help: "/as sell [regionname], Si non spécifié, cible la région dans laquelle vous vous trouvez" +sell-notRegistered: "la région ne peut pas être vendue car elle n'est pas enregistré comme acheté" +sell-notBought: "La région ne peut pas être vendue car elle n'est pas la propriété de quelqu'un" +sell-sold: "Cette région a été vendu au joueur %0%" +sell-soldYours: "Votre région a été vendue" +sell-noPermission: "Vous n'avez pas la permission de vendre une région" +sell-noPermissionOther: "Vous n'avez pas la permission de vendre une autre région" + +rents-updated: "Tout les panneaux et régions en location ont été mis à jour" +rents-notUpdated: "Tout les panneaux n'ont pas été mis à jour. Recharger peut corriger le problème" +rents-noPermission: "Vous n'avez pas la permission de mettre à jour les panneaux et régions en location" + +buys-updated: "Tout les panneaux et régions en vente ont été mis à jour" +buys-notUpdated: "Tout les panneaux n'ont pas été mis à jour. Recharger peut corriger le problème" +buys-noPermission: "Vous n'avez pas la permission de mettre à jour les panneaux et régions en vente" + +reload-reloaded: "La configuration a bien été rechargée" +reload-noPermission: "Vous n'avez pas la permission de recharger la configuration" + +info-help: "/as info " +info-all-rents: "Régions enregistrées en location: &7%0%" +info-all-noRents: "Il n'y a pas de régions enregistrées en location" +info-all-buys: "Régions enregistrées en vente: &7%0%" +info-all-noBuys: "Il n'y a pas de régions enregistrées en achat" +info-rented: "Régions louées: &7%0%" +info-noRented: "Aucune régions louée" +info-unrented: "régions non louées: &7%0%" +info-noUnrented: "Toutes les régions sont louées" +info-sold: "Régions vendues: &7%0%" +info-noSold: "Aucune région n'est vendue" +info-forsale: "Région en vente: &7%0%" +info-noForsale: "Toutes les régions sont vendues" +info-playerHelp: "/as info player " +info-playerRents: "Regions louées par %0%: &7%1%" +info-playerNoRents: "%0% n'a de région louée" +info-playerBuys: "Régions achetés par %0%: &7%1%" +info-playerNoBuys: "%0% n'a pas acheté de région" +info-regionHelp: "/as info region [name], Si non spécifié, cible la région dans laquelle vous vous trouvez" +info-regionNoRenting: "%0% n'est pas enregistré pour la location" +info-regionRenting: "&6Détails de location pour %0%:" +info-regionRentedBy: "Louée par: &7%0% jusqu'au %1%" +info-regionNotRented: "Actuellement non louée" +info-regionBuying: "&6Détails d'achat pour %0%:" +info-regionNoBuying: "%0% n'est pas enregistré à la vente" +info-regionNotBought: "Actuellement non vendue" +info-regionBoughtBy: "Acheté par: &7%0%" +info-regionSign: "Panneau(x) de location(s): %0%" +info-regionSignLocation: "&7(%0%, %1%, %2%, %3%)&r" +info-regionNoSign: "Il n'y a pas de panneaux enregistré pour cette région" +info-regionPriceDuration: "Prix: &7%0% pour chaque %1%" +info-regionPrice: "Prix: &7%0%" +info-regionRestore: "Réstauration activé: &7%0%" +info-regionRestoreProfile: "profil de restauration: &7%0%" +info-regionTPLocation: "lieu de téléportation: &7World=%0%, X=%1%, Y=%2%, Z=%3%, Pitch=%4%, Yaw=%5%" +info-regionNoTP: "Aucun lieu de téléportation défini" +info-regionNotExisting: "La région %0% n'est pas enregistrée" + +setrestore-help: "/as setrestore [profile]" +setrestore-noPermission: "Vous n'avez pas la permission de restaurer les paramètres" +setrestore-notRegistered: "%0% n'est pas enregistré" +setrestore-invalidSetting: "'%0%' est invalide. Doit être true, false ou general" +setrestore-success: "Les paramètres ont bien été restauré de %0% à '%1%'" +setrestore-successProfile: "Les paramètres ont bien été restauré de %0% à '%1%' et la profil à '%2%'" + +setprice-noPermission: "Vous n'avez pas la permission de changer le prix d'une région" +setprice-help: "/as setprice [region], Si non spécifié, cible la région dans laquelle vous vous trouvez" +setprice-notRegistered: "%0% n'est pas enregistré dans AreaShop" +setprice-wrongPrice: "'%0%' n'est pas un rpix valide" +setprice-successRent: "Prix de la région %0% changé de %1% à %2%" +setprice-successBuy: "Pprix de la région %0% changé à %1%" + +rentduration-noPermission: "Vous n'avez pas la permission de changer la durée d'une location" +rentduration-help: "/as rentduration [region], Si non spécifié, cible la région dans laquelle vous vous trouvez" +rentduration-notRegistered: "%0% n'est pas enregistré comme location" +rentduration-wrongAmount: "'%0%' n'est pas un montant valide, utilisez un nombre entier" +rentduration-wrongFormat: "'%0%' n'est pas un format date correcte, regardez la documentation bukkit" +rentduration-success: "Durée de la région %0% changé à '%1%'" + +setup-noRegion: "Vous n'avez pas spécifié une région à la seconde ligne" +setup-wrongRegion: "la région que vous avez spécifié n'existe pas" +setup-alreadyRentSign: "La région que vous avez spécifiée possède déjà un panneau de location" +setup-alreadyBuySign: "La région que vous avez spécifiée possède déjà un panneau de vente" +setup-noDuration: "A la troisième ligne, vous n'avez pas spécifié la durée de location de la région" +setup-wrongDuration: "Le temps spécifié n'est pas au bon format. Exemple: 1 day" +setup-noPrice: "A la quatrième ligne, vous n'avez pas spécifié le prix" +setup-wrongPrice: "Vous n'avez pas indiqué un prix correcte, utilisez un nombre entier" +setup-rentSuccess: "La location de la région %0% est correctement configurée" +setup-buySuccess: "L'achat de la région %0% est correctement configuré" +setup-noPermissionRent: "Vous n'avez pas la permission de mettre en place la location de régions" +setup-noPermissionBuy: "Vous n'avez pas la permission de mettre en place l'achat de régions" +setup-couldNotDetect: "Multiples régions trouvées avec la même priorité et/ou parent/enfant relation. Spécifiez en un sur la deuxième ligne. (2 des régions trouvées: %0% et %1%)" + +destroy-noPermissionRent: "Vous n'avez pas la permission de détruire le panneau de location d'une région" +destroy-noPermissionBuy: "Vous n'avez pas la permission de détruire le panneau de vente d'une région" +destroy-successRent: "Location de %0% supprimé" +destroy-successBuy: "Achat de %0% supprimé" + +teleport-help: "/as tp [sign]" +teleport-noRentOrBuy: "La région '%0%' n'est pas enregistré comme location ou achat" +teleport-noPermission: "Vous n'avez pas la permission de vous téléporter dans une région" +teleport-noPermissionOther: "Vous n'avez pas la permission de vous téléporter à une région qui ne vous appartient pas" +teleport-success: "Vous avez été téléporté à %0%" +teleport-noSafe: "Aucune position sécurisé trouvé dans la région %0%. Pas de point restant, ou tentatives maximales dépassées. (%1%/%2%)" + +setteleport-help: "/as settp [region] [reset], Si non spécifié, cible la région dans laquelle vous vous trouvez" +setteleport-noPermission: "Vous n'avez pas la permission de définir un point de téléportation" +setteleport-noPermissionAll: "Vous n'avez pas la permission de définir un point de téléportation sur une région qui ne vous appartient pas" +setteleport-noRentOrBuy: "La région '%0%' n'est pas enregistré comme location ou achat" +setteleport-success: "Lieu de téléportation de %0% défini" +setteleport-notInside: "Le lieu doit se trouver dans votre région" +setteleport-reset: "le lieu de téléportation de %0% a été reset" + +find-help: "/as find [maxprice]" +find-noPermission: "Vous n'avez pas la permission de vous téléporter à des panneaux. Vous ne pouvez donc pas utiliser find" +find-success: "Trouvé %0% région: %1%, en recherchant avec le prix maximum de votre solde: %2%" +find-successMax: "trouvé %0% région: %1%, en cherchant un prix maximum de %2%" +find-wrongMaxPrice: "le prix maximum n'est pas un nombre valide: %0%" +find-noneFound: "Aucune %0% région trouvée, en cherchant le prix maximum de votre solde: %1%" +find-noneFoundMax: "Aucune %0% région trouvée en cherchant un prix maximum de %1%" + +groupadd-help: "/as groupadd [region], Si non spécifié, cible la région dans laquelle vous vous trouvez" +groupadd-noPermission: "Vous n'avez pas la permission d'ajouter des régions aux groupes" +groupadd-noRegion: "la région spécifiée n'est pas enregistré: %0%" +groupadd-success: "La région %0% a été ajouté au groupe '%1%'. ce groupe a maintenant %2% membre(s)" +groupadd-failed: "La région %0% est déjà membre du groupe '%1%'" +groupadd-weSuccess: "Ajouté au groupe %0%: &7%1%" +groupadd-weFailed: "Nous étions déjà dans le groupe %0%: &7%1%" + +groupdel-help: "/as groupdel [region], Si non spécifié, cible la région dans laquelle vous vous trouvez" +groupdel-noPermission: "Vous n'avez pas la permission de supprimer des régions depuis les groupes" +groupdel-noRegion: "La région spécifiée n'est pas enregistré: %0%" +groupdel-success: "La région %0% a été supprimé du groupe '%1%', ce groupe a maintenant %2% membre(s)" +groupdel-failed: "La région %0% n'est pas membre du groupe '%1%'" +groupdel-weSuccess: "Supprimé du groupe %0%: &7%1%" +groupdel-weFailed: "Nous ne sommes pas dans le groupe %0% de toute façon: &7%1%" + +grouplist-noPermission: "Vous n'avez pas l'autorisation d'afficher les groupes enregistrés" +grouplist-noGroups: "Il n'y a actuellement aucun groupe enregistré" +grouplist-success: "les groupes suivants sont enregistrés: &7%0%" + +groupinfo-help: "/as groupinfo " +groupinfo-noPermission: "Vous n'avez pas la permission d'afficher des informations sur un groupe" +groupinfo-noGroup: "Il n'y a pas de groupe enregistré sous le nom '%0%', utilisez /as grouplist pour vérifier les groupes" +groupinfo-members: "Les régions suivantes sont membres du groupe %0%: &7%1%" +groupinfo-noMembers: "Le groupe %0% ne possède aucun membre" + +schemevent-help: "/as schemevent " +schemevent-noRegion: "La région spécifiée n'est pas enregistré: %0%" +schemevent-wrongEvent: "L'évent spécifié '%0%' n'existe pas, utilisez un des suivants: &7%1%" +schemevent-success: "L'évent '%0%' a été déclenché pour la région %1%" +schemevent-noPermission: "Vous n'avez pas la permission de déclencher des événements schématiques" + +add-help: "/as add [region] [world]" +add-noPermission: "Vous n'avez pas la permission d'ajouter une région à AreaShop" +add-success: "Ajouté comme %0%: &7%1%" +add-failed: "Déjà enregistré: &7%0%" +add-specifyWorld: "Spécifiez le monde de la région lors de l'utilisation de la console" +add-incorrectWorld: "Le monde '%0%' est introuvable, essayez de nouveau (Attention à la casse)" +add-noRegion: "La région '%0%' n'existe pas dans ce monde" + +del-noRegion: "Le région '%0%' n'est pas enregistré à AreaShop" +del-noPermission: "Vous n'avez pas la permission de supprimer des régions" +del-success: "Régions supprimées: &7%0%" +del-failed: "Pas de permission pour supprimer, ou pas enregistré: &7%0%" + +addsign-help: "/as addsign [region] [profile]" +addsign-noSign: "Vous ne regardez pas de panneau" +addsign-noRegion: "La région '%0%' n'a pas été trouvé" +addsign-noRegions: "Aucune région trouvé autour du panneau" +addsign-couldNotDetect: "Plusieurs régions ont été trouvées à promixité du panneau. Spécifiez la région en argument supplémentaire. (2 des régions trouvées: %0% et %1%)" +addsign-couldNotDetectSign: "Plusieurs régions ont été trouvées à proximité du panneau. Spécifiez la région à la deuxième ligne. (2 des régions trouvées: %0% et %1%)" +addsign-wrongProfile: "le profil spécifié n'existe pas. utilisez un des suivants (vérifier la configuration): &7%0%" +addsign-success: "Le panneau a été ajouté à %0%" +addsign-successProfile: "Le panneau a été ajouté à %0% avec le profil %1%" +addsign-alreadyRegistered: "Ce panneau a déjà été enregistré pour la région %0%" +addsign-noPermission: "Vous n'avez pas la permission d'ajouter un panneau" + +delsign-noSign: "Vous ne regardez pas un panneau" +delsign-noPermission: "Vous n'avez pas la permission de supprimer un panneau" +delsign-noRegion: "Ce signe n'appartient pas à une région AreaShop" +delsign-success: "Ce panneau a été supprimé de la région %0%" \ No newline at end of file diff --git a/AreaShop/lang/NL.yml b/AreaShop/lang/NL.yml index 0c66892f..f7201449 100644 --- a/AreaShop/lang/NL.yml +++ b/AreaShop/lang/NL.yml @@ -1,10 +1,10 @@ ################################################### # Dutch language file for the AreaShop plugin # +# Latest update: V1.2.1 # ################################################### # Copy this file and change the strings to your # # favor. Then change the 'language' setting in # # the config to the filename (excluding .yml) # -# NOT UPDATED since 1.2.1 # ################################################### ########## Command strings diff --git a/AreaShop/plugin.yml b/AreaShop/plugin.yml index e8f7b05d..48fef05c 100644 --- a/AreaShop/plugin.yml +++ b/AreaShop/plugin.yml @@ -1,6 +1,6 @@ name: AreaShop main: nl.evolutioncoding.AreaShop.AreaShop -version: 2.0.1 +version: 2.0.2 depend: [Vault, WorldGuard, WorldEdit] softdepend: [Multiverse-Core] commands: diff --git a/AreaShop/src/nl/evolutioncoding/AreaShop/FileManager.java b/AreaShop/src/nl/evolutioncoding/AreaShop/FileManager.java index 522670bd..a17e39e4 100644 --- a/AreaShop/src/nl/evolutioncoding/AreaShop/FileManager.java +++ b/AreaShop/src/nl/evolutioncoding/AreaShop/FileManager.java @@ -813,10 +813,14 @@ public void convertFiles() { saveVersions(); } - + // Separate try-catch blocks to try them all individually (don't stop after 1 has failed) try { Files.move(new File(rentPath + ".old"), new File(oldFolderPath + "rents.old")); + } catch (Exception e) {} + try { Files.move(new File(buyPath + ".old"), new File(oldFolderPath + "buys.old")); + } catch (Exception e) {} + try { Files.move(new File(plugin.getDataFolder() + File.separator + "config.yml"), new File(oldFolderPath + "config.yml")); } catch (Exception e) {} diff --git a/AreaShop/src/nl/evolutioncoding/AreaShop/LanguageManager.java b/AreaShop/src/nl/evolutioncoding/AreaShop/LanguageManager.java index 8d3a0a04..a367705a 100644 --- a/AreaShop/src/nl/evolutioncoding/AreaShop/LanguageManager.java +++ b/AreaShop/src/nl/evolutioncoding/AreaShop/LanguageManager.java @@ -1,9 +1,12 @@ package nl.evolutioncoding.AreaShop; import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; import java.util.HashMap; import java.util.Map; @@ -11,9 +14,11 @@ import org.bukkit.configuration.file.YamlConfiguration; +import com.google.common.base.Charsets; + public class LanguageManager { private AreaShop plugin = null; - private String languages[] = {"EN", "NL"}; + private String languages[] = {"EN", "NL", "FR"}; private HashMap currentLanguage, defaultLanguage; /** @@ -84,26 +89,38 @@ public void loadLanguage() { /* Save the current language file to the HashMap */ currentLanguage = new HashMap(); File file = new File(plugin.getDataFolder() + File.separator + AreaShop.languageFolder + File.separator + plugin.config().getString("language") + ".yml"); - ymlFile = YamlConfiguration.loadConfiguration(file); - map = ymlFile.getValues(true); - set = map.keySet(); + InputStreamReader reader = null; try { - for(String key : set) { - currentLanguage.put(key, (String)map.get(key)); - } - } catch(ClassCastException e) {} + reader = new InputStreamReader(new FileInputStream(file), Charsets.UTF_8); + } catch (FileNotFoundException e1) {} + if(reader != null) { + ymlFile = YamlConfiguration.loadConfiguration(reader); + map = ymlFile.getValues(true); + set = map.keySet(); + try { + for(String key : set) { + currentLanguage.put(key, (String)map.get(key)); + } + } catch(ClassCastException e) {} + } /* Save the default strings to the HashMap */ defaultLanguage = new HashMap(); File standard = new File(plugin.getDataFolder() + File.separator + AreaShop.languageFolder + "/" + languages[0]+ ".yml"); - ymlFile = YamlConfiguration.loadConfiguration(standard); - map = ymlFile.getValues(true); - set = map.keySet(); + InputStreamReader reader2 = null; try { - for(String key : set) { - defaultLanguage.put(key, (String)map.get(key)); - } - } catch(ClassCastException e) {} + reader2 = new InputStreamReader(new FileInputStream(standard), Charsets.UTF_8); + } catch (FileNotFoundException e1) {} + if(reader2 != null) { + ymlFile = YamlConfiguration.loadConfiguration(reader2); + map = ymlFile.getValues(true); + set = map.keySet(); + try { + for(String key : set) { + defaultLanguage.put(key, (String)map.get(key)); + } + } catch(ClassCastException e) {} + } } /** diff --git a/AreaShop/src/nl/evolutioncoding/AreaShop/regions/GeneralRegion.java b/AreaShop/src/nl/evolutioncoding/AreaShop/regions/GeneralRegion.java index a2bcddda..cd8b91d4 100644 --- a/AreaShop/src/nl/evolutioncoding/AreaShop/regions/GeneralRegion.java +++ b/AreaShop/src/nl/evolutioncoding/AreaShop/regions/GeneralRegion.java @@ -36,10 +36,10 @@ import com.sk89q.worldedit.Vector; import com.sk89q.worldedit.bukkit.BukkitWorld; import com.sk89q.worldedit.data.DataException; +import com.sk89q.worldedit.extension.factory.PatternFactory; import com.sk89q.worldedit.schematic.SchematicFormat; import com.sk89q.worldguard.bukkit.WorldGuardPlugin; import com.sk89q.worldguard.domains.DefaultDomain; -import com.sk89q.worldguard.protection.databases.ProtectionDatabaseException; import com.sk89q.worldguard.protection.flags.BooleanFlag; import com.sk89q.worldguard.protection.flags.DefaultFlag; import com.sk89q.worldguard.protection.flags.DoubleFlag; @@ -51,6 +51,7 @@ import com.sk89q.worldguard.protection.flags.StateFlag; import com.sk89q.worldguard.protection.flags.StateFlag.State; import com.sk89q.worldguard.protection.flags.StringFlag; +import com.sk89q.worldguard.protection.managers.storage.StorageException; import com.sk89q.worldguard.protection.regions.ProtectedRegion; import com.sk89q.worldguard.protection.regions.ProtectedRegion.CircularInheritanceException; @@ -559,13 +560,10 @@ public boolean restoreRegionBlocks(String fileName) { // The path to save the schematic File saveFile = new File(plugin.getFileManager().getSchematicFolder() + File.separator + fileName + AreaShop.schematicExtension); - - LocalSession localSession = new LocalSession(plugin.getWorldEdit().getLocalConfiguration()); editSession.enableQueue(); try { - localSession.setClipboard(SchematicFormat.MCEDIT.load(saveFile)); - localSession.getClipboard().place(editSession, origin, false); - } catch (MaxChangedBlocksException | EmptyClipboardException | IOException | DataException e) { + SchematicFormat.MCEDIT.load(saveFile).place(editSession, origin, false); + } catch (MaxChangedBlocksException | IOException | DataException e) { result = false; } editSession.flushQueue(); @@ -754,7 +752,7 @@ protected boolean setRegionFlags(ConfigurationSection flags) { try { worldGuard.getRegionManager(getWorld()).save(); - } catch (ProtectionDatabaseException e) { + } catch (StorageException e) { plugin.getLogger().info("Error: regions could not be saved"); } return result;