Jump to content

[1.14.4] FML ServerLifecycle Events not firing [SOLVED]


Zeher_Monkey

Recommended Posts

Hi, 

 

So I am having trouble with events not being fired. The events that will not fire are as below:

@SubscribeEvent
public static void onServerAboutToStart(final FMLServerAboutToStartEvent event) {
	PocketRegistryManager.loadData();

	LOGGER.info(LOGGER_PREFIX + "[FMLServerAboutToStartEvent] Server about to start...");
}
	
@SubscribeEvent
public static void onServerStarting(final FMLServerStartingEvent event) {
	LOGGER.info(LOGGER_PREFIX + "[FMLServerStartingEvent] Server starting...");
}

@SubscribeEvent
public static void onServerStarted(final FMLServerStartedEvent event) {
	PocketRegistryManager.initChunkLoading();

	LOGGER.info(LOGGER_PREFIX + "[FMLServerStartedEvent] Server started...");
}

@SubscribeEvent
public static void onServerStopping(final FMLServerStoppingEvent event) {	
	PocketRegistryManager.saveData();
	PocketRegistryManager.clearMap();
	
	LOGGER.info(LOGGER_PREFIX + "[FMLServerStoppingEvent] Server stopping...");
}

@SubscribeEvent
public static void onPlayerExitWorld(PlayerEvent.PlayerLoggedOutEvent event) {
	PocketRegistryManager.saveData();
	PocketRegistryManager.clearMap();
}

@SubscribeEvent
public static void onPlayerEnterWorld(PlayerEvent.PlayerLoggedInEvent event) {
	PocketRegistryManager.clearMap();
	PocketRegistryManager.loadData();
}

 

Other events, such as the

 

RegistryEvents<T> 

 

are firing perfectly. I need code to be run when the player enters or leaves the world.

 

Also

 

FMLCommonSetupEvent

 

Works with the registration method here:

 

 public DimensionalPockets() {
	FMLJavaModLoadingContext.get().getModEventBus().addListener(this::commonSetup);
    	
	MinecraftForge.EVENT_BUS.register(this);
}
	
public void commonSetup(FMLCommonSetupEvent event){
	LOGGER.info(LOGGER_PREFIX + "[FMLCommonSetupEvent] PreInit...");
		
	RecipeHandler.preInitialization();

	ModDimensionManager.registerDimensions();

	MinecraftForge.EVENT_BUS.register(new PocketEventManager());
}

 

But when I try to use this method to register the

 

ServerLifecycleEvent

 

That does not work either. I'm stuck with this, because this is causing my Configuration file to not clear when switching between worlds, meaning data that is saved for one save is being copied into other saves. Shutting the game down and re-starting works to stop this problem, but thats not feasable. None of the logger lines are printed to the Console.

 

It may be that I am using the latest version of Forge 1.14.4 but I am not sure.

 

Any help is appreciated!

Edited by Zeher_Monkey
Link to comment
Share on other sites

Forge has two event buses:

1) Mod event bus for registration and all other initialization

2) Forge event bus for everything else.

It seems like you subscribed to Mod bus, so your init and related events are fired, but nothing else.

Everything said above may be absolutely wrong. No rights reserved.

Link to comment
Share on other sites

I have found a solution to this issue:

 

I was subscribing the events to the wrong bus:

 

@Mod.EventBusSubscriber(modid = DimensionalPockets.MOD_ID, bus = EventBusSubscriber.Bus.MOD)

 

They need to be subscribed to the FORGE bus:

 

@Mod.EventBusSubscriber(modid = DimensionalPockets.MOD_ID, bus = EventBusSubscriber.Bus.FORGE)

 

Link to comment
Share on other sites

1 minute ago, Dzuchun said:

Forge has two event buses:

1) Mod event bus for registration and all other initialization

2) Forge event bus for everything else.

It seems like you subscribed to Mod bus, so your init and related events are fired, but nothing else.

Yes, literally just figured this out. Was not aware of this, as in 1.12.2 they were subscribed to the same bus. :P

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.