Makes both String[] and List<String> available for string formatting
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				KnarCraft/KnarLib/pipeline/head This commit looks good
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	KnarCraft/KnarLib/pipeline/head This commit looks good
				
			This commit is contained in:
		@@ -6,6 +6,8 @@ import net.md_5.bungee.api.ChatColor;
 | 
			
		||||
import org.bukkit.command.CommandSender;
 | 
			
		||||
import org.jetbrains.annotations.NotNull;
 | 
			
		||||
 | 
			
		||||
import java.util.List;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * A formatter for formatting displayed messages
 | 
			
		||||
 */
 | 
			
		||||
@@ -169,6 +171,20 @@ public final class StringFormatter {
 | 
			
		||||
     */
 | 
			
		||||
    public String replacePlaceholders(@NotNull TranslatableMessage translatableMessage, @NotNull String[] placeholders,
 | 
			
		||||
                                      @NotNull String[] replacements) {
 | 
			
		||||
        return replacePlaceholders(this.translator.getTranslatedMessage(translatableMessage), List.of(placeholders),
 | 
			
		||||
                List.of(replacements));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Replaces placeholders in a translatable message
 | 
			
		||||
     *
 | 
			
		||||
     * @param translatableMessage <p>The translatable message to replace in</p>
 | 
			
		||||
     * @param placeholders        <p>The placeholders to replace</p>
 | 
			
		||||
     * @param replacements        <p>The replacement values</p>
 | 
			
		||||
     * @return <p>The input string with placeholders replaced</p>
 | 
			
		||||
     */
 | 
			
		||||
    public String replacePlaceholders(@NotNull TranslatableMessage translatableMessage, @NotNull List<String> placeholders,
 | 
			
		||||
                                      @NotNull List<String> replacements) {
 | 
			
		||||
        return replacePlaceholders(this.translator.getTranslatedMessage(translatableMessage), placeholders, replacements);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@@ -195,8 +211,21 @@ public final class StringFormatter {
 | 
			
		||||
     */
 | 
			
		||||
    public static String replacePlaceholders(@NotNull String input, @NotNull String[] placeholders,
 | 
			
		||||
                                             @NotNull String[] replacements) {
 | 
			
		||||
        for (int i = 0; i < Math.min(placeholders.length, replacements.length); i++) {
 | 
			
		||||
            input = replacePlaceholder(input, placeholders[i], replacements[i]);
 | 
			
		||||
        return replacePlaceholders(input, List.of(placeholders), List.of(replacements));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Replaces placeholders in a string
 | 
			
		||||
     *
 | 
			
		||||
     * @param input        <p>The input string to replace in</p>
 | 
			
		||||
     * @param placeholders <p>The placeholders to replace</p>
 | 
			
		||||
     * @param replacements <p>The replacement values</p>
 | 
			
		||||
     * @return <p>The input string with placeholders replaced</p>
 | 
			
		||||
     */
 | 
			
		||||
    public static String replacePlaceholders(@NotNull String input, @NotNull List<String> placeholders,
 | 
			
		||||
                                             @NotNull List<String> replacements) {
 | 
			
		||||
        for (int i = 0; i < Math.min(placeholders.size(), replacements.size()); i++) {
 | 
			
		||||
            input = replacePlaceholder(input, placeholders.get(i), replacements.get(i));
 | 
			
		||||
        }
 | 
			
		||||
        return input;
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -2,6 +2,7 @@ package net.knarcraft.knarlib.formatting;
 | 
			
		||||
 | 
			
		||||
import org.jetbrains.annotations.NotNull;
 | 
			
		||||
 | 
			
		||||
import java.util.ArrayList;
 | 
			
		||||
import java.util.HashMap;
 | 
			
		||||
import java.util.Map;
 | 
			
		||||
 | 
			
		||||
@@ -71,8 +72,8 @@ public final class StringReplacer {
 | 
			
		||||
     * @return <p>The string with placeholders replaced</p>
 | 
			
		||||
     */
 | 
			
		||||
    public @NotNull String replace(@NotNull String input) {
 | 
			
		||||
        return StringFormatter.replacePlaceholders(input, replacements.keySet().toArray(new String[0]),
 | 
			
		||||
                replacements.values().toArray(new String[0]));
 | 
			
		||||
        return StringFormatter.replacePlaceholders(input, new ArrayList<>(replacements.keySet()),
 | 
			
		||||
                new ArrayList<>(replacements.values()));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import org.jetbrains.annotations.NotNull;
 | 
			
		||||
public enum TranslatableTimeUnit implements TranslatableMessage {
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The format for displaying the duation of something
 | 
			
		||||
     * The format for displaying the duration of something
 | 
			
		||||
     */
 | 
			
		||||
    DURATION_FORMAT,
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user