commit
c9ef8de055
|
|
@ -7,6 +7,7 @@ public final class ModConfigs {
|
||||||
public static final ForgeConfigSpec.IntValue PAGE_MULTIPLIER;
|
public static final ForgeConfigSpec.IntValue PAGE_MULTIPLIER;
|
||||||
public static final ForgeConfigSpec.DoubleValue WIRELESS_MAX_RANGE;
|
public static final ForgeConfigSpec.DoubleValue WIRELESS_MAX_RANGE;
|
||||||
public static final ForgeConfigSpec.BooleanValue WIRELESS_CROSS_DIM_ENABLE;
|
public static final ForgeConfigSpec.BooleanValue WIRELESS_CROSS_DIM_ENABLE;
|
||||||
|
public static final ForgeConfigSpec.BooleanValue SHOW_ENCOD_PATTERN_PLAYER;
|
||||||
public static final ForgeConfigSpec.BooleanValue PROVIDER_ROUND_ROBIN_ENABLE;
|
public static final ForgeConfigSpec.BooleanValue PROVIDER_ROUND_ROBIN_ENABLE;
|
||||||
|
|
||||||
static {
|
static {
|
||||||
|
|
@ -34,6 +35,13 @@ public final class ModConfigs {
|
||||||
"开启后,从端可连接到不同维度的主端(忽略距离限制)")
|
"开启后,从端可连接到不同维度的主端(忽略距离限制)")
|
||||||
.define("wirelessCrossDimEnable", true);
|
.define("wirelessCrossDimEnable", true);
|
||||||
|
|
||||||
|
SHOW_ENCOD_PATTERN_PLAYER = builder
|
||||||
|
.comment(
|
||||||
|
"是否显示样板编码玩家",
|
||||||
|
"开启后将在样板 HoverText 上添加样板的编码玩家"
|
||||||
|
)
|
||||||
|
.define("showEncoderPatternPlayer", true);
|
||||||
|
|
||||||
// 智能倍增后,是否在样板供应器间轮询分配请求量(开启:按 provider 均分;关闭:不拆分)
|
// 智能倍增后,是否在样板供应器间轮询分配请求量(开启:按 provider 均分;关闭:不拆分)
|
||||||
PROVIDER_ROUND_ROBIN_ENABLE = builder
|
PROVIDER_ROUND_ROBIN_ENABLE = builder
|
||||||
.comment(
|
.comment(
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@ import com.glodblock.github.glodium.network.packet.sync.IActionHolder;
|
||||||
import com.glodblock.github.glodium.network.packet.sync.Paras;
|
import com.glodblock.github.glodium.network.packet.sync.Paras;
|
||||||
import net.minecraft.server.level.ServerPlayer;
|
import net.minecraft.server.level.ServerPlayer;
|
||||||
import net.minecraft.world.entity.player.Player;
|
import net.minecraft.world.entity.player.Player;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.Shadow;
|
import org.spongepowered.asm.mixin.Shadow;
|
||||||
|
|
@ -16,6 +17,7 @@ import org.spongepowered.asm.mixin.Unique;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.function.Consumer;
|
import java.util.function.Consumer;
|
||||||
|
|
@ -110,4 +112,12 @@ public abstract class ContainerPatternEncodingTermMenuMixin implements IActionHo
|
||||||
} catch (Throwable ignored) {
|
} catch (Throwable ignored) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 服务器端:在构造样板返回前插入编码玩家的名称
|
||||||
|
@Inject(method = "encodePattern", at = @At("TAIL"), remap = false, cancellable = true)
|
||||||
|
private void eap$writeEncodePlayerToPattern(CallbackInfoReturnable<ItemStack> cir) {
|
||||||
|
ItemStack itemStack = cir.getReturnValue();
|
||||||
|
itemStack.getOrCreateTag().putString("encodePlayer", this.epp$player.getGameProfile().getName());
|
||||||
|
cir.setReturnValue(itemStack);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
||||||
|
package com.extendedae_plus.mixin.ae2;
|
||||||
|
|
||||||
|
import appeng.crafting.pattern.EncodedPatternItem;
|
||||||
|
import com.extendedae_plus.config.ModConfigs;
|
||||||
|
import net.minecraft.ChatFormatting;
|
||||||
|
import net.minecraft.nbt.CompoundTag;
|
||||||
|
import net.minecraft.network.chat.Component;
|
||||||
|
import net.minecraft.world.item.ItemStack;
|
||||||
|
import net.minecraft.world.item.TooltipFlag;
|
||||||
|
import net.minecraft.world.level.Level;
|
||||||
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
|
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Mixin(EncodedPatternItem.class)
|
||||||
|
public class EncodedPatternItemMixin {
|
||||||
|
// 客户端:在 HoverText 显示样板的编码玩家
|
||||||
|
@Inject(method = "appendHoverText", at = @At("TAIL"))
|
||||||
|
public void epp$appendHoverText(ItemStack stack, Level level, List<Component> lines, TooltipFlag advancedTooltips, CallbackInfo ci){
|
||||||
|
if (stack.hasTag() && ModConfigs.SHOW_ENCOD_PATTERN_PLAYER.get()) {
|
||||||
|
CompoundTag tag = stack.getOrCreateTag();
|
||||||
|
String name = tag.getString("encodePlayer");
|
||||||
|
lines.add(Component.translatable("extendedae_plus.pattern.hovertext.player", name).withStyle(ChatFormatting.GRAY));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
"extendedae_plus.screen.add_mapping": "增加映射",
|
"extendedae_plus.screen.add_mapping": "增加映射",
|
||||||
"extendedae_plus.screen.cn_name": "中文名",
|
"extendedae_plus.screen.cn_name": "中文名",
|
||||||
"extendedae_plus.button.choose_provider":"上传样板",
|
"extendedae_plus.button.choose_provider":"上传样板",
|
||||||
|
"extendedae_plus.pattern.hovertext.player": "由 %s 编码",
|
||||||
|
|
||||||
"block.extendedae_plus.4x_crafting_accelerator": "4x并行处理单元",
|
"block.extendedae_plus.4x_crafting_accelerator": "4x并行处理单元",
|
||||||
"block.extendedae_plus.16x_crafting_accelerator": "16x并行处理单元",
|
"block.extendedae_plus.16x_crafting_accelerator": "16x并行处理单元",
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
"accessor.AbstractContainerScreenAccessor",
|
"accessor.AbstractContainerScreenAccessor",
|
||||||
"accessor.ScreenAccessor",
|
"accessor.ScreenAccessor",
|
||||||
"ae2.AEBaseScreenMixin",
|
"ae2.AEBaseScreenMixin",
|
||||||
|
"ae2.EncodedPatternItemMixin",
|
||||||
"ae2.PatternEncodingTermScreenMixin",
|
"ae2.PatternEncodingTermScreenMixin",
|
||||||
"ae2.PatternProviderScreenMixin",
|
"ae2.PatternProviderScreenMixin",
|
||||||
"ae2.QuartzCuttingKnifeItemMixin",
|
"ae2.QuartzCuttingKnifeItemMixin",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user