From 09078e695e0a5eb9d87823a337aaee793cbedb8e Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Wed, 28 May 2025 16:17:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=BC=BA=E5=85=A8=E5=B1=80=E5=8F=98?= =?UTF-8?q?=E9=87=8Ftag?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resources/default/configuration/templates.yml | 2 +- .../plugin/text/minimessage/GlobalVariableTag.java | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/bukkit/loader/src/main/resources/resources/default/configuration/templates.yml b/bukkit/loader/src/main/resources/resources/default/configuration/templates.yml index ae9b65d76..4f0314a4e 100644 --- a/bukkit/loader/src/main/resources/resources/default/configuration/templates.yml +++ b/bukkit/loader/src/main/resources/resources/default/configuration/templates.yml @@ -25,7 +25,7 @@ templates#models#block: # arguments: # model: model_path # end_texture: end_texture_path - # end_texture: side_texture_path + # side_texture: side_texture_path default:model/cube_column: path: "{model}" generation: diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/text/minimessage/GlobalVariableTag.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/text/minimessage/GlobalVariableTag.java index 257a3a72e..7e604313c 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/text/minimessage/GlobalVariableTag.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/text/minimessage/GlobalVariableTag.java @@ -1,5 +1,6 @@ package net.momirealms.craftengine.core.plugin.text.minimessage; +import net.kyori.adventure.text.Component; import net.kyori.adventure.text.minimessage.ParsingException; import net.kyori.adventure.text.minimessage.tag.Tag; import net.kyori.adventure.text.minimessage.tag.resolver.ArgumentQueue; @@ -10,6 +11,9 @@ import net.momirealms.craftengine.core.util.AdventureHelper; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; +import java.util.ArrayList; +import java.util.List; + public class GlobalVariableTag implements TagResolver { private final Context context; @@ -27,7 +31,14 @@ public class GlobalVariableTag implements TagResolver { if (value == null) { throw ctx.newException("Unknown variable: ", arguments); } - return Tag.selfClosingInserting(AdventureHelper.miniMessage().deserialize(value, this.context.tagResolvers())); + List args = new ArrayList<>(); + while (arguments.hasNext()) { + args.add(AdventureHelper.miniMessage().deserialize(arguments.popOr("No index argument variable id provided").toString(), this.context.tagResolvers())); + } + return Tag.selfClosingInserting(AdventureHelper.miniMessage().deserialize(value, TagResolver.builder() + .resolvers(this.context.tagResolvers()) + .resolver(new IndexedArgumentTag(args)) + .build())); } @Override