99import dev .ultreon .devices .api .print .PrintingManager ;
1010import dev .ultreon .devices .api .task .TaskManager ;
1111import dev .ultreon .devices .api .utils .OnlineRequest ;
12- import dev .ultreon .devices .block .PrinterBlock ;
1312import dev .ultreon .devices .core .ComputerScreen ;
1413import dev .ultreon .devices .client .ClientNotification ;
1514import dev .ultreon .devices .client .debug .ClientAppDebug ;
2019import dev .ultreon .devices .core .print .task .TaskPrint ;
2120import dev .ultreon .devices .core .task .TaskInstallApp ;
2221import dev .ultreon .devices .debug .DebugLog ;
22+ import dev .ultreon .devices .event .InitializationEvent ;
2323import dev .ultreon .devices .event .WorldDataHandler ;
2424import dev .ultreon .devices .network .PacketHandler ;
2525import dev .ultreon .devices .network .task .SyncApplicationPacket ;
5252import dev .ultreon .mods .xinexlib .platform .XinexPlatform ;
5353import dev .ultreon .mods .xinexlib .registrar .RegistrarManager ;
5454import net .minecraft .client .Minecraft ;
55- import net .minecraft .core .BlockPos ;
5655import net .minecraft .core .MappedRegistry ;
5756import net .minecraft .nbt .CompoundTag ;
5857import net .minecraft .resources .ResourceKey ;
5958import net .minecraft .resources .ResourceLocation ;
6059import net .minecraft .server .MinecraftServer ;
6160import net .minecraft .server .level .ServerPlayer ;
6261import net .minecraft .server .packs .resources .ResourceManager ;
63- import net .minecraft .world .InteractionHand ;
64- import net .minecraft .world .InteractionResult ;
65- import net .minecraft .world .entity .player .Player ;
6662import net .minecraft .world .item .ItemStack ;
67- import net .minecraft .world .item .Items ;
6863import net .minecraft .world .item .crafting .RecipeType ;
69- import net .minecraft .world .level .Level ;
70- import net .minecraft .world .level .block .Block ;
7164import org .jetbrains .annotations .ApiStatus ;
7265import org .jetbrains .annotations .Nullable ;
7366import org .slf4j .Logger ;
@@ -144,7 +137,9 @@ public void init() {
144137
145138 PacketHandler .init ();
146139
147- registerApplications ();
140+ if (XinexPlatform .getPlatformName ().equals (ModPlatform .Fabric )) {
141+ registerApplications ();
142+ }
148143
149144 if (XinexPlatform .getPlatformName ().equals (ModPlatform .Fabric )) {
150145 EnvExecutor .runInEnv (Env .CLIENT , () -> Devices ::doClientInit );
@@ -159,7 +154,7 @@ public void init() {
159154 }
160155 }
161156
162- protected static void doClientInit () {
157+ public static void doClientInit () {
163158 ClientAppDebug .register ();
164159 ClientModEvents .clientSetup (); //todo
165160 Devices .setupSiteRegistrations ();
@@ -171,6 +166,7 @@ public static void preInit() {
171166 throw new LaunchException ();
172167 }
173168
169+ EventSystem .MAIN .on (InitializationEvent .AppRegistrationEvent .class , BuiltinApps ::registerBuiltinApps );
174170 DeviceConfig .init ();
175171 }
176172
@@ -196,48 +192,47 @@ public void loadComplete() {
196192 }
197193
198194
199- private void registerApplications () {
195+ public void registerApplications () {
200196 // Applications (Both)
201- registerApplicationEvent ();
202-
197+ EventSystem .MAIN .publish (new InitializationEvent .AppRegistrationEvent (this ));
203198 // Core
204- TaskManager .registerTask (TaskUpdateApplicationData ::new );
205- TaskManager .registerTask (TaskPrint ::new );
206- TaskManager .registerTask (TaskUpdateSystemData ::new );
207- TaskManager .registerTask (TaskConnect ::new );
208- TaskManager .registerTask (TaskPing ::new );
209- TaskManager .registerTask (TaskGetDevices ::new );
199+ TaskManager .registerTask ("update_application_data" , TaskUpdateApplicationData ::new , TaskUpdateApplicationData . class );
200+ TaskManager .registerTask ("print" , TaskPrint ::new , TaskPrint . class );
201+ TaskManager .registerTask ("update_system_data" , TaskUpdateSystemData ::new , TaskUpdateSystemData . class );
202+ TaskManager .registerTask ("connect" , TaskConnect ::new , TaskConnect . class );
203+ TaskManager .registerTask ("ping" , TaskPing ::new , TaskPing . class );
204+ TaskManager .registerTask ("get_devices" , TaskGetDevices ::new , TaskGetDevices . class );
210205
211206 // File browser
212- TaskManager .registerTask (TaskSendAction ::new );
213- TaskManager .registerTask (TaskSetupFileBrowser ::new );
214- TaskManager .registerTask (TaskGetFiles ::new );
215- TaskManager .registerTask (TaskGetMainDrive ::new );
207+ TaskManager .registerTask ("send_action" , TaskSendAction ::new , TaskSendAction . class );
208+ TaskManager .registerTask ("setup_file_browser" , TaskSetupFileBrowser ::new , TaskSetupFileBrowser . class );
209+ TaskManager .registerTask ("get_files" , TaskGetFiles ::new , TaskGetFiles . class );
210+ TaskManager .registerTask ("get_main_drive" , TaskGetMainDrive ::new , TaskGetMainDrive . class );
216211
217212 // App Store
218- TaskManager .registerTask (TaskInstallApp ::new );
213+ TaskManager .registerTask ("install_app" , TaskInstallApp ::new , TaskInstallApp . class );
219214
220215 // Ender Mail
221- TaskManager .registerTask (TaskUpdateInbox ::new );
222- TaskManager .registerTask (TaskSendEmail ::new );
223- TaskManager .registerTask (TaskCheckEmailAccount ::new );
224- TaskManager .registerTask (TaskRegisterEmailAccount ::new );
225- TaskManager .registerTask (TaskDeleteEmail ::new );
226- TaskManager .registerTask (TaskViewEmail ::new );
216+ TaskManager .registerTask ("update_inbox" , TaskUpdateInbox ::new , TaskUpdateInbox . class );
217+ TaskManager .registerTask ("send_email" , TaskSendEmail ::new , TaskSendEmail . class );
218+ TaskManager .registerTask ("check_email_account" , TaskCheckEmailAccount ::new , TaskCheckEmailAccount . class );
219+ TaskManager .registerTask ("register_email_account" , TaskRegisterEmailAccount ::new , TaskRegisterEmailAccount . class );
220+ TaskManager .registerTask ("delete_email" , TaskDeleteEmail ::new , TaskDeleteEmail . class );
221+ TaskManager .registerTask ("view_email" , TaskViewEmail ::new , TaskViewEmail . class );
227222
228223 if (XinexPlatform .isDevelopmentEnvironment () || Devices .EARLY_CONFIG .enableBetaApps ) {
229224 // Auction
230- TaskManager .registerTask (TaskAddAuction ::new );
231- TaskManager .registerTask (TaskGetAuctions ::new );
232- TaskManager .registerTask (TaskBuyItem ::new );
225+ TaskManager .registerTask ("add_auction" , TaskAddAuction ::new , TaskAddAuction . class );
226+ TaskManager .registerTask ("get_auctions" , TaskGetAuctions ::new , TaskGetAuctions . class );
227+ TaskManager .registerTask ("buy_item" , TaskBuyItem ::new , TaskBuyItem . class );
233228
234229 // Bank
235- TaskManager .registerTask (TaskDeposit ::new );
236- TaskManager .registerTask (TaskWithdraw ::new );
237- TaskManager .registerTask (TaskGetBalance ::new );
238- TaskManager .registerTask (TaskPay ::new );
239- TaskManager .registerTask (TaskAdd ::new );
240- TaskManager .registerTask (TaskRemove ::new );
230+ TaskManager .registerTask ("deposit" , TaskDeposit ::new , TaskDeposit . class );
231+ TaskManager .registerTask ("withdraw" , TaskWithdraw ::new , TaskWithdraw . class );
232+ TaskManager .registerTask ("get_balance" , TaskGetBalance ::new , TaskGetBalance . class );
233+ TaskManager .registerTask ("pay" , TaskPay ::new , TaskPay . class );
234+ TaskManager .registerTask ("add" , TaskAdd ::new , TaskAdd . class );
235+ TaskManager .registerTask ("remove" , TaskRemove ::new , TaskRemove . class );
241236 }
242237
243238 if (XinexPlatform .isDevelopmentEnvironment () || Devices .EARLY_CONFIG .enableDebugApps ) {
@@ -247,16 +242,14 @@ private void registerApplications() {
247242 ApplicationManager .registerApplication (ResourceLocation .fromNamespaceAndPath (Reference .MOD_ID , "text_area" ), () -> TextAreaApp ::new , false );
248243 ApplicationManager .registerApplication (ResourceLocation .fromNamespaceAndPath (Reference .MOD_ID , "test" ), () -> TestApp ::new , false );
249244
250- TaskManager .registerTask (TaskNotificationTest ::new );
245+ TaskManager .registerTask ("notification_test" , TaskNotificationTest ::new , TaskNotificationTest . class );
251246 }
252247
253248 EnvExecutor .runInEnv (Env .CLIENT , () -> () -> PrintingManager .registerPrint (ResourceLocation .fromNamespaceAndPath (Reference .MOD_ID , "picture" ), PixelPainterApp .PicturePrint .class ));
254249 }
255250
256251 public abstract int getBurnTime (ItemStack stack , RecipeType <?> type );
257252
258- protected abstract void registerApplicationEvent ();
259-
260253 protected List <Application > loadApps () {
261254 if (apps != null ) {
262255 return apps ;
@@ -303,7 +296,7 @@ public Application registerApplication(ResourceLocation identifier, ApplicationS
303296 AtomicReference <Application > application = new AtomicReference <>(null );
304297 EnvExecutor .runInEnv (Env .CLIENT , () -> () -> {
305298 Application theAppWeGot = app .get ().get ();
306- List <Application > apps = loadApps (); /*ObfuscationReflectionHelper.getPrivateValue(Laptop.class, null, "APPLICATIONS");*/
299+ List <Application > apps = loadApps ();
307300 assert apps != null ;
308301 apps .add (theAppWeGot );
309302
0 commit comments