From c8dd9061dbca7812ac128ca09a2d221498674bae Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 18 Mar 2021 15:43:48 +0100 Subject: [PATCH] Migrate Forge ReloadListeners events to annotations --- .../registry/forge/ReloadListenersImpl.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/forge/src/main/java/me/shedaniel/architectury/registry/forge/ReloadListenersImpl.java b/forge/src/main/java/me/shedaniel/architectury/registry/forge/ReloadListenersImpl.java index 3a0a76f0..b1bc82b1 100644 --- a/forge/src/main/java/me/shedaniel/architectury/registry/forge/ReloadListenersImpl.java +++ b/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 serverDataReloadListeners = Lists.newArrayList(); - static { - MinecraftForge.EVENT_BUS.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); + } + } }