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

]There is an entire package dedicated to them in Forge, yet I have no idea how to use them? What is it even for in the first place?

It's a big question. Maybe anyone has his own opinion. I'm trying to talk about mine.

 

'Event' is something that happened or is happening. When the zombie hit you, it's an event(And we would know that it's LivingAttackEvent and LivingHurtEvent).

 

As the mod required, you may want to know about what event is happenning. If we want to make zombie very very strong, we can catch the 'event' that when the damage is count(LivingHurtEvent), and change the damage to make the zombie stronger(there is other way to do this of course). Or we could apply special effect to the player when he's hit by zombie. To know when the player is hit, you need events.

 

And many other events, like LivingDeathEvent. To catch this event allow you to do something when someone(Zombie, Player or other living) died. And do something you want after this, like bury them. To know when someone die, you need events.

 

To catch the event, add an annotation before the method, and register it. The class is as below.

 

public class EventTest {
@ForgeSubscribe(priority = EventPriority.LOW,receiveCanceled = true)
public void test1(LivingFallEvent event)
{
    if(event.entityLiving instanceof EntityPlayer)
    {
        EntityPlayer entityPlayer = (EntityPlayer)event.entityLiving;
        entityPlayer.sendChatToPlayer(ChatMessageComponent.func_111066_d("Falling Star!You fell "+event.distance+ " meters.That's cool,man!");
    }
}
}

 

And registe it with

 MinecraftForge.EVENT_BUS.register(new EventTest());

 

So when someone fall to the ground, he will receive a message how far he fall.

 

And you can set event.distance to 0.0f or 24.f to get rid of the falling damage or make the player die when fall, no matter how far he falls.

 

And there are many feature of event, like result, priority, cancelable and so on.

Maybe you should figure it out yourself.

Hi

 

Forge events are a way for the vanilla+forge code to call your code when something happens.  This lets you customise the game behaviour without having to modify the vanilla code yourself.

 

For example - PlayerSleepInBedEvent

If you register a listener for this event (say thePlayerSleptInBed()), then your method thePlayerSleptInBed will be called whenever a player sleeps in a bed.

 

Forge uses a bit of a mishmash of events, handlers, hooks, and other techniques to enable your code to get itself called when particular things happen.  Events is just one of those.

 

A useful link:

http://www.minecraftforge.net/wiki/Event_Reference

 

-TGG

  • Author

Thanks! (there are alot of basic minecraft modding tutorials out there, but i still feel so lost when I am looking through all forge stuff, thanks for shedding some light on the events stuff!)

Another thing to note is that events is NOT a forge concept.

Events is a programming concept, as are much of the confusing forge and minecraft stuff.

It's a good idea to search around for general peogramming information on such concepts as well as to learn about the specifics of forge ;)

If you guys dont get it.. then well ya.. try harder...

Guest
This topic is now closed to further replies.

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.