Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

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

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.

  • Author

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)

 

  • Author
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

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.