Translates the remaining strings and fixes a few minor bugs
This commit is contained in:
@@ -9,9 +9,11 @@ import org.bukkit.configuration.file.YamlConfiguration;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
/**
|
||||
* A manager that keeps track of all registered paid signs
|
||||
@@ -119,26 +121,44 @@ public final class PaidSignManager {
|
||||
* @throws IOException <p>If unable to write to the signs file</p>
|
||||
*/
|
||||
public static void saveSigns(Map<String, PaidSign> signs) throws IOException {
|
||||
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(signsFile);
|
||||
ConfigurationSection signSection = configuration.createSection("paidSigns");
|
||||
try {
|
||||
YamlConfiguration configuration = YamlConfiguration.loadConfiguration(signsFile);
|
||||
ConfigurationSection signSection = configuration.createSection("paidSigns");
|
||||
|
||||
for (PaidSign sign : signs.values()) {
|
||||
String name = sign.getName();
|
||||
signSection.set(name + ".cost", sign.getCost());
|
||||
signSection.set(name + ".permission", sign.getPermission());
|
||||
signSection.set(name + ".ignoreCase", sign.getIgnoreCase());
|
||||
signSection.set(name + ".ignoreColor", sign.getIgnoreColor());
|
||||
ConfigurationSection conditionsSection = signSection.createSection(name + ".conditions");
|
||||
Map<Short, PaidSignCondition> signConditions = sign.getConditions();
|
||||
for (short lineIndex : signConditions.keySet()) {
|
||||
PaidSignCondition condition = signConditions.get(lineIndex);
|
||||
conditionsSection.set(lineIndex + ".stringToMatch", condition.getStringToMatch());
|
||||
conditionsSection.set(lineIndex + ".executeRegEx", condition.executeRegex());
|
||||
conditionsSection.set(lineIndex + ".ignoreCase", condition.ignoreCase());
|
||||
conditionsSection.set(lineIndex + ".ignoreColor", condition.ignoreColor());
|
||||
for (PaidSign sign : signs.values()) {
|
||||
saveSign(signSection, sign);
|
||||
}
|
||||
configuration.save(signsFile);
|
||||
} catch (IOException exception) {
|
||||
Logger logger = PaidSigns.getInstance().getLogger();
|
||||
logger.log(Level.SEVERE, "Exception encountered while trying to write " +
|
||||
"to the data file");
|
||||
logger.log(Level.SEVERE, Arrays.toString(exception.getStackTrace()));
|
||||
throw exception;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the given sign to the given configuration section
|
||||
*
|
||||
* @param signSection <p>The configuration section to save the sign to</p>
|
||||
* @param sign <p>The sign to save</p>
|
||||
*/
|
||||
private static void saveSign(ConfigurationSection signSection, PaidSign sign) {
|
||||
String name = sign.getName();
|
||||
signSection.set(name + ".cost", sign.getCost());
|
||||
signSection.set(name + ".permission", sign.getPermission());
|
||||
signSection.set(name + ".ignoreCase", sign.getIgnoreCase());
|
||||
signSection.set(name + ".ignoreColor", sign.getIgnoreColor());
|
||||
ConfigurationSection conditionsSection = signSection.createSection(name + ".conditions");
|
||||
Map<Short, PaidSignCondition> signConditions = sign.getConditions();
|
||||
for (short lineIndex : signConditions.keySet()) {
|
||||
PaidSignCondition condition = signConditions.get(lineIndex);
|
||||
conditionsSection.set(lineIndex + ".stringToMatch", condition.getStringToMatch());
|
||||
conditionsSection.set(lineIndex + ".executeRegEx", condition.executeRegex());
|
||||
conditionsSection.set(lineIndex + ".ignoreCase", condition.ignoreCase());
|
||||
conditionsSection.set(lineIndex + ".ignoreColor", condition.ignoreColor());
|
||||
}
|
||||
configuration.save(signsFile);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -2,6 +2,8 @@ package net.knarcraft.paidsigns.manager;
|
||||
|
||||
import net.knarcraft.paidsigns.PaidSigns;
|
||||
import net.knarcraft.paidsigns.container.TrackedSign;
|
||||
import net.knarcraft.paidsigns.formatting.StringFormatter;
|
||||
import net.knarcraft.paidsigns.formatting.TranslatableMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Location;
|
||||
import org.bukkit.OfflinePlayer;
|
||||
@@ -63,7 +65,10 @@ public final class TrackedSignManager {
|
||||
double refundSum = trackedSign.getCost() / 100 * PaidSigns.getInstance().getRefundPercentage();
|
||||
EconomyManager.withdraw(offlinePlayer, -refundSum);
|
||||
if (offlinePlayer instanceof Player player) {
|
||||
player.sendMessage("You were refunded " + refundSum + " for your broken sign");
|
||||
player.sendMessage(String.format(StringFormatter.replacePlaceholders(
|
||||
StringFormatter.getTranslatedInfoMessage(TranslatableMessage.SUCCESS_REFUNDED),
|
||||
new String[]{"{cost}", "{unit}"}, new String[]{"%.2f", "%s"}), refundSum,
|
||||
EconomyManager.getCurrency(refundSum != 1)));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user