Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package es.minetsii.SpongePlugin;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.List;
- import java.util.Map;
- import org.spongepowered.api.text.Text;
- import org.spongepowered.api.text.format.TextColor;
- import org.spongepowered.api.text.format.TextColors;
- import org.spongepowered.api.text.format.TextStyle;
- import org.spongepowered.api.text.format.TextStyles;
- public class TextFactory {
- public static Map<String, TextColor> colors;
- public static Map<String, TextStyle.Base> formats;
- static{
- colors = new HashMap<String, TextColor>();
- colors.put("0", TextColors.BLACK);
- colors.put("1", TextColors.DARK_BLUE);
- colors.put("2", TextColors.DARK_GREEN);
- colors.put("3", TextColors.DARK_AQUA);
- colors.put("4", TextColors.DARK_RED);
- colors.put("5", TextColors.DARK_PURPLE);
- colors.put("6", TextColors.GOLD);
- colors.put("7", TextColors.GRAY);
- colors.put("8", TextColors.DARK_GRAY);
- colors.put("9", TextColors.BLUE);
- colors.put("a", TextColors.GREEN);
- colors.put("b", TextColors.AQUA);
- colors.put("c", TextColors.RED);
- colors.put("d", TextColors.LIGHT_PURPLE);
- colors.put("e", TextColors.YELLOW);
- colors.put("f", TextColors.WHITE);
- formats = new HashMap<String, TextStyle.Base>();
- formats.put("l", TextStyles.BOLD);
- formats.put("r", TextStyles.RESET);
- formats.put("k", TextStyles.OBFUSCATED);
- formats.put("m", TextStyles.STRIKETHROUGH);
- formats.put("n", TextStyles.UNDERLINE);
- formats.put("o", TextStyles.ITALIC);
- }
- public static Text sendToFactory(String s){
- s = s+"&f";
- List<Text> list = new ArrayList<Text>();
- int l = 0;
- TextColor lastc = TextColors.NONE;
- TextStyle lasts = TextStyles.NONE;
- for(int i = 0; i < s.length(); i++){
- char c = s.charAt(i);
- if(c == '&'){
- if(colors.containsKey(String.valueOf(s.charAt(i+1)))){
- if(i > 0) list.add(Text.builder(s.substring(l+1, i)).color(lastc).style(lasts).build());
- lastc = colors.get(String.valueOf(s.charAt(i+1)));
- lasts = TextStyles.NONE;
- i++;
- l = i;
- }
- else if(formats.containsKey(String.valueOf(s.charAt(i+1)))){
- if(i > 0) list.add(Text.builder(s.substring(l+1, i)).color(lastc).style(lasts).build());
- lasts = formats.get(String.valueOf(s.charAt(i+1)));
- if(lasts.equals(TextStyles.RESET))
- lastc = TextColors.NONE;
- i++;
- l = i;
- }
- }
- }
- if(!s.isEmpty())
- list.add(Text.builder(s.substring(l, s.length()-1)).color(lastc).build());
- Text out = Text.builder().append(list).build();
- return out;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement