Joshb_

Untitled

Mar 26th, 2021 (edited)
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.00 KB | None | 0 0
  1.     public static TextComponent get(boolean gang, PlayerManager pm, LivingEntity mob, String damageCause) {
  2.         Random random = new Random();
  3.         List<String> msgs;
  4.         if (gang) {
  5.             msgs = sortList(getPlayerDeathMessages().getStringList("Mobs." +
  6.                     mob.getType().getEntityClass().getSimpleName().toLowerCase() + ".Gang." + damageCause), pm);
  7.         } else {
  8.             msgs = sortList(getPlayerDeathMessages().getStringList("Mobs." +
  9.                     mob.getType().getEntityClass().getSimpleName().toLowerCase() + ".Solo." + damageCause), pm);
  10.         }
  11.  
  12.         if (msgs.isEmpty()) {
  13.             if (Settings.getInstance().getConfig().getBoolean("Default-Natural-Death-Not-Defined")) {
  14.                 return getNaturalDeath(pm, damageCause);
  15.             }
  16.             if (Settings.getInstance().getConfig().getBoolean("Default-Melee-Last-Damage-Not-Defined")) {
  17.                 return get(gang, pm, mob, getSimpleCause(EntityDamageEvent.DamageCause.ENTITY_ATTACK));
  18.             }
  19.             return null;
  20.         }
  21.  
  22.         String msg = msgs.get(random.nextInt(msgs.size()));
  23.         TextComponent tc = new TextComponent("");
  24.         if(addPrefix){
  25.             TextComponent tx = new TextComponent(TextComponent.fromLegacyText(Assets.colorize(Messages.getInstance().getConfig().getString("Prefix"))));
  26.             tc.addExtra(tx);
  27.             tc.addExtra(" ");
  28.         }
  29.         String[] sec = msg.split("::");
  30.         String firstSection;
  31.         if (msg.contains("::")) {
  32.             if(sec.length == 0){
  33.                 firstSection = msg;
  34.             } else {
  35.                 firstSection = sec[0];
  36.             }
  37.         } else {
  38.             firstSection = msg;
  39.         }
  40.         String lastColor = "";
  41.         String lastFont = "";
  42.         for (String splitMessage : firstSection.split(" ")) {
  43.             TextComponent tx = new TextComponent(TextComponent.fromLegacyText(Assets.colorize(playerDeathPlaceholders(lastColor + lastFont + splitMessage, pm, mob)) + " "));
  44.             tc.addExtra(tx);
  45.             for(BaseComponent bs : tx.getExtra()){
  46.                 if(!(bs.getColor() == null)) {
  47.                     lastColor = bs.getColor().toString();
  48.                 }
  49.                 lastFont = formating(bs);
  50.             }
  51.         }
  52.         if (sec.length >= 2) {
  53.             tc.setHoverEvent(new HoverEvent(HoverEvent.Action.SHOW_TEXT, new Text(playerDeathPlaceholders(sec[1], pm, mob))));
  54.         }
  55.         if (sec.length == 3) {
  56.             if (sec[2].startsWith("COMMAND:")) {
  57.                 String cmd = sec[2].split(":")[1];
  58.                 tc.setClickEvent(new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/" + playerDeathPlaceholders(cmd, pm, mob)));
  59.             } else if (sec[2].startsWith("SUGGEST_COMMAND:")) {
  60.                 String cmd = sec[2].split(":")[1];
  61.                 tc.setClickEvent(new ClickEvent(ClickEvent.Action.SUGGEST_COMMAND, "/" + playerDeathPlaceholders(cmd, pm, mob)));
  62.             }
  63.         }
  64.         return tc;
  65.     }
Add Comment
Please, Sign In to add comment