diff --git a/src/main/java/net/minecraftforge/fml/AutomaticEventSubscriber.java b/src/main/java/net/minecraftforge/fml/AutomaticEventSubscriber.java index 1f06449fef..42823d70e6 100644 --- a/src/main/java/net/minecraftforge/fml/AutomaticEventSubscriber.java +++ b/src/main/java/net/minecraftforge/fml/AutomaticEventSubscriber.java @@ -61,10 +61,12 @@ public class AutomaticEventSubscriber final EnumSet sides = sidesValue.stream().map(eh -> Dist.valueOf(eh.getValue())). collect(Collectors.toCollection(() -> EnumSet.noneOf(Dist.class))); final String modId = (String)ad.getAnnotationData().getOrDefault("modid", mod.getModId()); - final Mod.EventBusSubscriber.Bus busTarget = (Mod.EventBusSubscriber.Bus)ad.getAnnotationData().getOrDefault("bus", Mod.EventBusSubscriber.Bus.FORGE); + final ModAnnotation.EnumHolder busTargetHolder = (ModAnnotation.EnumHolder)ad.getAnnotationData().getOrDefault("bus", new ModAnnotation.EnumHolder(null, "FORGE")); + final Mod.EventBusSubscriber.Bus busTarget = Mod.EventBusSubscriber.Bus.valueOf(busTargetHolder.getValue()); if (Objects.equals(mod.getModId(), modId) && sides.contains(FMLEnvironment.dist)) { try { + LOGGER.info(LOADING, "Auto-subscribing {} to {}", ad.getClassType().getClassName(), busTarget); busTarget.bus().get().register(Class.forName(ad.getClassType().getClassName(), true, loader)); } catch (ClassNotFoundException e) diff --git a/src/main/java/net/minecraftforge/registries/GameData.java b/src/main/java/net/minecraftforge/registries/GameData.java index 8da094b1fa..91b4d47ba7 100644 --- a/src/main/java/net/minecraftforge/registries/GameData.java +++ b/src/main/java/net/minecraftforge/registries/GameData.java @@ -806,7 +806,8 @@ public class GameData reg.unfreeze(); final RegistryEvent.Register registerEvent = reg.getRegisterEvent(rl); lifecycleEventProvider.setCustomEventSupplier(() -> registerEvent); - if (i== keysSize-1) lifecycleEventProvider.changeProgression(LifecycleEventProvider.LifecycleEvent.Progression.NEXT); + lifecycleEventProvider.changeProgression(LifecycleEventProvider.LifecycleEvent.Progression.STAY); + if (i==keysSize-1) lifecycleEventProvider.changeProgression(LifecycleEventProvider.LifecycleEvent.Progression.NEXT); eventDispatcher.accept(lifecycleEventProvider); reg.freeze(); LOGGER.info("{} Applying holder lookups", rl.toString());