Add better updating, add %user-displayname% and target

This commit is contained in:
libraryaddict
2020-08-11 08:28:43 +12:00
parent 9ffbd9e272
commit e5304f19e2
4 changed files with 50 additions and 19 deletions

View File

@@ -197,6 +197,26 @@ public class DisguiseUtilities {
return viewSelf;
}
public static String getDisplayName(CommandSender player) {
Team team = ((Player) player).getScoreboard().getEntryTeam(player.getName());
if (team == null) {
team = ((Player) player).getScoreboard().getEntryTeam(((Player) player).getUniqueId().toString());
}
if (team == null || (StringUtils.isEmpty(team.getPrefix()) && StringUtils.isEmpty(team.getSuffix()))) {
String name = ((Player) player).getDisplayName();
if (name.equals(player.getName())) {
return ((Player) player).getPlayerListName();
}
return name;
}
return team.getPrefix() + team.getColor() + player.getName() + team.getSuffix();
}
public static void saveViewPreferances() {
if (!DisguiseConfig.isSaveUserPreferences()) {
return;

View File

@@ -436,7 +436,8 @@ public class DisguiseParser {
}
public static String[] parsePlaceholders(String[] args, CommandSender user, CommandSender target) {
return parsePlaceholders(args, getName(user), getSkin(user), getName(target), DisguiseParser.getSkin(target),
return parsePlaceholders(args, getName(user), DisguiseUtilities.getDisplayName(user), getSkin(user),
getName(target), DisguiseUtilities.getDisplayName(target), DisguiseParser.getSkin(target),
getEntityEquipment(user), getEntityEquipment(target));
}
@@ -446,13 +447,22 @@ public class DisguiseParser {
public static String[] parsePlaceholders(String[] args, String userName, String userSkin, String targetName,
String targetSkin, EntityEquipment equip, EntityEquipment targetEquip) {
return parsePlaceholders(args, userName, userName, userSkin, targetName, targetName, targetSkin, equip,
targetEquip);
}
public static String[] parsePlaceholders(String[] args, String userName, String userDisplayname, String userSkin,
String targetName, String targetDisplayname, String targetSkin, EntityEquipment equip,
EntityEquipment targetEquip) {
for (int i = 0; i < args.length; i++) {
String arg = args[i];
arg = replace(arg, "%user-name%", userName);
arg = replace(arg, "%user-displayname%", userDisplayname);
arg = replace(arg, "%user-skin%", userSkin);
arg = replace(arg, "%target-name%", targetName);
arg = replace(arg, "%target-displayname%", targetDisplayname);
arg = replace(arg, "%target-skin%", targetSkin);
arg = replace(arg, "%held-item%", equip == null ? null : equip.getItemInMainHand());
arg = replace(arg, "%offhand-item%", equip == null ? null : equip.getItemInOffHand());