11package com .almostreliable .merequester .compat .wtlib ;
22
3+ import com .almostreliable .merequester .Utils ;
4+
5+ import net .minecraft .core .Registry ;
36import net .minecraft .world .inventory .MenuType ;
7+ import net .minecraft .world .item .Item ;
48import net .minecraft .world .level .ItemLike ;
5- import net .neoforged .fml .ModList ;
9+ import net .neoforged .fml .loading . LoadingModList ;
610import net .neoforged .neoforge .capabilities .Capabilities ;
711import net .neoforged .neoforge .capabilities .RegisterCapabilitiesEvent ;
812import net .neoforged .neoforge .client .event .RegisterMenuScreensEvent ;
913import net .neoforged .neoforge .registries .DeferredHolder ;
10- import net .neoforged .neoforge .registries .DeferredItem ;
1114import net .neoforged .neoforge .registries .DeferredRegister ;
1215
1316import appeng .api .features .GridLinkables ;
@@ -27,9 +30,9 @@ public final class WirelessTerminalCompat {
2730 public static final WirelessTerminalCompat INSTANCE = new WirelessTerminalCompat ();
2831 static final String TERMINAL_ID = "wireless_requester_terminal" ;
2932
30- public void init (DeferredRegister . Items itemRegistry , DeferredRegister <MenuType <?>> menuRegistry ) {
33+ public void init (DeferredRegister <MenuType <?>> menuRegistry ) {
3134 if (isLoaded ()) {
32- Guard .init (itemRegistry , menuRegistry );
35+ Guard .init (menuRegistry );
3336 }
3437 }
3538
@@ -39,6 +42,12 @@ public void initClient(RegisterMenuScreensEvent event) {
3942 }
4043 }
4144
45+ public void registerWirelessTerminal (Registry <Item > registry ) {
46+ if (isLoaded ()) {
47+ Guard .registerWirelessTerminal (registry );
48+ }
49+ }
50+
4251 public void registerCapabilities (RegisterCapabilitiesEvent event ) {
4352 if (isLoaded ()) {
4453 Guard .registerCapabilities (event );
@@ -54,7 +63,7 @@ public Iterable<ItemLike> collectItems() {
5463 }
5564
5665 private boolean isLoaded () {
57- return ModList .get ().isLoaded ("ae2wtlib" );
66+ return LoadingModList .get ().getModFileById ("ae2wtlib" ) != null ;
5867 }
5968
6069 private WirelessTerminalCompat () {}
@@ -63,23 +72,22 @@ private WirelessTerminalCompat() {}
6372 static final class Guard {
6473
6574 @ Nullable
66- static DeferredItem < ReqWirelessTerminalItem > WIRELESS_REQUESTER_TERMINAL ;
75+ static ReqWirelessTerminalItem WIRELESS_REQUESTER_TERMINAL ;
6776 @ Nullable
6877 static DeferredHolder <MenuType <?>, MenuType <ReqWirelessTerminalMenu >> WIRELESS_REQUESTER_TERMINAL_MENU ;
6978
70- private static void init (DeferredRegister .Items itemRegistry , DeferredRegister <MenuType <?>> menuRegistry ) {
71-
72- WIRELESS_REQUESTER_TERMINAL = itemRegistry .registerItem (
73- TERMINAL_ID ,
74- properties -> new ReqWirelessTerminalItem ()
75- );
79+ private static void init (DeferredRegister <MenuType <?>> menuRegistry ) {
7680 WIRELESS_REQUESTER_TERMINAL_MENU = menuRegistry .register (
7781 TERMINAL_ID ,
7882 () -> ReqWirelessTerminalMenu .TYPE
7983 );
84+ }
8085
86+ public static void registerWirelessTerminal (Registry <Item > registry ) {
87+ WIRELESS_REQUESTER_TERMINAL = new ReqWirelessTerminalItem ();
88+ Registry .register (registry , Utils .getRL (TERMINAL_ID ), WIRELESS_REQUESTER_TERMINAL );
8189 AddTerminalEvent .register (event -> event .builder (
82- "requester" , ReqWirelessTerminalMenuHost ::new , ReqWirelessTerminalMenu .TYPE , WIRELESS_REQUESTER_TERMINAL . get () ,
90+ "requester" , ReqWirelessTerminalMenuHost ::new , ReqWirelessTerminalMenu .TYPE , WIRELESS_REQUESTER_TERMINAL ,
8391 Icon .PATTERN_ACCESS
8492 )
8593 .addTerminal ());
@@ -90,14 +98,14 @@ private static void registerCapabilities(RegisterCapabilitiesEvent event) {
9098 GridLinkables .register (WIRELESS_REQUESTER_TERMINAL , WirelessTerminalItem .LINKABLE_HANDLER );
9199 event .registerItem (
92100 Capabilities .EnergyStorage .ITEM ,
93- (stack , context ) -> new PoweredItemCapabilities (stack , WIRELESS_REQUESTER_TERMINAL . get () ),
101+ (stack , context ) -> new PoweredItemCapabilities (stack , WIRELESS_REQUESTER_TERMINAL ),
94102 WIRELESS_REQUESTER_TERMINAL
95103 );
96104 }
97105
98106 private static Iterable <ItemLike > collectItems () {
99107 assert WIRELESS_REQUESTER_TERMINAL != null ;
100- return List .of (WIRELESS_REQUESTER_TERMINAL . get () );
108+ return List .of (WIRELESS_REQUESTER_TERMINAL );
101109 }
102110
103111 private Guard () {}
0 commit comments