Makes translator color conversion configurable
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				EpicKnarvik97/KnarLib/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	EpicKnarvik97/KnarLib/pipeline/head This commit looks good
				
			This commit is contained in:
		@@ -31,6 +31,7 @@ public final class Translator {
 | 
			
		||||
    private final List<TranslatableMessage> messageCategories = new ArrayList<>();
 | 
			
		||||
    private Map<TranslatableMessage, String> translatedMessages;
 | 
			
		||||
    private Map<TranslatableMessage, String> backupTranslatedMessages;
 | 
			
		||||
    private ColorConversion colorConversion = ColorConversion.RGB;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Registers all translatable messages in the given message category
 | 
			
		||||
@@ -44,6 +45,23 @@ public final class Translator {
 | 
			
		||||
        messageCategories.add(translatableMessage);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Sets the color conversion to use for translated messages
 | 
			
		||||
     *
 | 
			
		||||
     * <p>See {@link net.knarcraft.knarlib.property.ColorConversion} and
 | 
			
		||||
     * {@link net.knarcraft.knarlib.util.ColorHelper#translateColorCodes(String, ColorConversion)} for details, but
 | 
			
		||||
     * basically, this allows setting which color codes should be converted, and which should not be.</p>
 | 
			
		||||
     *
 | 
			
		||||
     * @param colorConversion <p>The color conversion to be used</p>
 | 
			
		||||
     */
 | 
			
		||||
    public void setColorConversion(ColorConversion colorConversion) {
 | 
			
		||||
        if (colorConversion != null) {
 | 
			
		||||
            this.colorConversion = colorConversion;
 | 
			
		||||
        } else {
 | 
			
		||||
            throw new IllegalArgumentException("Color conversion cannot be null");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Loads the languages used by this translator
 | 
			
		||||
     *
 | 
			
		||||
@@ -77,7 +95,7 @@ public final class Translator {
 | 
			
		||||
        } else {
 | 
			
		||||
            translatedMessage = translatableMessage.toString();
 | 
			
		||||
        }
 | 
			
		||||
        return ColorHelper.translateColorCodes(translatedMessage, ColorConversion.RGB);
 | 
			
		||||
        return ColorHelper.translateColorCodes(translatedMessage, colorConversion);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
@@ -115,7 +133,8 @@ public final class Translator {
 | 
			
		||||
 | 
			
		||||
        try {
 | 
			
		||||
            Bukkit.getLogger().log(Level.INFO, "Loading custom strings...");
 | 
			
		||||
            return loadTranslatableMessages(language, new BufferedReader(new InputStreamReader(new FileInputStream(strings))));
 | 
			
		||||
            return loadTranslatableMessages(language, new BufferedReader(new InputStreamReader(
 | 
			
		||||
                    new FileInputStream(strings))));
 | 
			
		||||
        } catch (FileNotFoundException e) {
 | 
			
		||||
            Bukkit.getLogger().log(Level.WARNING, "Unable to load custom messages");
 | 
			
		||||
            return null;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user