package net.t2code.t2codelib.SPIGOT.api.messages; import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class T2Creplace { public static String replace(String prefix, String Text) { return replaceLegacyColor(Text).replace("[prefix]", prefix).replace("[ue]", "ü") .replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö") .replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n"); } public static String replace(String prefix, Player player, String Text) { return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n"))); } public static Object replaceObject(String prefix, Object object) { if (object instanceof String) { object = replaceLegacyColor((String) object).replace("[prefix]", prefix).replace("[ue]", "ü") .replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö") .replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n"); } if ((object instanceof List) || (object instanceof ArrayList)) { List in = (List) object; List output = new ArrayList<>(); for (String input : in) { output.add(replaceLegacyColor(input).replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n")); } object = output; } return object; } public static Object replaceObject(String prefix, Player player, Object object) { if (object instanceof String) { object = PlaceholderAPI.setPlaceholders(player, replaceLegacyColor((String) object).replace("[prefix]", prefix).replace("[ue]", "ü") .replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö") .replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n")); } if (object instanceof List) { List in = (List) object; List output = new ArrayList<>(); for (String input : in) { output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n"))); } object = output; } return object; } public static List replace(String prefix, List Text) { List output = new ArrayList<>(); for (String input : Text) { output.add(replaceLegacyColor(input).replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n")); } return output; } public static List replace(String prefix, Player player, List Text) { List output = new ArrayList<>(); if (player == null) { return Collections.singletonList("player is null"); } if (Text == null) { return Collections.singletonList("Text is null"); } for (String input : Text) { output.add(PlaceholderAPI.setPlaceholders(player, replaceLegacyColor(input).replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n"))); } return output; } public static List replacePrice(String prefix, List Text, String price) { List rp = new ArrayList<>(); for (String s : Text) { rp.add(replaceLegacyColor(s).replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[nl]", "\n").replace("[price]", String.valueOf(price))); } return rp; } public static String removeColorCode(String value) { return value.replace("&0", "").replace("&1", "").replace("&2", "").replace("&3", "") .replace("&4", "").replace("&5", "").replace("&6", "").replace("&7", "") .replace("&8", "").replace("&9", "").replace("&a", "").replace("&b", "") .replace("&c", "").replace("&d", "").replace("&e", "").replace("&f", "") .replace("&k", "").replace("&l", "").replace("&m", "").replace("&n", "") .replace("&o", "").replace("&r", ""); } public static List replacePrice(String prefix, Player player, List Text, String price) { List rp = new ArrayList<>(); for (String s : Text) { rp.add(replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, s.replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä").replace("[nl]", "\n") .replace("[price]", String.valueOf(price))))); } return rp; } public static String replacePrice(String prefix, String Text, String price) { return replaceLegacyColor(Text).replace("[prefix]", prefix) .replace("&o", "§o").replace("&r", "§r").replace("[ue]", "ü") .replace("[UE]", "Ü").replace("[oe]", "ö").replace("[OE]", "Ö") .replace("[ae]", "ä").replace("[AE]", "Ä").replace("[price]", String.valueOf(price)) .replace("[nl]", "\n"); } public static String replacePrice(String prefix, Player player, String Text, String price) { return replaceLegacyColor(PlaceholderAPI.setPlaceholders(player, Text.replace("[prefix]", prefix) .replace("[ue]", "ü").replace("[UE]", "Ü").replace("[oe]", "ö") .replace("[OE]", "Ö").replace("[ae]", "ä").replace("[AE]", "Ä") .replace("[price]", String.valueOf(price)).replace("[nl]", "\n"))); } public static String replaceLegacyColor(String text) { return text.replace("&0", "§0").replace("&1", "§1").replace("&2", "§2").replace("&3", "§3") .replace("&4", "§4").replace("&5", "§5").replace("&6", "§6").replace("&7", "§7") .replace("&8", "§8").replace("&9", "§9").replace("&a", "§a").replace("&b", "§b") .replace("&c", "§c").replace("&d", "§d").replace("&e", "§e").replace("&f", "§f") .replace("&k", "§k").replace("&l", "§l").replace("&m", "§m").replace("&n", "§n") .replace("&o", "§o").replace("&r", "§r"); } public static String convertColorCode(String text) { return text.replace("&0", "").replace("§0", "") .replace("&1", "").replace("§1", "") .replace("&2", "").replace("§2", "") .replace("&3", "").replace("§3", "") .replace("&4", "").replace("§4", "") .replace("&5", "").replace("§5", "") .replace("&6", "").replace("§6", "") .replace("&7", "").replace("§7", "") .replace("&8", "").replace("§8", "") .replace("&9", "").replace("§9", "") .replace("&a", "").replace("§a", "") .replace("&b", "").replace("§b", "") .replace("&c", "").replace("§c", "") .replace("&d", "").replace("§d", "") .replace("&e", "").replace("§e", "") .replace("&f", "").replace("§f", "") .replace("&k", "").replace("§k", "") .replace("&l", "").replace("§l", "") .replace("&m", "").replace("§m", "") .replace("&n", "").replace("§n", "") .replace("&o", "").replace("§o", "") .replace("&r", "").replace("§r", ""); } public static Object replace(Object object,String placeholder,String replacement) { if (object instanceof String) { object = ((String) object).replace(placeholder, replacement); } if ((object instanceof List) || (object instanceof ArrayList)) { List in = (List) object; List output = new ArrayList<>(); for (String input : in) { output.add(input.replace(placeholder, replacement)); } object = output; } return object; } }