mirror of
https://github.com/Xiao-MoMi/Custom-Nameplates.git
synced 2026-01-04 15:31:47 +00:00
2.2.0.6
This commit is contained in:
@@ -70,9 +70,10 @@ public class ForcePreviewCommand extends AbstractSubCommand {
|
||||
.append(Component.text(player.getName()).color(TextColor.color(AdventureUtils.colorToDecimal(nameplateConfig.color()))).font(Key.key("minecraft:default"))
|
||||
.append(MiniMessage.miniMessage().deserialize(suffixImage)));
|
||||
ArmorStandUtils.preview(holoComponent, player, (int) nameplateManager.getPreview_time());
|
||||
}
|
||||
else {
|
||||
} else if (nameplateManager.getMode() == DisplayMode.ARMOR_STAND) {
|
||||
nameplateManager.showPlayerArmorStandTags(player, nameplate);
|
||||
} else {
|
||||
AdventureUtils.sendMessage(sender, MessageManager.prefix + "<white>Nameplate is disabled.");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -57,9 +57,11 @@ public class PreviewCommand extends AbstractSubCommand {
|
||||
.append(team.getNameplateSuffixComponent()));
|
||||
ArmorStandUtils.preview(full, player, (int) nameplateManager.getPreview_time());
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else if (nameplateManager.getMode() == DisplayMode.ARMOR_STAND) {
|
||||
nameplateManager.showPlayerArmorStandTags(player);
|
||||
} else {
|
||||
AdventureUtils.playerMessage(player, MessageManager.prefix + "<white>Nameplate is disabled.");
|
||||
return true;
|
||||
}
|
||||
AdventureUtils.playerMessage(player, MessageManager.prefix + MessageManager.preview);
|
||||
return true;
|
||||
|
||||
@@ -26,6 +26,7 @@ import net.momirealms.customnameplates.object.armorstand.ArmorStandManager;
|
||||
import net.momirealms.customnameplates.object.font.OffsetFont;
|
||||
import net.momirealms.customnameplates.object.nameplate.NameplateConfig;
|
||||
import net.momirealms.customnameplates.object.nameplate.mode.AbstractNameplateTag;
|
||||
import net.momirealms.customnameplates.object.nameplate.mode.DisableNameplate;
|
||||
import net.momirealms.customnameplates.object.nameplate.mode.DisplayMode;
|
||||
import net.momirealms.customnameplates.object.nameplate.mode.EntityTag;
|
||||
import net.momirealms.customnameplates.object.nameplate.mode.armorstand.ArmorStandTag;
|
||||
@@ -161,6 +162,8 @@ public class NameplateManager extends Function {
|
||||
contentMap.put(new ConditionalText(requirements, text), offset);
|
||||
}
|
||||
}
|
||||
} else if (mode == DisplayMode.DISABLE) {
|
||||
this.nameplateTag = new DisableNameplate(plugin);
|
||||
}
|
||||
plugin.getTeamManager().setTeamPacketInterface();
|
||||
if (this.nameplateTag != null) {
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
package net.momirealms.customnameplates.object.nameplate.mode;
|
||||
|
||||
import net.momirealms.customnameplates.CustomNameplates;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class DisableNameplate extends AbstractNameplateTag {
|
||||
|
||||
public DisableNameplate(CustomNameplates plugin) {
|
||||
super(plugin);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void unload() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onJoin(Player player) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onQuit(Player player) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void arrangeRefreshTask() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadToAllPlayers() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -19,5 +19,6 @@ package net.momirealms.customnameplates.object.nameplate.mode;
|
||||
|
||||
public enum DisplayMode {
|
||||
TEAM,
|
||||
ARMOR_STAND
|
||||
ARMOR_STAND,
|
||||
DISABLE
|
||||
}
|
||||
|
||||
@@ -55,37 +55,65 @@ public class AdventureUtils {
|
||||
au.sendActionBar(component);
|
||||
}
|
||||
|
||||
public static String replaceLegacy(String str) {
|
||||
public static String replaceLegacy(String legacy) {
|
||||
StringBuilder stringBuilder = new StringBuilder();
|
||||
char[] chars = str.replace("&","§").toCharArray();
|
||||
char[] chars = legacy.toCharArray();
|
||||
for (int i = 0; i < chars.length; i++) {
|
||||
if (chars[i] == '§') {
|
||||
if (isColorCode(chars[i])) {
|
||||
if (i + 1 < chars.length) {
|
||||
switch (chars[i+1]) {
|
||||
case '0' -> {i++;stringBuilder.append("<black>");}
|
||||
case '1' -> {i++;stringBuilder.append("<dark_blue>");}
|
||||
case '2' -> {i++;stringBuilder.append("<dark_green>");}
|
||||
case '3' -> {i++;stringBuilder.append("<dark_aqua>");}
|
||||
case '4' -> {i++;stringBuilder.append("<dark_red>");}
|
||||
case '5' -> {i++;stringBuilder.append("<dark_purple>");}
|
||||
case '6' -> {i++;stringBuilder.append("<gold>");}
|
||||
case '7' -> {i++;stringBuilder.append("<gray>");}
|
||||
case '8' -> {i++;stringBuilder.append("<dark_gray>");}
|
||||
case '9' -> {i++;stringBuilder.append("<blue>");}
|
||||
case 'a' -> {i++;stringBuilder.append("<green>");}
|
||||
case 'b' -> {i++;stringBuilder.append("<aqua>");}
|
||||
case 'c' -> {i++;stringBuilder.append("<red>");}
|
||||
case 'd' -> {i++;stringBuilder.append("<light_purple>");}
|
||||
case 'e' -> {i++;stringBuilder.append("<yellow>");}
|
||||
case 'f' -> {i++;stringBuilder.append("<white>");}
|
||||
case 'r' -> {i++;stringBuilder.append("<reset><!italic>");}
|
||||
case 'l' -> {i++;stringBuilder.append("<bold>");}
|
||||
case 'm' -> {i++;stringBuilder.append("<strikethrough>");}
|
||||
case 'o' -> {i++;stringBuilder.append("<italic>");}
|
||||
case 'n' -> {i++;stringBuilder.append("<underlined>");}
|
||||
case 'k' -> {i++;stringBuilder.append("<obfuscated>");}
|
||||
case 'x' -> {stringBuilder.append("<#").append(chars[i+3]).append(chars[i+5]).append(chars[i+7]).append(chars[i+9]).append(chars[i+11]).append(chars[i+13]).append(">");i += 13;}
|
||||
case '0' -> stringBuilder.append("<black>");
|
||||
case '1' -> stringBuilder.append("<dark_blue>");
|
||||
case '2' -> stringBuilder.append("<dark_green>");
|
||||
case '3' -> stringBuilder.append("<dark_aqua>");
|
||||
case '4' -> stringBuilder.append("<dark_red>");
|
||||
case '5' -> stringBuilder.append("<dark_purple>");
|
||||
case '6' -> stringBuilder.append("<gold>");
|
||||
case '7' -> stringBuilder.append("<gray>");
|
||||
case '8' -> stringBuilder.append("<dark_gray>");
|
||||
case '9' -> stringBuilder.append("<blue>");
|
||||
case 'a' -> stringBuilder.append("<green>");
|
||||
case 'b' -> stringBuilder.append("<aqua>");
|
||||
case 'c' -> stringBuilder.append("<red>");
|
||||
case 'd' -> stringBuilder.append("<light_purple>");
|
||||
case 'e' -> stringBuilder.append("<yellow>");
|
||||
case 'f' -> stringBuilder.append("<white>");
|
||||
case 'r' -> stringBuilder.append("<reset><!italic>");
|
||||
case 'l' -> stringBuilder.append("<bold>");
|
||||
case 'm' -> stringBuilder.append("<strikethrough>");
|
||||
case 'o' -> stringBuilder.append("<italic>");
|
||||
case 'n' -> stringBuilder.append("<underlined>");
|
||||
case 'k' -> stringBuilder.append("<obfuscated>");
|
||||
case 'x' -> {
|
||||
if (i + 13 >= chars.length
|
||||
|| !isColorCode(chars[i+2])
|
||||
|| !isColorCode(chars[i+4])
|
||||
|| !isColorCode(chars[i+6])
|
||||
|| !isColorCode(chars[i+8])
|
||||
|| !isColorCode(chars[i+10])
|
||||
|| !isColorCode(chars[i+12])) {
|
||||
stringBuilder.append(chars[i]);
|
||||
continue;
|
||||
}
|
||||
stringBuilder
|
||||
.append("<#")
|
||||
.append(chars[i+3])
|
||||
.append(chars[i+5])
|
||||
.append(chars[i+7])
|
||||
.append(chars[i+9])
|
||||
.append(chars[i+11])
|
||||
.append(chars[i+13])
|
||||
.append(">");
|
||||
i += 13;
|
||||
}
|
||||
default -> {
|
||||
stringBuilder.append(chars[i]);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
i++;
|
||||
} else {
|
||||
stringBuilder.append(chars[i]);
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -95,6 +123,10 @@ public class AdventureUtils {
|
||||
return stringBuilder.toString();
|
||||
}
|
||||
|
||||
private static boolean isColorCode(char c) {
|
||||
return c == '§' || c == '&';
|
||||
}
|
||||
|
||||
public static int colorToDecimal(ChatColor color){
|
||||
switch (String.valueOf(color.getChar())){
|
||||
case "0" -> {return 0;}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# mode: Team / Armor_Stand
|
||||
# 模式 队伍/盔甲架
|
||||
# mode: Team / Armor_Stand / Disable
|
||||
# 模式 队伍/盔甲架/禁用
|
||||
mode: Team
|
||||
|
||||
# Disable this when you are running a BungeeCord server
|
||||
|
||||
Reference in New Issue
Block a user