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

I'm trying to have my custom mobs occasionally spawn in place of normal mobs that spawn from vanilla mob spawners. To do this, I was planning on subscribing to the SpecialSpawn Event in the LivingSpawnEvent class, so I have this event handler to test when the event is called:

        public void registerEventListeners() 
{
	// DEBUG
	System.out.println("Registering event listeners");

	MinecraftForge.EVENT_BUS.register(new <this class>());    
}

       @SubscribeEvent(priority=EventPriority.NORMAL, receiveCanceled=true)
public void onEvent(LivingSpawnEvent.SpecialSpawn event)
{
                System.out.println("Some event called; is this the client side? " + event.entity.worldObj.isRemote);
        }

 

But the event is not being triggered when a skeleton spawns from the skeleton spawner that I placed. From what I can tell, the event is only being triggered when monsters naturally spawn (I have tried /summon, using spawn eggs, and turning /gamerule doMobSpawning on/off to test this).

 

Am I not handling the correct event properly, or am I doing something else wrong?

That is event for naturally generated mobs.

I think you should use EntityJoinWorldEvent.

I. Stellarium for Minecraft: Configurable Universe for Minecraft! (WIP)

II. Stellar Sky, Better Star Rendering&Sky Utility mod, had separated from Stellarium.

  • Author

That is event for naturally generated mobs.

I think you should use EntityJoinWorldEvent.

Oh, then the description for the SpecialSpawn method must be out of date.

 

I'm testing it with EntityJoinWorldEvent now instead, and it seems to be triggered whenever any mob is rendered in or unrendered, from what I can tell. Is there any way that I can detect when the entity that triggers this event has just spawned from a mob spawner?

  • Author

Well that stinks  :-\

 

Is there anyway to detect that an entity that triggers the EntityJoinWorldEvent has just spawned? (Whether from a spawner, /summon, natural spawn, ect.) I've tried checking if entity.ticksExisted == 0, but that doesn't seem to differentiate between mobs newly spawned and mobs that are just being rendered in again.

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.