Sfoglia il codice sorgente

Migrate Forge ReloadListeners events to annotations

Max 4 anni fa
parent
commit
c8dd9061db

+ 13 - 11
forge/src/main/java/me/shedaniel/architectury/registry/forge/ReloadListenersImpl.java

@@ -20,38 +20,40 @@
 package me.shedaniel.architectury.registry.forge;
 
 import com.google.common.collect.Lists;
+import me.shedaniel.architectury.forge.ArchitecturyForge;
 import net.minecraft.client.Minecraft;
 import net.minecraft.server.packs.PackType;
 import net.minecraft.server.packs.resources.PreparableReloadListener;
 import net.minecraft.server.packs.resources.ReloadableResourceManager;
 import net.minecraftforge.api.distmarker.Dist;
 import net.minecraftforge.api.distmarker.OnlyIn;
-import net.minecraftforge.common.MinecraftForge;
 import net.minecraftforge.event.AddReloadListenerEvent;
+import net.minecraftforge.eventbus.api.SubscribeEvent;
+import net.minecraftforge.fml.common.Mod;
 
 import java.util.List;
 
+@Mod.EventBusSubscriber(modid = ArchitecturyForge.MOD_ID)
 public class ReloadListenersImpl {
     private static List<PreparableReloadListener> serverDataReloadListeners = Lists.newArrayList();
     
-    static {
-        MinecraftForge.EVENT_BUS.<AddReloadListenerEvent>addListener(event -> {
-            for (PreparableReloadListener listener : serverDataReloadListeners) {
-                event.addListener(listener);
-            }
-        });
-    }
-    
     public static void registerReloadListener(PackType type, PreparableReloadListener listener) {
         if (type == PackType.SERVER_DATA) {
             serverDataReloadListeners.add(listener);
         } else if (type == PackType.CLIENT_RESOURCES) {
-            reloadClientReloadListener(listener);
+            registerClientReloadListener(listener);
         }
     }
     
     @OnlyIn(Dist.CLIENT)
-    private static void reloadClientReloadListener(PreparableReloadListener listener) {
+    private static void registerClientReloadListener(PreparableReloadListener listener) {
         ((ReloadableResourceManager) Minecraft.getInstance().getResourceManager()).registerReloadListener(listener);
     }
+    
+    @SubscribeEvent
+    public static void addReloadListeners(AddReloadListenerEvent event) {
+        for (PreparableReloadListener listener : serverDataReloadListeners) {
+            event.addListener(listener);
+        }
+    }
 }