Skip to content

Commit

Permalink
修复roleColor颜色parse失败
Browse files Browse the repository at this point in the history
  • Loading branch information
Xujiayao committed Jul 9, 2024
1 parent 499fa42 commit ca656ef
Showing 1 changed file with 23 additions and 51 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,14 @@
import eu.pb4.placeholders.api.node.TextNode;
import eu.pb4.placeholders.api.node.parent.ClickActionNode;
import eu.pb4.placeholders.api.node.parent.FormattingNode;
import eu.pb4.placeholders.api.node.parent.HoverNode;
import eu.pb4.placeholders.api.parsers.MarkdownLiteParserV1;
import eu.pb4.placeholders.api.parsers.NodeParser;
import eu.pb4.placeholders.api.parsers.ParserBuilder;
import eu.pb4.placeholders.api.parsers.TagLikeParser;
import net.minecraft.ChatFormatting;
import net.minecraft.network.chat.ClickEvent;
import net.minecraft.network.chat.Component;
//#if MC < 11900
//$$ import net.minecraft.network.chat.TextComponent;
//#endif

import java.util.Map;

Expand Down Expand Up @@ -41,88 +39,62 @@ private static TextNode customUrlFormatting(TextNode[] textNodes, TextNode url)
}

public static Component parseOtherMessage(String server, Component message) {
Map<String, Component> placeholders = Map.of(
//#if MC >= 11900
"server", Component.literal(server),
"message", message
//#else
//$$ "server", new TextComponent(server),
//$$ "message", message
//#endif
Map<String, TextNode> placeholders = Map.of(
"server", TextNode.of(server),
"message", TextNode.convert(message)
);

NodeParser parser = ParserBuilder.of()
.add(PARSER)
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholderText(placeholders::get))
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholder(placeholders::get))
.build();

return parser.parseText(TextNode.of(Translations.translateMessage("message.otherMessage")), PlaceholderContext.of(SERVER).asParserContext());
}

public static Component parseCommandNotice(String name, String roleName, String roleColor, String command) {
Map<String, Component> placeholders = Map.of(
//#if MC >= 11900
"name", Component.literal(name),
"roleName", Component.literal(roleName),
"roleColor", Component.literal(roleColor),
"command", Component.literal(command)
//#else
//$$ "name", new TextComponent(name),
//$$ "roleName", new TextComponent(roleName),
//$$ "roleColor", new TextComponent(roleColor),
//$$ "command", new TextComponent(command)
//#endif
Map<String, TextNode> placeholders = Map.of(
"name", TextNode.of(name),
"roleName", TextNode.of(roleName),
"roleColor", TextNode.of(roleColor),
"command", TextNode.of(command)
);

NodeParser parser = ParserBuilder.of()
.add(PARSER)
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholderText(placeholders::get))
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholder(placeholders::get))
.build();

return parser.parseText(TextNode.of(Translations.translateMessage("message.commandNotice")), PlaceholderContext.of(SERVER).asParserContext());
}

public static Component parseResponseMessage(String server, String name, String roleName, String message) {
Map<String, Component> placeholders = Map.of(
//#if MC >= 11900
"server", Component.literal(server),
"name", Component.literal(name),
"roleName", Component.literal(roleName),
"message", Component.literal(message)
//#else
//$$ "server", new TextComponent(server),
//$$ "name", new TextComponent(name),
//$$ "roleName", new TextComponent(roleName),
//$$ "message", new TextComponent(message)
//#endif
Map<String, TextNode> placeholders = Map.of(
"server", TextNode.of(server),
"name", TextNode.of(name),
"roleName", TextNode.of(roleName),
"message", TextNode.of(message)
);

NodeParser parser = ParserBuilder.of()
.add(PARSER)
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholderText(placeholders::get))
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholder(placeholders::get))
.build();

return parser.parseText(TextNode.of(Translations.translateMessage("message.responseMessage")), PlaceholderContext.of(SERVER).asParserContext());
}

public static Component parseChatMessage(String server, String name, String roleName, String message) {
Map<String, Component> placeholders = Map.of(
//#if MC >= 11900
"server", Component.literal(server),
"name", Component.literal(name),
"roleName", Component.literal(roleName),
"message", Component.literal(message)
//#else
//$$ "server", new TextComponent(server),
//$$ "name", new TextComponent(name),
//$$ "roleName", new TextComponent(roleName),
//$$ "message", new TextComponent(message)
//#endif
Map<String, TextNode> placeholders = Map.of(
"server", TextNode.of(server),
"name", TextNode.of(name),
"roleName", TextNode.of(roleName),
"message", TextNode.of(message)
);

NodeParser parser = ParserBuilder.of()
.add(PARSER)
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholderText(placeholders::get))
.customTags(TagLikeParser.PLACEHOLDER_ALTERNATIVE, TagLikeParser.Provider.placeholder(placeholders::get))
.build();

return parser.parseText(TextNode.of(Translations.translateMessage("message.chatMessage")), PlaceholderContext.of(SERVER).asParserContext());
Expand Down

0 comments on commit ca656ef

Please sign in to comment.