From 63a2f7b1b9553f61bc23816c26b8fd0f4b273e38 Mon Sep 17 00:00:00 2001 From: GaLicn <133291877+GaLicn@users.noreply.github.com> Date: Fri, 12 Dec 2025 14:33:45 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=9C=A8=E7=BA=BF=E6=95=B0?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=B1=95=E7=A4=BA=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ae/wireless/LabelNetworkRegistry.java | 10 +++++++--- .../LabeledWirelessTransceiverScreen.java | 9 +++++++-- .../network/LabelNetworkListC2SPacket.java | 10 +++++++++- .../network/LabelNetworkListS2CPacket.java | 10 +++++++--- .../assets/extendedae_plus/lang/en_us.json | 1 + .../assets/extendedae_plus/lang/zh_cn.json | 1 + .../gui/lable_wireless_transceiver_gui.png | Bin 1453 -> 1452 bytes .../lable_wireless_transceiver_gui_副本.png | Bin 1339 -> 0 bytes 8 files changed, 32 insertions(+), 9 deletions(-) delete mode 100644 src/main/resources/assets/extendedae_plus/textures/gui/lable_wireless_transceiver_gui_副本.png diff --git a/src/main/java/com/extendedae_plus/ae/wireless/LabelNetworkRegistry.java b/src/main/java/com/extendedae_plus/ae/wireless/LabelNetworkRegistry.java index e3acd03..5001915 100644 --- a/src/main/java/com/extendedae_plus/ae/wireless/LabelNetworkRegistry.java +++ b/src/main/java/com/extendedae_plus/ae/wireless/LabelNetworkRegistry.java @@ -103,7 +103,7 @@ public class LabelNetworkRegistry extends SavedData { } /** - * 注销端点;不再自动删除网络,网络的移除需显式调用 removeNetwork。 + * 注销端点;不自动删除网络,网络的移除需显式调用 removeNetwork。 */ public synchronized void unregister(IWirelessEndpoint endpoint) { ServerLevel level = endpoint.getServerLevel(); @@ -256,8 +256,8 @@ public class LabelNetworkRegistry extends SavedData { this.virtualHost = new VirtualLabelNodeHost(); this.managedNode = GridHelper.createManagedNode(virtualHost, NodeListener.INSTANCE); this.virtualHost.setManagedNode(this.managedNode); - // 虚拟节点不占用频道 - this.managedNode.setFlags(); + // 虚拟节点不占用频道,且提供致密(32)频道能力 + this.managedNode.setFlags(GridFlags.DENSE_CAPACITY); this.managedNode.setIdlePowerUsage(0.0); this.managedNode.setInWorldNode(false); this.managedNode.setVisualRepresentation(com.extendedae_plus.init.ModItems.LABELED_WIRELESS_TRANSCEIVER.get().getDefaultInstance()); @@ -288,6 +288,10 @@ public class LabelNetworkRegistry extends SavedData { endpoints.add(EndpointRef.load(list.getCompound(i))); } } + + public int endpointCount() { + return endpoints.size(); + } } public record EndpointRef(@Nullable ResourceKey dim, BlockPos pos) { diff --git a/src/main/java/com/extendedae_plus/client/screen/LabeledWirelessTransceiverScreen.java b/src/main/java/com/extendedae_plus/client/screen/LabeledWirelessTransceiverScreen.java index 834ab34..0006c25 100644 --- a/src/main/java/com/extendedae_plus/client/screen/LabeledWirelessTransceiverScreen.java +++ b/src/main/java/com/extendedae_plus/client/screen/LabeledWirelessTransceiverScreen.java @@ -56,6 +56,7 @@ public class LabeledWirelessTransceiverScreen extends AbstractContainerScreen list, String currentLabel, String ownerName, int usedChannels, int maxChannels) { + public void updateList(List list, String currentLabel, String ownerName, int usedChannels, int maxChannels, int onlineCount) { String prevSelected = getSelectedLabel(); this.entries.clear(); for (LabelNetworkRegistry.LabelNetworkSnapshot s : list) { @@ -332,8 +335,10 @@ public class LabeledWirelessTransceiverScreen extends AbstractContainerScreen player), rsp); }); ctx.get().setPacketHandled(true); diff --git a/src/main/java/com/extendedae_plus/network/LabelNetworkListS2CPacket.java b/src/main/java/com/extendedae_plus/network/LabelNetworkListS2CPacket.java index 3c5714e..02e0221 100644 --- a/src/main/java/com/extendedae_plus/network/LabelNetworkListS2CPacket.java +++ b/src/main/java/com/extendedae_plus/network/LabelNetworkListS2CPacket.java @@ -23,14 +23,16 @@ public class LabelNetworkListS2CPacket { private final String ownerName; private final int usedChannels; private final int maxChannels; + private final int onlineCount; - public LabelNetworkListS2CPacket(BlockPos pos, List list, String currentLabel, String ownerName, int usedChannels, int maxChannels) { + public LabelNetworkListS2CPacket(BlockPos pos, List list, String currentLabel, String ownerName, int usedChannels, int maxChannels, int onlineCount) { this.pos = pos; this.list = list; this.currentLabel = currentLabel; this.ownerName = ownerName; this.usedChannels = usedChannels; this.maxChannels = maxChannels; + this.onlineCount = onlineCount; } public static void encode(LabelNetworkListS2CPacket pkt, FriendlyByteBuf buf) { @@ -39,6 +41,7 @@ public class LabelNetworkListS2CPacket { buf.writeUtf(pkt.ownerName == null ? "" : pkt.ownerName, 128); buf.writeVarInt(pkt.usedChannels); buf.writeVarInt(pkt.maxChannels); + buf.writeVarInt(pkt.onlineCount); buf.writeVarInt(pkt.list.size()); for (LabelNetworkRegistry.LabelNetworkSnapshot s : pkt.list) { buf.writeUtf(s.label(), 128); @@ -52,6 +55,7 @@ public class LabelNetworkListS2CPacket { String ownerName = buf.readUtf(128); int usedChannels = buf.readVarInt(); int maxChannels = buf.readVarInt(); + int onlineCount = buf.readVarInt(); int size = buf.readVarInt(); List list = new ArrayList<>(size); for (int i = 0; i < size; i++) { @@ -59,7 +63,7 @@ public class LabelNetworkListS2CPacket { long channel = buf.readLong(); list.add(new LabelNetworkRegistry.LabelNetworkSnapshot(label, channel)); } - return new LabelNetworkListS2CPacket(pos, list, curLabel, ownerName, usedChannels, maxChannels); + return new LabelNetworkListS2CPacket(pos, list, curLabel, ownerName, usedChannels, maxChannels, onlineCount); } public static void handle(LabelNetworkListS2CPacket pkt, Supplier ctx) { @@ -71,7 +75,7 @@ public class LabelNetworkListS2CPacket { private static void handleClient(LabelNetworkListS2CPacket pkt) { Minecraft mc = Minecraft.getInstance(); if (mc.screen instanceof LabeledWirelessTransceiverScreen screen && screen.isFor(pkt.pos)) { - screen.updateList(pkt.list, pkt.currentLabel, pkt.ownerName, pkt.usedChannels, pkt.maxChannels); + screen.updateList(pkt.list, pkt.currentLabel, pkt.ownerName, pkt.usedChannels, pkt.maxChannels, pkt.onlineCount); } } } diff --git a/src/main/resources/assets/extendedae_plus/lang/en_us.json b/src/main/resources/assets/extendedae_plus/lang/en_us.json index b0ad989..4f6223c 100644 --- a/src/main/resources/assets/extendedae_plus/lang/en_us.json +++ b/src/main/resources/assets/extendedae_plus/lang/en_us.json @@ -105,6 +105,7 @@ "gui.extendedae_plus.labeled_wireless.button.refresh": "Disconnect", "gui.extendedae_plus.labeled_wireless.current_label": "Current Label", "gui.extendedae_plus.labeled_wireless.current_owner": "Owner", + "gui.extendedae_plus.labeled_wireless.online_count": "Online", "extendedae_plus.screen.reload_mapping": "Reload Mapping", "extendedae_plus.screen.reload_mapping_success": "Overloading mapping successful", diff --git a/src/main/resources/assets/extendedae_plus/lang/zh_cn.json b/src/main/resources/assets/extendedae_plus/lang/zh_cn.json index 1eea61d..0603302 100644 --- a/src/main/resources/assets/extendedae_plus/lang/zh_cn.json +++ b/src/main/resources/assets/extendedae_plus/lang/zh_cn.json @@ -104,6 +104,7 @@ "gui.extendedae_plus.labeled_wireless.button.refresh": "断开连接", "gui.extendedae_plus.labeled_wireless.current_label": "当前标签", "gui.extendedae_plus.labeled_wireless.current_owner": "所有者", + "gui.extendedae_plus.labeled_wireless.online_count": "在线数", "extendedae_plus.screen.reload_mapping": "重载映射", "extendedae_plus.screen.reload_mapping_success": "重载映射成功", diff --git a/src/main/resources/assets/extendedae_plus/textures/gui/lable_wireless_transceiver_gui.png b/src/main/resources/assets/extendedae_plus/textures/gui/lable_wireless_transceiver_gui.png index 48a5ef2351e5e84d552985b4247ae662d1c9d826..4a586ba0b3c01e62a5d55fd477853477839e3591 100644 GIT binary patch delta 966 zcmZ3>y@q>&3S;6%RSw2_CWgdlt^<$z?M)kA-V9<`!=5-xhf%?Y0gi55`K!h0q9MWN& zEXXRUm{Ym+aW8KYlv*{_P)gzkWT~Joz1?a?%?vn?$$9 z$RipCvxWNEycwRw>?_K>fawM`2Ad82b~YB%UVe6FKb|+^Q7IS0?MHX{@5!Goc=KW6 z#@Wlt=DIbi=iIzpb3Ol#jP=Wj?ebF92dAvNJoyZxQg-w=jSq2>SMO#9@A6xGAgB9s z`nlewm9fiJfreaa{k%9K>$)b;hP%J&{%!L8XvGQ(GkD+u89hw?H#WI7&gI@<{O!z6 z29T?FGThGgpUce<{V=BC?Z)TlSQ(aiPG)2kaXq8)p+&bkJR$7-G^T>Dua+|U^aHIr zwv%DCJHrjJbF2}*Ob50V=pD$q6~y2-&%$a(+uRC+7cmW2w;C`^Umqjw(|mqX_2l!6 zGW84&H|{dn{5p2MrQCq7j$!C|<#gPKp-=u-C4;On8xEF4<8lW5y}xcn zw9T*kQOB@5KaaEE?fU)4{ciogv6%UWv<>sbjgs{nb~4Pk(%d(b;msEbgALoyusi_9 z7toxkF<^6$BZwAkA7Tvs$H>6&|G%I>UjhRI1DmIdV+b=tQTLS#KR2sh2Z}Iwy85}S Ib4q9e0AY9lypGFW*5`9L^#d74+Y}DSFeU^~tL0^4NJK+! zjp}DK47w#)+YG!JI8=ohIItpPE}KNR#>gWY1}%|HlNT~evdjp4z&Y8FNm+54IoF@y{yyWi8tm~N~6^EwT zo-O}-?Ci$La+N<8ZWQ-aVb8U!Y%b7>+iTxH*S{^YKA1tl2Lqka_|T%8EplTggLU%xIot_AXV2l@u=m@Q zoeUd9&#~T+t9}>5kT7eqBC9CSKmIp1m9wUO&Cz5CUmquR;7bJ4hFqZXDwc-ahcOLT zRTy%(pEIplrpx-^N$29`%p0BT&F5GnV!4?MexBNT(By~C&gqlSGfLM3WAZNVfyw@F z0AOCW`Q0@7Xu}em0Ha z`oCY*ZMzopr0IRiQ AfB*mh diff --git a/src/main/resources/assets/extendedae_plus/textures/gui/lable_wireless_transceiver_gui_副本.png b/src/main/resources/assets/extendedae_plus/textures/gui/lable_wireless_transceiver_gui_副本.png deleted file mode 100644 index a8aade533f9b3f130b5d7f3311f5db260fdff3ce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1339 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|GzJEi51uZLAr*7p+}*!=S}4PT zkIFyTMb289ym%B;f53G5wiOo+>{R7oS6#92=+cD_B?b!@JX^5n(Ap_pGO?4`N;7tx zUG%?k;lwY$;sSTQ@BeLg|9tw6>D3SU+Mj=_o&ULDUhy}1+oC`J7$$wQ|MBVZ()DZ? zJ{^1g{*Q12d*0o9at?7Y3&SA?DfsO)X?_wzlWzrMVgxsfke zW;w$K0d@cRQmYFd-ub!FFIXBVU{L<8>RzJK-I>a4BQW68qR+4VYDdB$u{6Uy<-|sHpZX#z}nll zn==b^E9Yo3v~c1^wp<5*X%(1!4H)LvR%SBTE@Keb_Ws4h$KTl}Y{_Sc1aiM=Fsz=( z_2<*=?eFXo&ZfO%@SA668uswe&den ziEd}#;9kMTkjR7^6*F!K5w}WXD){*3JTu6W_tW=DIJB34Qat1Az_D3bpylix#y#Jj zMJJ2a{d)MDan1cZA_>3G?>}ZFTk-NJ;~U<2jPM{vXWWQkSaYShZzh9IwWPs@?PpjX zJnMbU{NjU`UP~nh2R>KfaWHkI>X{iB{{L4vt>OqQ0@*-iA2UPN<%J%LbT?-KMHoC? L{an^LB{Ts5HoV5%