9
0
mirror of https://github.com/Xiao-MoMi/craft-engine.git synced 2025-12-28 03:19:14 +00:00

修复toast字体丢失

This commit is contained in:
XiaoMoMi
2025-09-12 19:40:37 +08:00
parent d35afe9885
commit 6a744d9ee8
3 changed files with 7 additions and 11 deletions

View File

@@ -533,7 +533,6 @@ public class BukkitServerPlayer extends Player {
if (optionalCustomState.isPresent()) {
ImmutableBlockState customState = optionalCustomState.get();
Item<ItemStack> tool = getItemInHand(InteractionHand.MAIN_HAND);
boolean isCorrectTool = FastNMS.INSTANCE.method$ItemStack$isCorrectToolForDrops(tool.getLiteralObject(), blockState);
// 如果自定义方块在服务端侧未使用正确的工具,那么需要还原挖掘速度
if (!BlockStateUtils.isCorrectTool(customState, tool)) {
progress *= customState.settings().incorrectToolSpeed();

View File

@@ -21,17 +21,16 @@ import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Optional;
public class ToastFunction<CTX extends Context> extends AbstractConditionalFunction<CTX> {
private final PlayerSelector<CTX> selector;
private final TextProvider toast;
private final String toast;
private final java.util.function.Function<Player, Item<?>> icon;
private final AdvancementType advancementType;
public ToastFunction(List<Condition<CTX>> predicates,
@Nullable PlayerSelector<CTX> selector,
TextProvider toast,
String toast,
java.util.function.Function<Player, Item<?>> icon,
AdvancementType advancementType) {
super(predicates);
@@ -44,11 +43,11 @@ public class ToastFunction<CTX extends Context> extends AbstractConditionalFunct
@Override
public void runInternal(CTX ctx) {
if (this.selector == null) {
ctx.getOptionalParameter(DirectContextParameters.PLAYER).ifPresent(it -> it.sendToast(AdventureHelper.miniMessage().deserialize(this.toast.get(ctx), ctx.tagResolvers()), this.icon.apply(it), this.advancementType));
ctx.getOptionalParameter(DirectContextParameters.PLAYER).ifPresent(it -> it.sendToast(AdventureHelper.miniMessage().deserialize(this.toast, ctx.tagResolvers()), this.icon.apply(it), this.advancementType));
} else {
for (Player viewer : this.selector.get(ctx)) {
RelationalContext relationalContext = ViewerContext.of(ctx, PlayerOptionalContext.of(viewer));
viewer.sendToast(AdventureHelper.miniMessage().deserialize(this.toast.get(relationalContext), relationalContext.tagResolvers()), this.icon.apply(viewer), this.advancementType);
viewer.sendToast(AdventureHelper.miniMessage().deserialize(this.toast, relationalContext.tagResolvers()), this.icon.apply(viewer), this.advancementType);
}
}
}
@@ -78,7 +77,7 @@ public class ToastFunction<CTX extends Context> extends AbstractConditionalFunct
return new ToastFunction<>(
getPredicates(arguments),
PlayerSelectors.fromObject(arguments.get("target"), conditionFactory()),
TextProviders.fromString(toast),
toast,
player -> CraftEngine.instance().itemManager().createWrappedItem(item, player),
advancementType
);

View File

@@ -1,6 +1,5 @@
package net.momirealms.craftengine.core.plugin.text.minimessage;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.minimessage.Context;
import net.kyori.adventure.text.minimessage.ParsingException;
import net.kyori.adventure.text.minimessage.tag.Tag;
@@ -12,7 +11,6 @@ import net.momirealms.craftengine.core.util.Key;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Optional;
public class ImageTag implements TagResolver {
@@ -34,9 +32,9 @@ public class ImageTag implements TagResolver {
if (arguments.hasNext()) {
int row = arguments.popOr("No argument row provided").asInt().orElseThrow(() -> ctx.newException("Invalid argument number", arguments));
int column = arguments.popOr("No argument column provided").asInt().orElseThrow(() -> ctx.newException("Invalid argument number", arguments));
return Tag.selfClosingInserting(Component.empty().children(List.of(optional.get().componentAt(row,column))));
return Tag.selfClosingInserting(optional.get().componentAt(row,column));
} else {
return Tag.selfClosingInserting(Component.empty().children(List.of(optional.get().componentAt(0,0))));
return Tag.selfClosingInserting(optional.get().componentAt(0,0));
}
} else {
throw ctx.newException("Invalid image id", arguments);