From a3cd4d438b2d9363017ddce3a698c1374f33714a Mon Sep 17 00:00:00 2001 From: C-H716 <1536152356@qq.com> Date: Sun, 14 Sep 2025 00:15:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=97=A0=E7=BA=BF?= =?UTF-8?q?=E6=94=B6=E5=8F=91=E5=99=A8=E5=8F=AA=E8=83=BD=E4=BC=A0=E9=80=92?= =?UTF-8?q?8=E9=A2=91=E9=81=93=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E7=BA=BF=E6=94=B6=E5=8F=91=E5=99=A8?= =?UTF-8?q?=E4=B8=8E=E7=BA=BF=E7=BC=86=E8=BF=9E=E6=8E=A5=E5=A4=84=E6=B8=B2?= =?UTF-8?q?=E6=9F=93=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../WirelessTransceiverBlockEntity.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) 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 7fe978d..9ac4d75 100644 --- a/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java +++ b/src/main/java/com/extendedae_plus/content/wireless/WirelessTransceiverBlockEntity.java @@ -1,6 +1,7 @@ package com.extendedae_plus.content.wireless; import appeng.api.networking.*; +import appeng.api.util.AECableType; import com.extendedae_plus.init.ModBlockEntities; import com.extendedae_plus.init.ModItems; import com.extendedae_plus.wireless.IWirelessEndpoint; @@ -8,15 +9,16 @@ import com.extendedae_plus.wireless.WirelessMasterLink; import com.extendedae_plus.wireless.WirelessSlaveLink; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; +import net.minecraft.core.HolderLookup; import net.minecraft.nbt.CompoundTag; import net.minecraft.server.level.ServerLevel; -import net.minecraft.core.HolderLookup; 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; import java.util.EnumSet; +import java.util.Objects; /** * 无线收发器方块实体(骨架): @@ -39,7 +41,8 @@ public class WirelessTransceiverBlockEntity extends BlockEntity implements IWire public WirelessTransceiverBlockEntity(BlockPos pos, BlockState state) { super(ModBlockEntities.WIRELESS_TRANSCEIVER_BE.get(), pos, state); // 创建 AE2 管理节点 - this.managedNode = GridHelper.createManagedNode(this, NodeListener.INSTANCE); + this.managedNode = GridHelper.createManagedNode(this, NodeListener.INSTANCE) + .setFlags(GridFlags.DENSE_CAPACITY); this.managedNode.setIdlePowerUsage(1.0); // 可按需调整基础待机功耗 this.managedNode.setTagName("wireless_node"); this.managedNode.setInWorldNode(true); @@ -51,6 +54,20 @@ public class WirelessTransceiverBlockEntity extends BlockEntity implements IWire this.slaveLink = new WirelessSlaveLink(this); } + @Override + public appeng.api.util.AECableType getCableConnectionType(Direction dir) { + // 根据相邻方块的实际连接类型渲染(优先采用相邻主机返回的类型),回退为 GLASS。 + if (this.level == null) return AECableType.GLASS; + var adjacentPos = this.worldPosition.relative(dir); + if (!Objects.requireNonNull(this.getLevel()).hasChunkAt(adjacentPos)) return AECableType.GLASS; + var adjacentHost = GridHelper.getNodeHost(this.getLevel(), adjacentPos); + if (adjacentHost != null) { + var t = adjacentHost.getCableConnectionType(dir.getOpposite()); + if (t != null) return t; + } + return AECableType.GLASS; + } + /* ===================== IInWorldGridNodeHost ===================== */ @Override public @Nullable IGridNode getGridNode(Direction dir) {