diff --git a/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java b/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java index 9b2830e..09b843d 100644 --- a/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java +++ b/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java @@ -2,6 +2,7 @@ package com.extendedae_plus.content.wireless; import appeng.api.networking.*; import appeng.api.util.AECableType; +import appeng.blockentity.AEBaseBlockEntity; import com.extendedae_plus.init.ModBlockEntities; import com.extendedae_plus.init.ModItems; import com.extendedae_plus.wireless.IWirelessEndpoint; @@ -12,7 +13,6 @@ import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; import net.minecraft.world.level.Level; -import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; import org.jetbrains.annotations.Nullable; @@ -26,7 +26,7 @@ import java.util.Objects; * - 集成 AE2 节点; * - 集成无线主/从逻辑。 */ -public class WirelessTransceiverBlockEntity extends BlockEntity implements IWirelessEndpoint, IInWorldGridNodeHost { +public class WirelessTransceiverBlockEntity extends AEBaseBlockEntity implements IWirelessEndpoint, IInWorldGridNodeHost { private IManagedGridNode managedNode; @@ -187,7 +187,7 @@ public class WirelessTransceiverBlockEntity extends BlockEntity implements IWire /* ===================== NBT ===================== */ @Override - protected void saveAdditional(CompoundTag tag) { + public void saveAdditional(CompoundTag tag) { super.saveAdditional(tag); tag.putLong("frequency", frequency); tag.putBoolean("master", masterMode); @@ -198,15 +198,15 @@ public class WirelessTransceiverBlockEntity extends BlockEntity implements IWire } @Override - public void load(CompoundTag tag) { - super.load(tag); + public void loadTag(CompoundTag tag) { + super.loadTag(tag); this.frequency = tag.getLong("frequency"); this.masterMode = tag.getBoolean("master"); this.locked = tag.getBoolean("locked"); + if (managedNode != null) { managedNode.loadFromNBT(tag); } - // 应用到链接器 if (masterMode) { masterLink.setFrequency(frequency); } else { diff --git a/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverJadePluginComponents.java b/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverJadePluginComponents.java index 4cd98a9..2505db5 100644 --- a/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverJadePluginComponents.java +++ b/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverJadePluginComponents.java @@ -37,7 +37,12 @@ public enum WirelessTransceiverJadePluginComponents implements IBlockComponentPr if (data.contains("masterMode") && !data.getBoolean("masterMode") && data.contains("masterPos")) { BlockPos pos = BlockPos.of(data.getLong("masterPos")); String dim = data.contains("masterDim") ? data.getString("masterDim") : ""; - tooltip.add(Component.literal("主节点位置: (" + pos.getX() + ", " + pos.getY() + ", " + pos.getZ() + ")")); + String customName = data.contains("customName") ? data.getString("customName") : null; + if (customName != null) { + tooltip.add(Component.literal("主节点: " + customName + "(" + pos.getX() + ", " + pos.getY() + ", " + pos.getZ() + ")")); + } else { + tooltip.add(Component.literal("主节点位置: (" + pos.getX() + ", " + pos.getY() + ", " + pos.getZ() + ")")); + } if (!dim.isEmpty()) { tooltip.add(Component.literal("维度: " + dim)); } diff --git a/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverProvider.java b/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverProvider.java index 05e34a8..7786e1c 100644 --- a/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverProvider.java +++ b/src/main/java/com/extendedae_plus/integration/jade/WirelessTransceiverProvider.java @@ -46,6 +46,9 @@ public enum WirelessTransceiverProvider implements IServerDataProvider