Skip to content

Instantly share code, notes, and snippets.

@Bricktricker
Last active January 20, 2025 19:00
Show Gist options
  • Save Bricktricker/9ecec23188a2fcd0e54e817be8ce8d8d to your computer and use it in GitHub Desktop.
Save Bricktricker/9ecec23188a2fcd0e54e817be8ce8d8d to your computer and use it in GitHub Desktop.
Forge events

Events in MinecraftForge 36.1.32

net.minecraftforge.client.event.ClientChatEvent

Callplaces:
direct:

ForgeEventFactory#onClientSendMessage

factory:

Screen#sendMessage

ClientChatEvent is fired whenever the client is about to send a chat message or command to the server.
This event is fired via ForgeEventFactory#onClientSendMessage(String), which is executed by GuiScreen#sendChatMessage(String, boolean)
#message contains the message that will be sent to the server. This can be changed by mods.
#originalMessage contains the original message that was going to be sent to the server. This cannot be changed by mods.
This event is Cancelable.
If this event is canceled, the chat message or command is never sent to the server.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.client.event.ClientChatReceivedEvent

Callplaces:
direct:

ForgeEventFactory#onClientChat

factory:

ClientPlayNetHandler#handleChat

Fired on the client when a chat message is received.
If this event is cancelled, the message is not displayed in the chat message window.
Fired on net.minecraftforge.common.MinecraftForge#EVENT_BUS.

net.minecraftforge.client.event.ClientPlayerChangeGameModeEvent

Callplaces:
direct:

ForgeHooksClient#onClientChangeGameMode

factory:

NetworkPlayerInfo#setGameMode

Fired before the client player is notified of a change in game mode from the server.

net.minecraftforge.client.event.ClientPlayerNetworkEvent

Client side player connectivity events.

net.minecraftforge.client.event.ClientPlayerNetworkEvent.LoggedInEvent

Callplaces:
direct:

ClientHooks#firePlayerLogin

factory:

ClientPlayNetHandler#handleLogin

Fired when the client player logs in to the server. The player should be initialized.

net.minecraftforge.client.event.ClientPlayerNetworkEvent.LoggedOutEvent

Callplaces:
direct:

ClientHooks#firePlayerLogout

factory:

Minecraft#clearLevel

Fired when the player logs out. Note this might also fire when a new integrated server is being created.

net.minecraftforge.client.event.ClientPlayerNetworkEvent.RespawnEvent

Callplaces:
direct:

ClientHooks#firePlayerRespawn

factory:

ClientPlayNetHandler#handleRespawn

Fired when the player object respawns, such as dimension changes.

net.minecraftforge.client.event.ColorHandlerEvent

Use these events to register block/item color handlers at the appropriate time.

net.minecraftforge.client.event.ColorHandlerEvent.Block

Callplaces:
direct:

ForgeHooksClient#onBlockColorsInit

factory:

BlockColors#createDefault

net.minecraftforge.client.event.ColorHandlerEvent.Item

Callplaces:
direct:

ForgeHooksClient#onItemColorsInit

factory:

ItemColors#createDefault

net.minecraftforge.client.event.DrawHighlightEvent

Callplaces:
direct:

ForgeHooksClient#onDrawBlockHighlight

factory:

WorldRenderer#renderLevel
WorldRenderer#renderLevel

An event called whenever the selection highlight around blocks is about to be rendered. Canceling this event stops the selection highlight from being rendered. TODO: Rename to DrawSelectionEvent

net.minecraftforge.client.event.DrawHighlightEvent.HighlightBlock

Callplaces:
direct:

ForgeHooksClient#onDrawBlockHighlight

factory:

WorldRenderer#renderLevel
WorldRenderer#renderLevel

A variant of the DrawHighlightEvent only called when a block is highlighted.

net.minecraftforge.client.event.DrawHighlightEvent.HighlightEntity

Callplaces:
direct:

ForgeHooksClient#onDrawBlockHighlight

factory:

WorldRenderer#renderLevel
WorldRenderer#renderLevel

A variant of the DrawHighlightEvent only called when an entity is highlighted. Canceling this event has no effect.

net.minecraftforge.client.event.EntityViewRenderEvent

Event that hooks into GameRenderer, allowing any feature to customize visual attributes the player sees.

net.minecraftforge.client.event.EntityViewRenderEvent.CameraSetup

Callplaces:
direct:

ForgeHooksClient#onCameraSetup

factory:

GameRenderer#renderLevel

Event that allows mods to alter the angles of the player's camera. Mainly useful for applying roll.

net.minecraftforge.client.event.EntityViewRenderEvent.FOVModifier

Callplaces:
direct:

ForgeHooksClient#getFOVModifier

factory:

GameRenderer#getFov

Event that allows mods to alter the raw FOV itself. This directly affects to the FOV without being modified.

net.minecraftforge.client.event.EntityViewRenderEvent.FogColors

Callplaces:
direct:

FogRenderer#setupColor

Event that allows any feature to customize the color of fog the player sees. NOTE: Any change made to one of the color variables will affect the result seen in-game.

net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity

Callplaces:
direct:

ForgeHooksClient#getFogDensity

factory:

FogRenderer#setupFog

Event that allows any feature to customize the fog density the player sees. NOTE: In order to make this event have an effect, you must cancel the event

net.minecraftforge.client.event.EntityViewRenderEvent.FogEvent

net.minecraftforge.client.event.EntityViewRenderEvent.RenderFogEvent

Callplaces:
direct:

ForgeHooksClient#onFogRender

factory:

FogRenderer#setupFog

Event that allows any feature to customize the rendering of fog.

net.minecraftforge.client.event.FOVUpdateEvent

Callplaces:
direct:

ForgeHooksClient#getOffsetFOV

factory:

AbstractClientPlayerEntity#getFieldOfViewModifier

net.minecraftforge.client.event.GuiContainerEvent

Event class for handling GuiContainer specific events.

net.minecraftforge.client.event.GuiContainerEvent.DrawBackground

Callplaces:
direct:

ContainerScreen#render

This event is fired directly after the GuiContainer has draw any background elements, This is useful for drawing new background elements.

net.minecraftforge.client.event.GuiContainerEvent.DrawForeground

Callplaces:
direct:

ContainerScreen#render

This event is fired directly after the GuiContainer has draw any foreground elements, But before the "dragged" stack, and before any tooltips. This is useful for any slot / item specific overlays. Things that need to be on top of All GUI elements but bellow tooltips and dragged stacks.

net.minecraftforge.client.event.GuiOpenEvent

Callplaces:
direct:

Minecraft#setScreen

This event is called before any Gui will open. If you don't want this to happen, cancel the event. If you want to override this Gui, simply set the gui variable to your own Gui.

net.minecraftforge.client.event.GuiScreenEvent

Event classes for GuiScreen events.

net.minecraftforge.client.event.GuiScreenEvent.BackgroundDrawnEvent

Callplaces:
direct:

Screen#renderBackground
Screen#renderDirtBackground

This event fires at the end of GuiScreen#drawBackground(int) and before the rest of the Gui draws. This allows drawing next to Guis, above the background but below any tooltips.

net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent

net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent.Post

Callplaces:
direct:

ForgeHooksClient#drawScreen

factory:

GameRenderer#render

This event fires just after GuiScreen#render(int, int, float) is called.

net.minecraftforge.client.event.GuiScreenEvent.DrawScreenEvent.Pre

Callplaces:
direct:

ForgeHooksClient#drawScreen

factory:

GameRenderer#render

This event fires just before GuiScreen#render(int, int, float) is called. Cancel this event to skip GuiScreen#render(int, int, float).

net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent

net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent.Post

Callplaces:
direct:

Screen#init

This event fires right after GuiScreen#initGui(). This is a good place to alter a GuiScreen's component layout if desired.

net.minecraftforge.client.event.GuiScreenEvent.InitGuiEvent.Pre

Callplaces:
direct:

Screen#init

This event fires just after initializing GuiScreen#mc, GuiScreen#fontRenderer, GuiScreen#width, and GuiScreen#height.
If canceled the following lines are skipped in GuiScreen#setWorldAndResolution(Minecraft, int, int):
this.buttonList.clear();
this.children.clear();
this.initGui();

net.minecraftforge.client.event.GuiScreenEvent.KeyboardCharTypedEvent

net.minecraftforge.client.event.GuiScreenEvent.KeyboardCharTypedEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiCharTypedPost

factory:

KeyboardListener#charTyped
KeyboardListener#charTyped

This event fires after IGuiEventListener#charTyped(char, int) if the character was not already handled. Cancel this event when you successfully use the keyboard input to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.KeyboardCharTypedEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiCharTypedPre

factory:

KeyboardListener#charTyped
KeyboardListener#charTyped

This event fires when keyboard character input is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#charTyped(char, int).

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyEvent

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyPressedEvent

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyPressedEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiKeyPressedPost

factory:

KeyboardListener#keyPress

This event fires after IGuiEventListener#keyPressed(int, int, int) if the key was not already handled. Cancel this event when you successfully use the keyboard input to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyPressedEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiKeyPressedPre

factory:

KeyboardListener#keyPress

This event fires when keyboard input is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#keyPressed(int, int, int).

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyReleasedEvent

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyReleasedEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiKeyReleasedPost

factory:

KeyboardListener#keyPress

This event fires after IGuiEventListener#keyReleased(int, int, int) if the key was not already handled. Cancel this event when you successfully use the keyboard input to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.KeyboardKeyReleasedEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiKeyReleasedPre

factory:

KeyboardListener#keyPress

This event fires when keyboard input is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#keyReleased(int, int, int).

net.minecraftforge.client.event.GuiScreenEvent.MouseClickedEvent

net.minecraftforge.client.event.GuiScreenEvent.MouseClickedEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiMouseClickedPost

factory:

MouseHelper#onPress

This event fires after IGuiEventListener#mouseClicked(double, double, int) if the click was not already handled. Cancel this event when you successfully use the mouse click, to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.MouseClickedEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiMouseClickedPre

factory:

MouseHelper#onPress

This event fires when a mouse click is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#mouseClicked(double, double, int).

net.minecraftforge.client.event.GuiScreenEvent.MouseDragEvent

net.minecraftforge.client.event.GuiScreenEvent.MouseDragEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiMouseDragPost

factory:

MouseHelper#onMove

This event fires after IGuiEventListener#mouseDragged(double, double, int, double, double) if the drag was not already handled. Cancel this event when you successfully use the mouse drag, to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.MouseDragEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiMouseDragPre

factory:

MouseHelper#onMove

This event fires when a mouse drag is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#mouseDragged(double, double, int, double, double).

net.minecraftforge.client.event.GuiScreenEvent.MouseInputEvent

net.minecraftforge.client.event.GuiScreenEvent.MouseReleasedEvent

net.minecraftforge.client.event.GuiScreenEvent.MouseReleasedEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiMouseReleasedPost

factory:

MouseHelper#onPress

This event fires after IGuiEventListener#mouseReleased(double, double, int) if the release was not already handled. Cancel this event when you successfully use the mouse release, to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.MouseReleasedEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiMouseReleasedPre

factory:

MouseHelper#onPress

This event fires when a mouse release is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#mouseReleased(double, double, int).

net.minecraftforge.client.event.GuiScreenEvent.MouseScrollEvent

net.minecraftforge.client.event.GuiScreenEvent.MouseScrollEvent.Post

Callplaces:
direct:

ForgeHooksClient#onGuiMouseScrollPost

factory:

MouseHelper#onScroll

This event fires after IGuiEventListener#mouseScrolled(double) if the scroll was not already handled. Cancel this event when you successfully use the mouse scroll, to prevent other handlers from using the same input.

net.minecraftforge.client.event.GuiScreenEvent.MouseScrollEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onGuiMouseScrollPre

factory:

MouseHelper#onScroll

This event fires when a mouse scroll is detected for a GuiScreen, before it is handled. Cancel this event to bypass IGuiEventListener#mouseScrolled(double).

net.minecraftforge.client.event.GuiScreenEvent.PotionShiftEvent

Callplaces:
direct:

DisplayEffectsScreen#checkEffectRendering

This event fires in InventoryEffectRenderer#updateActivePotionEffects() when potion effects are active and the gui wants to move over. Cancel this event to prevent the Gui from being moved.

net.minecraftforge.client.event.InputEvent

net.minecraftforge.client.event.InputEvent.ClickInputEvent

Callplaces:
direct:

ForgeHooksClient#onClickInput

factory:

Minecraft#continueAttack
Minecraft#startAttack
Minecraft#startUseItem
Minecraft#pickBlock

This event fires when one of the keybindings that by default involves clicking the mouse buttons is triggered. These key bindings are use item, pick block and attack keybindings. (right, middle and left mouse click) In the case that these key bindings are re-bound to a keyboard key the event will still be fired as normal.

net.minecraftforge.client.event.InputEvent.KeyInputEvent

Callplaces:
direct:

ForgeHooksClient#fireKeyInput

factory:

KeyboardListener#keyPress

This event fires when a keyboard input is detected.

net.minecraftforge.client.event.InputEvent.MouseInputEvent

Callplaces:
direct:

ForgeHooksClient#fireMouseInput

factory:

MouseHelper#onPress

This event fires when a mouse input is detected.

net.minecraftforge.client.event.InputEvent.MouseScrollEvent

Callplaces:
direct:

ForgeHooksClient#onMouseScroll

factory:

MouseHelper#onScroll

This event fires when the mouse scroll wheel is used outside of a gui.

net.minecraftforge.client.event.InputEvent.RawMouseEvent

Callplaces:
direct:

ForgeHooksClient#onRawMouseClicked

factory:

MouseHelper#onPress

A cancellable mouse event fired before key bindings are updated

net.minecraftforge.client.event.InputUpdateEvent

Callplaces:
direct:

ForgeHooksClient#onInputUpdate

factory:

ClientPlayerEntity#aiStep

This event is fired after player movement inputs are updated.
Handlers can freely manipulate MovementInput to cancel movement.

net.minecraftforge.client.event.ModelBakeEvent

Callplaces:
direct:

ForgeHooksClient#onModelBake

factory:

ModelManager#apply

net.minecraftforge.client.event.ModelRegistryEvent

Callplaces:
direct:

ModelLoaderRegistry#onModelLoadingStart

Fired when the net.minecraftforge.client.model.ModelLoader is ready to register model loaders

net.minecraftforge.client.event.ParticleFactoryRegisterEvent

Callplaces:
direct:

Minecraft#Minecraft

Fired when you should call net.minecraft.client.particle.ParticleManager#registerFactory. Note that your ParticleTypes should still be registered during the usual registry events, this is only for the factories.

net.minecraftforge.client.event.RecipesUpdatedEvent

Callplaces:
direct:

ForgeHooksClient#onRecipesUpdated

factory:

ClientPlayNetHandler#handleUpdateRecipes

Fired on Dist#CLIENT when RecipeManager has all of its recipes synced from the server to the client (just after a client has connected),

net.minecraftforge.client.event.RenderBlockOverlayEvent

Callplaces:
direct:

ForgeEventFactory#renderBlockOverlay

factory:

ForgeEventFactory#renderFireOverlay
ForgeEventFactory#renderWaterOverlay
OverlayRenderer#renderScreenEffect

Called when a block's texture is going to be overlaid on the player's HUD. Cancel this event to prevent the overlay.

net.minecraftforge.client.event.RenderGameOverlayEvent

Callplaces:
direct:

ForgeHooksClient#bossBarRenderPre
ForgeHooksClient#bossBarRenderPost
ForgeIngameGui#render

factory:

BossOverlayGui#render
BossOverlayGui#render

net.minecraftforge.client.event.RenderGameOverlayEvent.BossInfo

Callplaces:
direct:

ForgeHooksClient#bossBarRenderPre

factory:

BossOverlayGui#render

net.minecraftforge.client.event.RenderGameOverlayEvent.Chat

Callplaces:
direct:

ForgeIngameGui#renderChat

net.minecraftforge.client.event.RenderGameOverlayEvent.Post

Callplaces:
direct:

ForgeHooksClient#bossBarRenderPost
ForgeIngameGui#post

factory:

BossOverlayGui#render

net.minecraftforge.client.event.RenderGameOverlayEvent.Pre

Callplaces:
direct:

ForgeIngameGui#pre

net.minecraftforge.client.event.RenderGameOverlayEvent.Text

Callplaces:
direct:

ForgeIngameGui#renderHUDText

net.minecraftforge.client.event.RenderHandEvent

Callplaces:
direct:

ForgeHooksClient#renderSpecificFirstPersonHand

factory:

FirstPersonRenderer#renderHandsWithItems
FirstPersonRenderer#renderHandsWithItems

This event is fired on the net.minecraftforge.common.MinecraftForge#EVENT_BUS whenever a hand is rendered in first person. Canceling the event causes the hand to not render.

net.minecraftforge.client.event.RenderItemInFrameEvent

Callplaces:
direct:

ItemFrameRenderer#render

This event is called when an item is rendered in an item frame. You can set canceled to do no further vanilla processing.

net.minecraftforge.client.event.RenderLivingEvent

net.minecraftforge.client.event.RenderLivingEvent.Post

Callplaces:
direct:

LivingRenderer#render

net.minecraftforge.client.event.RenderLivingEvent.Pre

Callplaces:
direct:

LivingRenderer#render

net.minecraftforge.client.event.RenderNameplateEvent

Callplaces:
direct:

EntityRenderer#render

RenderNameplateEvent is fired whenever the entity renderer attempts to render a name plate/tag of an entity.
#nameplateContent contains the content being rendered on the name plate/tag. This can be changed by mods.
#originalContent contains the original content being rendered on the name plate/tag. This cannot be changed by mods.
#entityRenderer contains the entity renderer instance that renders the name plate/tag. This cannot be changed by mods.
#matrixStack contains the matrix stack instance involved in rendering the name plate/tag. This cannot be changed by mods.
#renderTypeBuffer contains the render type buffer instance involved in rendering the name plate/tag. This cannot be changed by mods.
#packedLight contains the sky and block light values used in rendering the name plate/tag.
#partialTicks contains the partial ticks used in rendering the name plate/tag. This cannot be changed by mods.
This event has a result. .
ALLOW will force-render name plate/tag, DEFAULT will ignore the hook and continue using the vanilla check & DENY will prevent name plate/tag from rendering
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.client.event.RenderPlayerEvent

net.minecraftforge.client.event.RenderPlayerEvent.Post

Callplaces:
direct:

PlayerRenderer#render

net.minecraftforge.client.event.RenderPlayerEvent.Pre

Callplaces:
direct:

PlayerRenderer#render

net.minecraftforge.client.event.RenderTooltipEvent

A set of events which are fired at various points during tooltip rendering. Can be used to change the rendering parameters, draw something extra, etc. Do not use this event directly, use one of the subclasses:
RenderTooltipEvent.Pre RenderTooltipEvent.PostBackground RenderTooltipEvent.PostText

net.minecraftforge.client.event.RenderTooltipEvent.Color

Callplaces:
direct:

GuiUtils#drawHoveringText

This event is fired when the colours for the tooltip background are determined.

net.minecraftforge.client.event.RenderTooltipEvent.Post

Events inheriting from this class are fired at different stages during the tooltip rendering. Do not use this event directly, use one of its subclasses:
RenderTooltipEvent.PostBackground RenderTooltipEvent.PostText

net.minecraftforge.client.event.RenderTooltipEvent.PostBackground

Callplaces:
direct:

GuiUtils#drawHoveringText

This event is fired directly after the tooltip background is drawn, but before any text is drawn.

net.minecraftforge.client.event.RenderTooltipEvent.PostText

Callplaces:
direct:

GuiUtils#drawHoveringText

This event is fired directly after the tooltip text is drawn, but before the GL state is reset.

net.minecraftforge.client.event.RenderTooltipEvent.Pre

Callplaces:
direct:

GuiUtils#drawHoveringText

This event is fired before any tooltip calculations are done. It provides setters for all aspects of the tooltip, so the final render can be modified. This event is Cancelable.

net.minecraftforge.client.event.RenderWorldLastEvent

Callplaces:
direct:

ForgeHooksClient#dispatchRenderLast

factory:

GameRenderer#renderLevel

net.minecraftforge.client.event.ScreenshotEvent

Callplaces:
direct:

ForgeHooksClient#onScreenshot

factory:

ScreenShotHelper#_grab

This event is fired before and after a screenshot is taken This event is fired on the net.minecraftforge.common.MinecraftForge#EVENT_BUS This event is Cancelable #screenshotFile contains the file the screenshot will be/was saved to #image contains the NativeImage that will be saved #resultMessage contains the ITextComponent to be returned. If null, the default vanilla message will be used instead

net.minecraftforge.client.event.TextureStitchEvent

net.minecraftforge.client.event.TextureStitchEvent.Post

Callplaces:
direct:

ForgeHooksClient#onTextureStitchedPost

factory:

AtlasTexture#reload

This event is fired once the texture map has loaded all textures and stitched them together. All Icons should have there locations defined by the time this is fired.

net.minecraftforge.client.event.TextureStitchEvent.Pre

Callplaces:
direct:

ForgeHooksClient#onTextureStitchedPre

factory:

AtlasTexture#prepareToStitch

Fired when the TextureMap is told to refresh it's stitched texture. Called before the net.minecraft.client.renderer.texture.TextureAtlasSprite are loaded.

net.minecraftforge.client.event.sound.PlaySoundEvent

Callplaces:
direct:

ForgeHooksClient#playSound

factory:

SoundEngine#play

Raised when the SoundManager tries to play a normal sound. If you return null from this function it will prevent the sound from being played, you can return a different entry if you want to change the sound being played.

net.minecraftforge.client.event.sound.PlaySoundSourceEvent

Callplaces:
direct:

SoundEngine#play

net.minecraftforge.client.event.sound.PlayStreamingSourceEvent

Callplaces:
direct:

SoundEngine#play

net.minecraftforge.client.event.sound.SoundEvent

net.minecraftforge.client.event.sound.SoundEvent.SoundSourceEvent

net.minecraftforge.client.event.sound.SoundLoadEvent

Callplaces:
direct:

SoundEngine#SoundEngine
SoundEngine#reload

Raised by the SoundManager.loadSoundSettings, this would be a good place for adding your custom sounds to the SoundPool.

net.minecraftforge.client.event.sound.SoundSetupEvent

This event is raised by the SoundManager when it does its first setup of the SoundSystemConfig's codecs, use this function to add your own codecs.

net.minecraftforge.event.AddReloadListenerEvent

Callplaces:
direct:

ForgeEventFactory#onResourceReload

factory:

DataPackRegistries#

The main ResourceManager is recreated on each reload, through DataPackRegistries's creation. The event is fired on each reload and lets modders add their own ReloadListeners, for server-side resources. The event is fired on the MinecraftForge#EVENT_BUS

net.minecraftforge.event.AnvilUpdateEvent

Callplaces:
direct:

ForgeHooks#onAnvilChange

factory:

RepairContainer#createResult

AnvilUpdateEvent is fired when the inputs (either input stack, or the name) to an anvil are changed.
It is called from RepairContainer#updateRepairOutput.
If the event is canceled, vanilla behavior will not run, and the output will be set to ItemStack#EMPTY.
If the event is not canceled, but the output is not empty, it will set the output and not run vanilla behavior.
if the output is empty, and the event is not canceled, vanilla behavior will execute.

net.minecraftforge.event.AttachCapabilitiesEvent

Callplaces:
direct:

ForgeEventFactory#gatherCapabilities

factory:

CapabilityProvider#gatherCapabilities

Fired whenever an object with Capabilities support {currently TileEntity/Item/Entity) is created. Allowing for the attachment of arbitrary capability providers. Please note that as this is fired for ALL object creations efficient code is recommended. And if possible use one of the sub-classes to filter your intended objects.

net.minecraftforge.event.CommandEvent

Callplaces:
direct:

Commands#performCommand

CommandEvent is fired after a command is parsed, but before it is executed. This event is fired during the invocation of Commands#handleCommand(CommandSource, String).
#parse contains the instance of ParseResults for the parsed command.
#exception begins null, but can be populated with an exception to be thrown within the command.
This event is Cancelable.
If the event is canceled, the execution of the command does not occur.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.DifficultyChangeEvent

Callplaces:
direct:

ForgeHooks#onDifficultyChange

factory:

ClientWorldInfo#setDifficulty
WorldSettings#withDifficulty

DifficultyChangeEvent is fired when difficulty is changing.
This event is fired via the ForgeHooks#onDifficultyChange(EnumDifficulty, EnumDifficulty).
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.ItemAttributeModifierEvent

Callplaces:
direct:

ForgeHooks#getAttributeModifiers

factory:

ItemStack#getAttributeModifiers

This event is fired when the attributes for an ItemStack are being calculated. Attributes are calculated on the server when equipping and unequipping an item to add and remove attributes respectively, both must be consistent. Attributes are calculated on the client when rendering an item's tooltip to show relevant attributes.
Note that this event is fired regardless of if the stack has NBT overriding attributes or not. If your attribute should be ignored when attributes are overridden, you can check for the presence of the AttributeModifiers tag.
This event is fired on the net.minecraftforge.common.MinecraftForge#EVENT_BUS.

net.minecraftforge.event.LootTableLoadEvent

Callplaces:
direct:

ForgeEventFactory#loadLootTable

factory:

ForgeHooks#loadLootTable

Event fired when a LootTable json is loaded from json. This event is fired whenever resources are loaded, or when the server starts. This event will NOT be fired for LootTables loaded from the world folder, these are considered configurations files and should not be modified by mods. Canceling the event will make it load a empty loot table.

net.minecraftforge.event.RegisterCommandsEvent

Callplaces:
direct:

ForgeEventFactory#onCommandRegister

factory:

Commands#

Commands are rebuilt whenever DataPackRegistries is recreated. You can use this event to register your commands whenever the net.minecraft.command.Commands class in constructed. The event is fired on the MinecraftForge#EVENT_BUS

net.minecraftforge.event.RegistryEvent

RegistryEvent supertype.

net.minecraftforge.event.RegistryEvent.MissingMappings

Callplaces:
direct:

ForgeRegistry#getMissingEvent

net.minecraftforge.event.RegistryEvent.NewRegistry

Callplaces:
direct:

ModLoadingStage#CREATE_REGISTRIES

Register new registries when you receive this event, through the RecipeBuilder

net.minecraftforge.event.RegistryEvent.Register

Callplaces:
direct:

ForgeRegistry#getRegisterEvent

Register your objects for the appropriate registry type when you receive this event. event.getRegistry().register(...) The registries will be visited in alphabetic order of their name, except blocks and items, which will be visited FIRST and SECOND respectively. ObjectHolders will reload between Blocks and Items, and after all registries have been visited.

net.minecraftforge.event.ServerChatEvent

Callplaces:
direct:

ForgeHooks#onServerChatEvent

factory:

ServerPlayNetHandler#handleChat

ServerChatEvent is fired whenever a C01PacketChatMessage is processed.
This event is fired via ForgeHooks#onServerChatEvent(NetHandlerPlayServer, String, ITextComponent), which is executed by the NetHandlerPlayServer#processChatMessage(CPacketChatMessage)
#username contains the username of the player sending the chat message.
#message contains the message being sent.
#player the instance of EntityPlayerMP for the player sending the chat message.
#component contains the instance of ChatComponentTranslation for the sent message.
This event is Cancelable.
If this event is canceled, the chat message is never distributed to all clients.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.TagsUpdatedEvent

Fired on the client when ITagCollectionSupplier has all of its tags synced from the server to the client (just after a client has connected). Fired on the server when ITagCollectionSupplier has read all tags from disk (during a data reload). This event is fired on the MinecraftForge#EVENT_BUS On the client, this event fires on the Client Thread. On the server, this event may be fired on the Server Thread, or an async reloader thread.

net.minecraftforge.event.TagsUpdatedEvent.CustomTagTypes

Callplaces:
direct:

SyncCustomTagTypes#handle
DataPackRegistries#updateGlobals

Fired after any custom tag types have been processed

net.minecraftforge.event.TagsUpdatedEvent.VanillaTagTypes

Callplaces:
direct:

ITagCollectionSupplier#bindToGlobal

Fired after the Vanilla Tag types have been processed

net.minecraftforge.event.TickEvent

net.minecraftforge.event.TickEvent.ClientTickEvent

Callplaces:
direct:

BasicEventHooks#onPreClientTick
BasicEventHooks#onPostClientTick

factory:

Minecraft#tick
Minecraft#tick

net.minecraftforge.event.TickEvent.PlayerTickEvent

Callplaces:
direct:

BasicEventHooks#onPlayerPreTick
BasicEventHooks#onPlayerPostTick

factory:

PlayerEntity#tick
PlayerEntity#tick

net.minecraftforge.event.TickEvent.RenderTickEvent

Callplaces:
direct:

BasicEventHooks#onRenderTickStart
BasicEventHooks#onRenderTickEnd

factory:

Minecraft#runTick
Minecraft#runTick

net.minecraftforge.event.TickEvent.ServerTickEvent

Callplaces:
direct:

BasicEventHooks#onPreServerTick
BasicEventHooks#onPostServerTick

factory:

MinecraftServer#tickServer
MinecraftServer#tickServer

net.minecraftforge.event.TickEvent.WorldTickEvent

Callplaces:
direct:

BasicEventHooks#onPreWorldTick
BasicEventHooks#onPostWorldTick

factory:

MinecraftServer#tickChildren
MinecraftServer#tickChildren

net.minecraftforge.event.brewing.PlayerBrewedPotionEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerBrewedPotion

factory:

PotionSlot#onTake

This event is called when a player picks up a potion from a brewing stand.

net.minecraftforge.event.brewing.PotionBrewEvent

net.minecraftforge.event.brewing.PotionBrewEvent.Post

Callplaces:
direct:

ForgeEventFactory#onPotionBrewed

factory:

ForgeEventFactory#onPotionAttemptBrew
BrewingStandTileEntity#doBrew

PotionBrewEvent.Post is fired when a potion is brewed in the brewing stand.
The event is fired during the BrewingStandTileEntity#brewPotions() method invocation.
#stacks contains the itemstack array from the TileEntityBrewer holding all items in Brewer.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.brewing.PotionBrewEvent.Pre

Callplaces:
direct:

ForgeEventFactory#onPotionAttemptBrew

factory:

BrewingStandTileEntity#doBrew

PotionBrewEvent.Pre is fired before vanilla brewing takes place. All changes made to the event's array will be made to the TileEntity if the event is canceled.
The event is fired during the BrewingStandTileEntity#brewPotions() method invocation.
#stacks contains the itemstack array from the TileEntityBrewer holding all items in Brewer.
This event is Cancelable.
If the event is not canceled, the vanilla brewing will take place instead of modded brewing.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
If this event is canceled, and items have been modified, PotionBrewEvent.Post will automatically be fired.

net.minecraftforge.event.enchanting.EnchantmentLevelSetEvent

Callplaces:
direct:

ForgeEventFactory#onEnchantmentLevelSet

factory:

EnchantmentContainer#slotsChanged

Fired when the enchantment level is set for each of the three potential enchantments in the enchanting table. The #level is set to the vanilla value and can be modified by this event handler. The #enchantRow is used to determine which enchantment level is being set, 1, 2, or 3. The #power is a number from 0-15 and indicates how many bookshelves surround the enchanting table. The #itemStack representing the item being enchanted is also available.

net.minecraftforge.event.entity.EntityAttributeCreationEvent

Callplaces:
direct:

ForgeHooks#modifyAttributes

factory:

GameData#checkForRevertToVanilla

EntityAttributeCreationEvent.
Use this event to register attributes for your own EntityTypes. This event is fired after registration and before common setup.
Fired on the Mod bus IModBusEvent.

net.minecraftforge.event.entity.EntityAttributeModificationEvent

Callplaces:
direct:

ForgeHooks#modifyAttributes

factory:

GameData#checkForRevertToVanilla

EntityAttributeModificationEvent.
Use this event to add attributes to existing entity types. This event is fired after registration and before common setup, and after EntityAttributeCreationEvent
Fired on the Mod bus IModBusEvent.

net.minecraftforge.event.entity.EntityEvent

EntityEvent is fired when an event involving any Entity occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#entity contains the entity that caused this event to occur.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityEvent.CanUpdate

Callplaces:
direct:

ForgeEventFactory#canEntityUpdate

CanUpdate is fired when an Entity is being created.
This event is fired whenever vanilla Minecraft determines that an entity
cannot update in World#updateEntityWithOptionalForce(net.minecraft.entity.Entity, boolean)
CanUpdate#canUpdate contains the boolean value of whether this entity can update.
If the modder decides that this Entity can be updated, they may change canUpdate to true,
and the entity with then be updated.
This event is not Cancelable.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityEvent.EnteringChunk

Callplaces:
direct:

Chunk#addEntity

EnteringChunk is fired when an Entity enters a chunk.
This event is fired whenever vanilla Minecraft determines that an entity
is entering a chunk in Chunk#addEntity(net.minecraft.entity.Entity)
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityEvent.EntityConstructing

Callplaces:
direct:

Entity#Entity

EntityConstructing is fired when an Entity is being created.
This event is fired within the constructor of the Entity.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityEvent.Size

Callplaces:
direct:

ForgeEventFactory#getEntitySizeForge
ForgeEventFactory#getEntitySizeForge

factory:

Entity#
Entity#refreshDimensions

This event is fired whenever the Pose changes, and in a few other hardcoded scenarios.
CAREFUL: This is also fired in the Entity constructor. Therefore the entity(subclass) might not be fully initialized. Check Entity#isAddedToWorld() or !Entity#firstUpdate.
If you change the player's size, you probably want to set the eye height accordingly as well
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityJoinWorldEvent

Callplaces:
direct:

ClientWorld#addEntity
ServerWorld#addPlayer
ServerWorld#addEntity
ServerWorld#loadFromChunk

EntityJoinWorldEvent is fired when an Entity joins the world.
This event is fired whenever an Entity is added to the world in World#loadEntities(Collection), net.minecraft.world.ServerWorld#loadEntities(Collection) World#joinEntityInSurroundings(Entity), and World#spawnEntity(Entity).
Note: This event may be called before the underlying net.minecraft.world.chunk.Chunk is promoted to net.minecraft.world.chunk.ChunkStatus#FULL. You will cause chunk loading deadlocks if you don't delay your world interactions.
#world contains the world in which the entity is to join.
This event is Cancelable.
If this event is canceled, the Entity is not added to the world.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityLeaveWorldEvent

Callplaces:
direct:

ClientWorld#onEntityRemoved
ServerWorld#removeEntityComplete

EntityLeaveWorldEvent is fired when an Entity leaves the world.
This event is fired whenever an Entity is removed from the world in ClientWorld#removeEntity(Entity), ServerWorld#removeEntityComplete(Entity,Boolean).
#world contains the world from which the entity is removed.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS

net.minecraftforge.event.entity.EntityMobGriefingEvent

Callplaces:
direct:

ForgeEventFactory#getMobGriefingEvent

factory:

ForgeHooks#canEntityDestroy
CampfireBlock#onProjectileHit
CropsBlock#entityInside
TurtleEggBlock#canDestroyEgg
FarmTask#checkExtraStartConditions
EatGrassGoal#tick
EatGrassGoal#tick
WitherEntity#customServerAiStep
WitherEntity#customServerAiStep
Entity#canTrample
LivingEntity#createWitherRose
MobEntity#aiStep
CreeperEntity#explodeCreeper
PlaceBlockGoal#canUse
TakeBlockGoal#canUse
WololoSpellGoal#canUse
RavagerEntity#aiStep
HideInStoneGoal#canUse
SummonSilverfishGoal#tick
EatBerriesGoal#onReachedTarget
RaidFarmGoal#canUse
SnowGolemEntity#aiStep
FireballEntity#onHit
SmallFireballEntity#onHitBlock
WitherSkullEntity#onHit

EntityMobGriefingEvent is fired when mob griefing is about to occur and allows an event listener to specify whether it should or not.
This event is fired when ever the mobGriefing game rule is checked.
This event has a result: Result#ALLOW means this instance of mob griefing is allowed. Result#DEFAULT means the mobGriefing game rule is used to determine the behaviour. Result#DENY means this instance of mob griefing is not allowed.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityMountEvent

Callplaces:
direct:

ForgeEventFactory#canMountEntity

factory:

Entity#startRiding
Entity#removeVehicle

net.minecraftforge.event.entity.EntityStruckByLightningEvent

Callplaces:
direct:

ForgeEventFactory#onEntityStruckByLightning

factory:

LightningBoltEntity#tick

EntityStruckByLightningEvent is fired when an Entity is about to be struck by lightening.
This event is fired whenever an EntityLightningBolt is updated to strike an Entity in EntityLightningBolt#onUpdate() via ForgeEventFactory#onEntityStruckByLightning(Entity, EntityLightningBolt).
#lightning contains the instance of EntityLightningBolt attempting to strike an entity.
This event is Cancelable.
If this event is canceled, the Entity is not struck by the lightening.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.EntityTravelToDimensionEvent

Callplaces:
direct:

ForgeHooks#onTravelToDimension

factory:

ServerPlayerEntity#changeDimension
ServerPlayerEntity#teleportTo

EntityTravelToDimensionEvent is fired before an Entity travels to a dimension.
#dimension contains the id of the dimension the entity is traveling to.
This event is Cancelable.
If this event is canceled, the Entity does not travel to the dimension.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.PlaySoundAtEntityEvent

Callplaces:
direct:

ForgeEventFactory#onPlaySoundAtEntity

factory:

ClientPlayerEntity#playSound
ClientWorld#playSound
ClientWorld#playSound
ServerWorld#playSound
ServerWorld#playSound

PlaySoundAtEntityEvent is fired a sound is to be played at an Entity
This event is fired whenever a sound is set to be played at an Entity such as in ClientPlayerEntity#playSound(SoundEvent, float, float) and World#playSound(PlayerEntity, double, double, double, SoundEvent, SoundCategory, float, float).
#name contains the name of the sound to be played at the Entity.
#volume contains the volume at which the sound is to be played originally.
#pitch contains the pitch at which the sound is to be played originally.
#newVolume contains the volume at which the sound is actually played.
#newPitch contains the pitch at which the sound is actually played.
Changing the #name field will cause the sound of this name to be played instead of the originally intended sound.
This event is Cancelable.
If this event is canceled, the sound is not played.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.ProjectileImpactEvent

Callplaces:
direct:

ForgeEventFactory#onProjectileImpact

factory:

AbstractArrowEntity#tick
DamagingProjectileEntity#tick
FireworkRocketEntity#onHit
LlamaSpitEntity#tick
ShulkerBulletEntity#tick
ThrowableEntity#tick

This event is fired when a projectile entity impacts something. This event is fired via ForgeEventFactory#onProjectileImpact(Entity, RayTraceResult) Subclasses of this event exist for more specific types of projectile. This event is fired for all vanilla projectiles by Forge, custom projectiles should fire this event and check the result in a similar fashion. This event is cancelable. When canceled, the impact will not be processed. Killing or other handling of the entity after event cancellation is up to the modder. This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.ProjectileImpactEvent.Arrow

Callplaces:
direct:

ForgeEventFactory#onProjectileImpact

factory:

AbstractArrowEntity#tick
DamagingProjectileEntity#tick
FireworkRocketEntity#onHit
LlamaSpitEntity#tick
ShulkerBulletEntity#tick
ThrowableEntity#tick

net.minecraftforge.event.entity.ProjectileImpactEvent.Fireball

Callplaces:
direct:

ForgeEventFactory#onProjectileImpact

factory:

AbstractArrowEntity#tick
DamagingProjectileEntity#tick
FireworkRocketEntity#onHit
LlamaSpitEntity#tick
ShulkerBulletEntity#tick
ThrowableEntity#tick

net.minecraftforge.event.entity.ProjectileImpactEvent.FireworkRocket

Callplaces:
direct:

ForgeEventFactory#onProjectileImpact

factory:

AbstractArrowEntity#tick
DamagingProjectileEntity#tick
FireworkRocketEntity#onHit
LlamaSpitEntity#tick
ShulkerBulletEntity#tick
ThrowableEntity#tick

Event is cancellable, causes firework to ignore the current hit and continue on its journey.

net.minecraftforge.event.entity.ProjectileImpactEvent.Throwable

Callplaces:
direct:

ForgeEventFactory#onProjectileImpact

factory:

AbstractArrowEntity#tick
DamagingProjectileEntity#tick
FireworkRocketEntity#onHit
LlamaSpitEntity#tick
ShulkerBulletEntity#tick
ThrowableEntity#tick

net.minecraftforge.event.entity.item.ItemEvent

Base class for all EntityItem events. Contains a reference to the EntityItem of interest. For most EntityItem events, there's little to no additional useful data from the firing method that isn't already contained within the EntityItem instance.

net.minecraftforge.event.entity.item.ItemExpireEvent

Callplaces:
direct:

ForgeEventFactory#onItemExpire

factory:

ItemEntity#tick

Event that is fired when an EntityItem's age has reached its maximum lifespan. Canceling this event will prevent the EntityItem from being flagged as dead, thus staying it's removal from the world. If canceled it will add more time to the entities life equal to extraLife.

net.minecraftforge.event.entity.item.ItemTossEvent

Callplaces:
direct:

ForgeHooks#onPlayerTossEvent

factory:

PlayerEntity#drop
PlayerEntity#drop

Event that is fired whenever a player tosses (Q) an item or drag-n-drops a stack of items outside the inventory GUI screens. Canceling the event will stop the items from entering the world, but will not prevent them being removed from the inventory - and thus removed from the system.

net.minecraftforge.event.entity.living.AnimalTameEvent

Callplaces:
direct:

ForgeEventFactory#onAnimalTame

factory:

RunAroundLikeCrazyGoal#tick
CatEntity#mobInteract
OcelotEntity#mobInteract
ParrotEntity#mobInteract
WolfEntity#mobInteract

This event is fired when an EntityAnimal is tamed.
It is fired via ForgeEventFactory#onAnimalTame(EntityAnimal, EntityPlayer). Forge fires this event for applicable vanilla animals, mods need to fire it themselves. This event is Cancelable. If canceled, taming the animal will fail. This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.BabyEntitySpawnEvent

Callplaces:
direct:

AnimalEntity#spawnChildFromBreeding
MateGoal#breed

BabyEntitySpawnEvent is fired just before a baby entity is about to be spawned.
Parents will have disengaged their relationship. @Cancelable
It is possible to change the child completely by using #setChild(EntityAgeable)
This event is fired from EntityAIMate#spawnBaby() and EntityAIVillagerMate#giveBirth()
#parentA contains the initiating parent entity.
#parentB contains the secondary parent entity.
#causedByPlayer contains the player responsible for the breading (if applicable).
#child contains the child that will be spawned.
This event is Cancelable.
If this event is canceled, the child Entity is not added to the world, and the parents
will no longer attempt to mate.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.EnderTeleportEvent

Callplaces:
direct:

ForgeEventFactory#onOldEnderTeleport

factory:

ForgeEventFactory#onEnderTeleport
ForgeEventFactory#onEnderPearlLand

Event for when an Enderman/Shulker teleports or an ender pearl is used. Can be used to either modify the target position, or cancel the teleport outright.

net.minecraftforge.event.entity.living.EntityTeleportEvent

EntityTeleportEvent is fired when an event involving any teleportation of an Entity occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#getTarget() contains the target destination.
#getPrev() contains the entity's current position.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.EntityTeleportEvent.ChorusFruit

Callplaces:
direct:

ForgeEventFactory#onChorusFruitTeleport

factory:

ChorusFruitItem#finishUsingItem

EntityTeleportEvent.ChorusFruit is fired before a LivingEntity is teleported due to consuming Chorus Fruit.
This event is Cancelable.
If the event is not canceled, the entity will be teleported.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
This event is only fired on the net.minecraftforge.fml.LogicalSide#SERVER side.
If this event is canceled, the entity will not be teleported.

net.minecraftforge.event.entity.living.EntityTeleportEvent.EnderEntity

Callplaces:
direct:

ForgeEventFactory#onEnderTeleport

factory:

EndermanEntity#teleport
ShulkerEntity#teleportSomewhere

EntityTeleportEvent.EnderEntity is fired before an Enderman or Shulker randomly teleports.
This event is Cancelable.
If the event is not canceled, the entity will be teleported.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
This event is only fired on the net.minecraftforge.fml.LogicalSide#SERVER side.
If this event is canceled, the entity will not be teleported.

net.minecraftforge.event.entity.living.EntityTeleportEvent.EnderPearl

Callplaces:
direct:

ForgeEventFactory#onEnderPearlLand

factory:

EnderPearlEntity#onHit

EntityTeleportEvent.EnderPearl is fired before an Entity is teleported from an EnderPearlEntity.
This event is Cancelable.
If the event is not canceled, the entity will be teleported.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
This event is only fired on the net.minecraftforge.fml.LogicalSide#SERVER side.
If this event is canceled, the entity will not be teleported.

net.minecraftforge.event.entity.living.EntityTeleportEvent.SpreadPlayersCommand

Callplaces:
direct:

ForgeEventFactory#onEntityTeleportSpreadPlayersCommand

factory:

SpreadPlayersCommand#setPlayerPositions

EntityTeleportEvent.SpreadPlayersCommand is fired before a living entity is teleported from use of net.minecraft.command.impl.SpreadPlayersCommand.
This event is Cancelable.
If the event is not canceled, the entity will be teleported.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
This event is only fired on the net.minecraftforge.fml.LogicalSide#SERVER side.
If this event is canceled, the entity will not be teleported.

net.minecraftforge.event.entity.living.EntityTeleportEvent.TeleportCommand

Callplaces:
direct:

ForgeEventFactory#onEntityTeleportCommand

factory:

TeleportCommand#performTeleport

EntityTeleportEvent.TeleportCommand is fired before a living entity is teleported from use of net.minecraft.command.impl.TeleportCommand.
This event is Cancelable.
If the event is not canceled, the entity will be teleported.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.
This event is only fired on the net.minecraftforge.fml.LogicalSide#SERVER side.
If this event is canceled, the entity will not be teleported.

net.minecraftforge.event.entity.living.LivingAttackEvent

Callplaces:
direct:

ForgeHooks#onLivingAttack
ForgeHooks#onPlayerAttack

factory:

ClientPlayerEntity#hurt
RemoteClientPlayerEntity#hurt
LivingEntity#hurt
PlayerEntity#hurt

LivingAttackEvent is fired when a living Entity is attacked.
This event is fired whenever an Entity is attacked in EntityLivingBase#attackEntityFrom(DamageSource, float) and EntityPlayer#attackEntityFrom(DamageSource, float).
This event is fired via the ForgeHooks#onLivingAttack(EntityLivingBase, DamageSource, float).
#source contains the DamageSource of the attack.
#amount contains the amount of damage dealt to the entity.
This event is Cancelable.
If this event is canceled, the Entity does not take attack damage.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingConversionEvent

net.minecraftforge.event.entity.living.LivingConversionEvent.Post

Callplaces:
direct:

ForgeEventFactory#onLivingConvert

factory:

VillagerEntity#thunderHit
HoglinEntity#finishConversion
AbstractPiglinEntity#finishConversion
ZombieEntity#convertToZombieType
ZombieEntity#killed
ZombieVillagerEntity#finishConversion
PigEntity#thunderHit

LivingConversionEvent.Post is triggered when an entity is replacing itself with another entity. The old living entity is likely to be removed right after this event.

net.minecraftforge.event.entity.living.LivingConversionEvent.Pre

Callplaces:
direct:

ForgeEventFactory#canLivingConvert

factory:

VillagerEntity#thunderHit
HoglinEntity#customServerAiStep
AbstractPiglinEntity#customServerAiStep
ZombieEntity#tick
ZombieEntity#killed
ZombieVillagerEntity#tick
PigEntity#thunderHit

LivingConversionEvent.Pre is triggered when an entity is trying to replace itself with another entity This event may trigger every tick even if it was cancelled last tick for entities like Zombies and Hoglins. To prevent it, the conversion timer needs to be changed or reset This event is Cancelable If cancelled, the replacement will not occur

net.minecraftforge.event.entity.living.LivingDamageEvent

Callplaces:
direct:

ForgeHooks#onLivingDamage

factory:

LivingEntity#actuallyHurt
PlayerEntity#actuallyHurt

LivingDamageEvent is fired just before damage is applied to entity.
At this point armor, potion and absorption modifiers have already been applied to damage - this is FINAL value.
Also note that appropriate resources (like armor durability and absorption extra hearths) have already been consumed.
This event is fired whenever an Entity is damaged in EntityLivingBase#damageEntity(DamageSource, float) and EntityPlayer#damageEntity(DamageSource, float).
This event is fired via the ForgeHooks#onLivingDamage(EntityLivingBase, DamageSource, float).
#source contains the DamageSource that caused this Entity to be hurt.
#amount contains the final amount of damage that will be dealt to entity.
This event is Cancelable.
If this event is canceled, the Entity is not hurt. Used resources WILL NOT be restored.
This event does not have a result.

net.minecraftforge.event.entity.living.LivingDeathEvent

Callplaces:
direct:

ForgeHooks#onLivingDeath

factory:

LivingEntity#die
PlayerEntity#die
ServerPlayerEntity#die

LivingDeathEvent is fired when an Entity dies.
This event is fired whenever an Entity dies in EntityLivingBase#onDeath(DamageSource), EntityPlayer#onDeath(DamageSource), and EntityPlayerMP#onDeath(DamageSource).
This event is fired via the ForgeHooks#onLivingDeath(EntityLivingBase, DamageSource).
#source contains the DamageSource that caused the entity to die.
This event is Cancelable.
If this event is canceled, the Entity does not die.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingDestroyBlockEvent

Callplaces:
direct:

ForgeEventFactory#onEntityDestroyBlock

factory:

ForgeHooks#canEntityDestroy
WitherEntity#customServerAiStep

Fired when the ender dragon or wither attempts to destroy a block and when ever a zombie attempts to break a door. Basically a event version of Block#canEntityDestroy(IBlockState, IBlockAccess, BlockPos, Entity)
This event is Cancelable.
If this event is canceled, the block will not be destroyed.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingDropsEvent

Callplaces:
direct:

ForgeHooks#onLivingDrops

factory:

LivingEntity#dropAllDeathLoot

LivingDropsEvent is fired when an Entity's death causes dropped items to appear.
This event is fired whenever an Entity dies and drops items in EntityLivingBase#onDeath(DamageSource).
This event is fired via the ForgeHooks#onLivingDrops(EntityLivingBase, DamageSource, ArrayList, int, boolean).
#source contains the DamageSource that caused the drop to occur.
#drops contains the ArrayList of EntityItems that will be dropped.
#lootingLevel contains the amount of loot that will be dropped.
#recentlyHit determines whether the Entity doing the drop has recently been damaged.
This event is Cancelable.
If this event is canceled, the Entity does not drop anything.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingEntityUseItemEvent

net.minecraftforge.event.entity.living.LivingEntityUseItemEvent.Finish

Callplaces:
direct:

ForgeEventFactory#onItemUseFinish

factory:

LivingEntity#completeUsingItem

Fired after an item has fully finished being used. The item has been notified that it was used, and the item/result stacks reflect after that state. This means that when this is fired for a Potion, the potion effect has already been applied. LivingEntityUseItemEvent#item is a copy of the item BEFORE it was used. If you wish to cancel those effects, you should cancel one of the above events. The result item stack is the stack that is placed in the player's inventory in replacement of the stack that is currently being used.

net.minecraftforge.event.entity.living.LivingEntityUseItemEvent.Start

Callplaces:
direct:

ForgeEventFactory#onItemUseStart

factory:

LivingEntity#startUsingItem

Fired when a player starts 'using' an item, typically when they hold right mouse. Examples: Drawing a bow Eating Food Drinking Potions/Milk Guarding with a sword Cancel the event, or set the duration or <= 0 to prevent it from processing.

net.minecraftforge.event.entity.living.LivingEntityUseItemEvent.Stop

Callplaces:
direct:

ForgeEventFactory#onUseItemStop

factory:

LivingEntity#releaseUsingItem

Fired when a player stops using an item without the use duration timing out. Example: Stop eating 1/2 way through Stop defending with sword Stop drawing bow. This case would fire the arrow Duration on this event is how long the item had left in it's count down before 'finishing' Canceling this event will prevent the Item from being notified that it has stopped being used, The only vanilla item this would effect are bows, and it would cause them NOT to fire there arrow.

net.minecraftforge.event.entity.living.LivingEntityUseItemEvent.Tick

Callplaces:
direct:

ForgeEventFactory#onItemUseTick

factory:

LivingEntity#updatingUsingItem

Fired every tick that a player is 'using' an item, see Start for info. Cancel the event, or set the duration or <= 0 to cause the player to stop using the item.

net.minecraftforge.event.entity.living.LivingEquipmentChangeEvent

Callplaces:
direct:

LivingEntity#collectEquipmentChanges

LivingEquipmentChangeEvent is fired when the Equipment of a Entity changes.
This event is fired whenever changes in Equipment are detected in EntityLivingBase#onUpdate().
This also includes entities joining the World, as well as being cloned.
This event is fired on server-side only.
#slot contains the affected EntityEquipmentSlot.
#from contains the ItemStack that was equipped previously.
#to contains the ItemStack that is equipped now.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingEvent

LivingEvent is fired whenever an event involving Living entities occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingEvent.LivingJumpEvent

Callplaces:
direct:

ForgeHooks#onLivingJump

factory:

LivingEntity#jumpFromGround
MagmaCubeEntity#jumpFromGround
AbstractHorseEntity#travel

LivingJumpEvent is fired when an Entity jumps.
This event is fired whenever an Entity jumps in EntityLivingBase#jump(), EntityMagmaCube#jump(), and EntityHorse#jump().
This event is fired via the ForgeHooks#onLivingJump(EntityLivingBase).
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent

Callplaces:
direct:

ForgeHooks#onLivingUpdate

factory:

LivingEntity#tick

LivingUpdateEvent is fired when an Entity is updated.
This event is fired whenever an Entity is updated in EntityLivingBase#onUpdate().
This event is fired via the ForgeHooks#onLivingUpdate(EntityLivingBase).
This event is Cancelable.
If this event is canceled, the Entity does not update.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingEvent.LivingVisibilityEvent

Callplaces:
direct:

ForgeHooks#getEntityVisibilityMultiplier

factory:

LivingEntity#getVisibilityPercent

net.minecraftforge.event.entity.living.LivingExperienceDropEvent

Callplaces:
direct:

ForgeEventFactory#getExperienceDrop

factory:

LivingEntity#dropExperience

Event for when an entity drops experience on its death, can be used to change the amount of experience points dropped or completely prevent dropping of experience by canceling the event.

net.minecraftforge.event.entity.living.LivingFallEvent

Callplaces:
direct:

ForgeHooks#onLivingFall

factory:

LivingEntity#causeFallDamage

LivingFallEvent is fired when an Entity is set to be falling.
This event is fired whenever an Entity is set to fall in EntityLivingBase#fall(float, float).
This event is fired via the ForgeHooks#onLivingFall(EntityLivingBase, float, float).
#distance contains the distance the Entity is to fall. If this event is canceled, this value is set to 0.0F.
This event is Cancelable.
If this event is canceled, the Entity does not fall.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingHealEvent

Callplaces:
direct:

ForgeEventFactory#onLivingHeal

factory:

LivingEntity#heal

LivingHealEvent is fired when an Entity is set to be healed.
This event is fired whenever an Entity is healed in EntityLivingBase#heal(float)
This event is fired via the ForgeEventFactory#onLivingHeal(EntityLivingBase, float).
#amount contains the amount of healing done to the Entity that was healed.
This event is Cancelable.
If this event is canceled, the Entity is not healed.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingHurtEvent

Callplaces:
direct:

ForgeHooks#onLivingHurt

factory:

LivingEntity#actuallyHurt
PlayerEntity#actuallyHurt

LivingHurtEvent is fired when an Entity is set to be hurt.
This event is fired whenever an Entity is hurt in EntityLivingBase#damageEntity(DamageSource, float) and EntityPlayer#damageEntity(DamageSource, float).
This event is fired via the ForgeHooks#onLivingHurt(EntityLivingBase, DamageSource, float).
#source contains the DamageSource that caused this Entity to be hurt.
#amount contains the amount of damage dealt to the Entity that was hurt.
This event is Cancelable.
If this event is canceled, the Entity is not hurt.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingKnockBackEvent

Callplaces:
direct:

ForgeHooks#onLivingKnockBack

factory:

LivingEntity#knockback

LivingKnockBackEvent is fired when a living entity is about to be knocked back.
This event is fired whenever an Entity is knocked back in EntityLivingBase#attackEntityFrom(DamageSource, float), EntityLivingBase#blockWithShield(EntityLivingBase), EntityMob#attackEntityAsMob(Entity) and EntityPlayer#attackTargetEntityWithCurrentItem(Entity)
This event is fired via ForgeHooks#onLivingKnockBack(EntityLivingBase, Entity, float, double, double).
attacker contains the Entity that caused the knock back.
#strength contains the strength of the knock back.
#ratioX contains the x ratio of the knock back.
#ratioZ contains the z ratio of the knock back.
This event is Cancelable.
If this event is canceled, the entity is not knocked back.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingPackSizeEvent

Callplaces:
direct:

ForgeEventFactory#getMaxSpawnPackSize

factory:

WorldEntitySpawner#spawnCategoryForPosition

net.minecraftforge.event.entity.living.LivingSetAttackTargetEvent

Callplaces:
direct:

ForgeHooks#onLivingSetAttackTarget

factory:

MobEntity#setTarget

LivingSetAttackTargetEvent is fired when an Entity sets a target to attack.
This event is fired whenever an Entity sets a target to attack in EntityLiving#setAttackTarget(EntityLivingBase) and EntityLivingBase#setRevengeTarget(EntityLivingBase).
This event is fired via the ForgeHooks#onLivingSetAttackTarget(EntityLivingBase, EntityLivingBase).
#target contains the newly targeted Entity.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingSpawnEvent

LivingSpawnEvent is fired for any events associated with Living Entities spawn status.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#world contains the world in which this living Entity is being spawned.
#x contains the x-coordinate this entity is being spawned at.
#y contains the y-coordinate this entity is being spawned at.
#z contains the z-coordinate this entity is being spawned at.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LivingSpawnEvent.AllowDespawn

Callplaces:
direct:

ForgeEventFactory#canEntityDespawn

factory:

MobEntity#checkDespawn

Fired each tick for despawnable mobs to allow control over despawning. Result#DEFAULT will pass the mob on to vanilla despawn mechanics. Result#ALLOW will force the mob to despawn. Result#DENY will force the mob to remain. This is fired every tick for every despawnable entity. Be efficient in your handlers. Note: this is not fired if the mob is definitely going to otherwise despawn. It is fired to check if the mob can be allowed to despawn. See EntityLiving#despawnEntity

net.minecraftforge.event.entity.living.LivingSpawnEvent.CheckSpawn

Callplaces:
direct:

ForgeEventFactory#canEntitySpawn

factory:

ForgeHooks#canEntitySpawn
ForgeEventFactory#canEntitySpawnSpawner

Fires before mob spawn events. Result is significant: DEFAULT: use vanilla spawn rules ALLOW: allow the spawn DENY: deny the spawn

net.minecraftforge.event.entity.living.LivingSpawnEvent.SpecialSpawn

Callplaces:
direct:

ForgeEventFactory#doSpecialSpawn

factory:

EntityType#spawn
AbstractSpawner#tick
WorldEntitySpawner#spawnCategoryForPosition

SpecialSpawn is fired when an Entity is to be spawned.
This allows you to do special inializers in the new entity.
This event is fired via the ForgeEventFactory#doSpecialSpawn(EntityLiving, World, float, float, float).
This event is Cancelable.
If this event is canceled, the Entity is not spawned.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.LootingLevelEvent

Callplaces:
direct:

ForgeHooks#getLootingLevel

factory:

LivingEntity#dropAllDeathLoot
LootContext#getLootingModifier

net.minecraftforge.event.entity.living.PotionColorCalculationEvent

Callplaces:
direct:

LivingEntity#updateInvisibilityStatus

Fires after Potion Color Calculation. this event is not Cancelable This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.PotionEvent

This Event and its subevents gets fired from EntityLivingBase on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.PotionEvent.PotionAddedEvent

Callplaces:
direct:

LivingEntity#addEffect

This Event is fired when a new Potion is added to the Entity. This is also fired if the Entity already has this effect but with different duration/level. This Event is not Cancelable This Event does not have a Result.

net.minecraftforge.event.entity.living.PotionEvent.PotionApplicableEvent

Callplaces:
direct:

LivingEntity#canBeAffected
SpiderEntity#canBeAffected

This Event is fired to check if a Potion can get applied to an Entity. This Event is not Cancelable This Event has a result . ALLOW will apply this potion effect. DENY will not apply this potion effect. DEFAULT will run vanilla logic to determine if this potion isApplicable.

net.minecraftforge.event.entity.living.PotionEvent.PotionExpiryEvent

Callplaces:
direct:

LivingEntity#tickEffects

This Event is fired when a Potion effect expires on an Entity. This Event is not Cancelable This Event does not have a Result.

net.minecraftforge.event.entity.living.PotionEvent.PotionRemoveEvent

Callplaces:
direct:

LivingEntity#removeAllEffects
LivingEntity#removeEffect
LivingEntity#curePotionEffects

This Event is fired when a Potion is about to get removed from an Entity. This Event is Cancelable. This Event does not have a result.

net.minecraftforge.event.entity.living.ZombieEvent

ZombieEvent is fired whenever a zombie is spawned for aid. If a method utilizes this Event as its parameter, the method will receive every child event of this class. All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.living.ZombieEvent.SummonAidEvent

Callplaces:
direct:

ForgeEventFactory#fireZombieSummonAid

factory:

ZombieEntity#hurt

SummonAidEvent is fired when a Zombie Entity is summoned. This event is fired whenever a Zombie Entity is summoned in EntityZombie#attackEntityFrom(DamageSource, float). This event is fired via the ForgeEventFactory#fireZombieSummonAid(EntityZombie, World, int, int, int, EntityLivingBase, double). #customSummonedAid remains null, but can be populated with a custom EntityZombie which will be spawned. #world contains the world that this summoning is occurring in. #x contains the x-coordinate at which this summoning event is occurring. #y contains the y-coordinate at which this summoning event is occurring. #z contains the z-coordinate at which this summoning event is occurring. #attacker contains the living Entity that attacked and caused this event to fire. #summonChance contains the likelihood that a Zombie would successfully be summoned. This event is not Cancelable. This event has a result. Result#ALLOW Zombie is summoned. Result#DENY Zombie is not summoned. This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.AdvancementEvent

Callplaces:
direct:

ForgeHooks#onAdvancement

factory:

PlayerAdvancements#award

This event is fired when a player gets an advancement.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.AnvilRepairEvent

Callplaces:
direct:

ForgeHooks#onAnvilRepair

factory:

RepairContainer#onTake

Fired when the player removes a "repaired" item from the Anvil's Output slot. breakChance specifies as a percentage the chance that the anvil will be "damaged" when used. ItemStacks are the inputs/output from the anvil. They cannot be edited.

net.minecraftforge.event.entity.player.ArrowLooseEvent

Callplaces:
direct:

ForgeEventFactory#onArrowLoose

factory:

BowItem#releaseUsing

ArrowLooseEvent is fired when a player stops using a bow.
This event is fired whenever a player stops using a bow in ItemBow#onPlayerStoppedUsing(ItemStack, World, EntityLivingBase, int).
#bow contains the ItemBow ItemStack that was used in this event.
#charge contains the value for how much the player had charged before stopping the shot.
This event is Cancelable.
If this event is canceled, the player does not stop using the bow.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.ArrowNockEvent

Callplaces:
direct:

ForgeEventFactory#onArrowNock

factory:

BowItem#use

ArrowNockEvent is fired when a player begins using a bow.
This event is fired whenever a player begins using a bow in ItemBow#onItemRightClick(World, EntityPlayer, EnumHand).
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.AttackEntityEvent

Callplaces:
direct:

ForgeHooks#onPlayerAttackTarget

factory:

PlayerEntity#attack

AttackEntityEvent is fired when a player attacks an Entity.
This event is fired whenever a player attacks an Entity in EntityPlayer#attackTargetEntityWithCurrentItem(Entity).
#target contains the Entity that was damaged by the player.
This event is Cancelable.
If this event is canceled, the player does not attack the Entity.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.BonemealEvent

Callplaces:
direct:

ForgeEventFactory#onApplyBonemeal

factory:

BoneMealItem#applyBonemeal

This event is called when a player attempts to use Bonemeal on a block. It can be canceled to completely prevent any further processing. You can also set the result to ALLOW to mark the event as processed and use up a bonemeal from the stack but do no further processing. setResult(ALLOW) is the same as the old setHandled()

net.minecraftforge.event.entity.player.CriticalHitEvent

Callplaces:
direct:

ForgeHooks#getCriticalHit

factory:

PlayerEntity#attack

This event is fired whenever a player attacks an Entity in EntityPlayer#attackTargetEntityWithCurrentItem(Entity).
This event is not Cancelable.
This event has a result.
DEFAULT: means the vanilla logic will determine if this a critical hit.
DENY: it will not be a critical hit but the player still will attack
ALLOW: this attack is forced to be critical
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.EntityItemPickupEvent

Callplaces:
direct:

ForgeEventFactory#onItemPickup

factory:

ItemEntity#playerTouch

This event is called when a player collides with a EntityItem on the ground. The event can be canceled, and no further processing will be done. You can set the result of this event to ALLOW which will trigger the processing of achievements, FML's event, play the sound, and kill the entity if all the items are picked up. setResult(ALLOW) is the same as the old setHandled()

net.minecraftforge.event.entity.player.FillBucketEvent

Callplaces:
direct:

ForgeEventFactory#onBucketUse

factory:

BucketItem#use

This event is fired when a player attempts to use a Empty bucket, it can be canceled to completely prevent any further processing. If you set the result to 'ALLOW', it means that you have processed the event and wants the basic functionality of adding the new ItemStack to your inventory and reducing the stack size to process. setResult(ALLOW) is the same as the old setHandled();

net.minecraftforge.event.entity.player.ItemFishedEvent

Callplaces:
direct:

FishingBobberEntity#retrieve

This event is called when a player fishes an item. This event is Cancelable Canceling the event will cause the player to receive no items at all. The hook will still take the damage specified

net.minecraftforge.event.entity.player.ItemTooltipEvent

Callplaces:
direct:

ForgeEventFactory#onItemTooltip

factory:

ItemStack#getTooltipLines

net.minecraftforge.event.entity.player.PlayerContainerEvent

net.minecraftforge.event.entity.player.PlayerContainerEvent.Close

Callplaces:
direct:

ServerPlayerEntity#doCloseContainer

net.minecraftforge.event.entity.player.PlayerContainerEvent.Open

Callplaces:
direct:

NetworkHooks#openGui
ServerPlayerEntity#openMenu
ServerPlayerEntity#openHorseInventory

net.minecraftforge.event.entity.player.PlayerDestroyItemEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerDestroyItem

factory:

ForgeHooks#onPlaceItemIntoWorld
ForgeHooks#getContainerItem
PlayerController#useItem
LivingEntity#releaseUsingItem
PlayerEntity#hurtCurrentlyUsedShield
PlayerEntity#interactOn
PlayerEntity#interactOn
PlayerEntity#attack
PlayerInteractionManager#destroyBlock

PlayerDestroyItemEvent is fired when a player destroys an item.
This event is fired whenever a player destroys an item in PlayerController#onPlayerDestroyBlock(BlockPos), PlayerController#processRightClick(PlayerEntity, World, Hand), PlayerController#processRightClickBlock(ClientPlayerEntity, ClientWorld, BlockPos, Direction, Vec3d, Hand), PlayerEntity#attackTargetEntityWithCurrentItem(Entity), PlayerEntity#damageShield(float), PlayerEntity#interactOn(Entity, Hand), ForgeHooks#getContainerItem(ItemStack), PlayerInteractionManager#processRightClick(PlayerEntity, World, ItemStack, Hand), PlayerInteractionManager#processRightClickBlock(PlayerEntity, World, ItemStack, Hand, BlockPos, Direction, float, float, float) and PlayerInteractionManager#tryHarvestBlock(BlockPos).
#original contains the original ItemStack before the item was destroyed.
(@link #hand) contains the hand that the current item was held in.
This event is not Cancelable.
This event does not have a result.
This event is fired from ForgeEventFactory#onPlayerDestroyItem(PlayerEntity, ItemStack, Hand).
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent

PlayerEvent is fired whenever an event involving Living entities occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent.BreakSpeed

Callplaces:
direct:

ForgeEventFactory#getBreakSpeed

factory:

PlayerEntity#getDigSpeed

BreakSpeed is fired when a player attempts to harvest a block.
This event is fired whenever a player attempts to harvest a block in EntityPlayer#canHarvestBlock(IBlockState).
This event is fired via the ForgeEventFactory#getBreakSpeed(EntityPlayer, IBlockState, float, BlockPos).
#state contains the block being broken.
#originalSpeed contains the original speed at which the player broke the block.
#newSpeed contains the newSpeed at which the player will break the block.
#pos contains the coordinates at which this event is occurring. Y value -1 means location is unknown.
This event is Cancelable.
If it is canceled, the player is unable to break the block.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent.Clone

Callplaces:
direct:

ForgeEventFactory#onPlayerClone

factory:

ServerPlayerEntity#restoreFrom

Fired when the EntityPlayer is cloned, typically caused by the network sending a RESPAWN_PLAYER event. Either caused by death, or by traveling from the End to the overworld.

net.minecraftforge.event.entity.player.PlayerEvent.HarvestCheck

Callplaces:
direct:

ForgeEventFactory#doPlayerHarvestCheck

factory:

ForgeHooks#canHarvestBlock
ForgeHooks#canHarvestBlock
PlayerEntity#hasCorrectToolForDrops

HarvestCheck is fired when a player attempts to harvest a block.
This event is fired whenever a player attempts to harvest a block in EntityPlayer#canHarvestBlock(IBlockState).
This event is fired via the ForgeEventFactory#doPlayerHarvestCheck(EntityPlayer, IBlockState, boolean).
#state contains the IBlockState that is being checked for harvesting.
#success contains the boolean value for whether the Block will be successfully harvested.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent.ItemCraftedEvent

Callplaces:
direct:

BasicEventHooks#firePlayerCraftingEvent

factory:

CraftingResultSlot#checkTakeAchievements

net.minecraftforge.event.entity.player.PlayerEvent.ItemPickupEvent

Callplaces:
direct:

BasicEventHooks#firePlayerItemPickupEvent

factory:

ItemEntity#playerTouch

net.minecraftforge.event.entity.player.PlayerEvent.ItemSmeltedEvent

Callplaces:
direct:

BasicEventHooks#firePlayerSmeltedEvent

factory:

FurnaceResultSlot#checkTakeAchievements

net.minecraftforge.event.entity.player.PlayerEvent.LoadFromFile

Callplaces:
direct:

ForgeEventFactory#firePlayerLoadingEvent
ForgeEventFactory#firePlayerLoadingEvent

factory:

PlayerList#load
PlayerData#load

The player is being loaded from the world save. Note that the player won't have been added to the world yet. Intended to allow mods to load an additional file from the players directory containing additional mod related player data.

net.minecraftforge.event.entity.player.PlayerEvent.NameFormat

Callplaces:
direct:

ForgeEventFactory#getPlayerDisplayName

factory:

PlayerEntity#getDisplayName
PlayerEntity#refreshDisplayName

NameFormat is fired when a player's display name is retrieved.
This event is fired whenever a player's name is retrieved in EntityPlayer#getDisplayName() or EntityPlayer#refreshDisplayName().
This event is fired via the ForgeEventFactory#getPlayerDisplayName(EntityPlayer, String).
#username contains the username of the player. #displayname contains the display name of the player.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent.PlayerChangeGameModeEvent

Callplaces:
direct:

ForgeHooks#onChangeGameMode

factory:

ServerPlayerEntity#setGameMode

Fired when the game type of a server player is changed to a different value than what it was previously. Eg Creative to Survival, not Survival to Survival. If the event is cancelled the game mode of the player is not changed and the value of newGameMode is ignored.

net.minecraftforge.event.entity.player.PlayerEvent.PlayerChangedDimensionEvent

Callplaces:
direct:

BasicEventHooks#firePlayerChangedDimensionEvent

factory:

ServerPlayerEntity#changeDimension
ServerPlayerEntity#teleportTo

net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedInEvent

Callplaces:
direct:

BasicEventHooks#firePlayerLoggedIn

factory:

PlayerList#placeNewPlayer

net.minecraftforge.event.entity.player.PlayerEvent.PlayerLoggedOutEvent

Callplaces:
direct:

BasicEventHooks#firePlayerLoggedOut

factory:

PlayerList#remove

net.minecraftforge.event.entity.player.PlayerEvent.PlayerRespawnEvent

Callplaces:
direct:

BasicEventHooks#firePlayerRespawnEvent

factory:

PlayerList#respawn

net.minecraftforge.event.entity.player.PlayerEvent.SaveToFile

Callplaces:
direct:

ForgeEventFactory#firePlayerSavingEvent

factory:

PlayerData#save

The player is being saved to the world store. Note that the player may be in the process of logging out or otherwise departing from the world. Don't assume it's association with the world. This allows mods to load an additional file from the players directory containing additional mod related player data.
Use this event to save the additional mod related player data to the world.
WARNING: Do not overwrite the player's .dat file here. You will corrupt the world state.

net.minecraftforge.event.entity.player.PlayerEvent.StartTracking

Callplaces:
direct:

ForgeEventFactory#onStartEntityTracking

factory:

TrackedEntity#addPairing

Fired when an Entity is started to be "tracked" by this player (the player receives updates about this entity, e.g. motion).

net.minecraftforge.event.entity.player.PlayerEvent.StopTracking

Callplaces:
direct:

ForgeEventFactory#onStopEntityTracking

factory:

TrackedEntity#removePairing

Fired when an Entity is stopped to be "tracked" by this player (the player no longer receives updates about this entity, e.g. motion).

net.minecraftforge.event.entity.player.PlayerEvent.TabListNameFormat

Callplaces:
direct:

ForgeEventFactory#getPlayerTabListDisplayName

factory:

ServerPlayerEntity#getTabListDisplayName
ServerPlayerEntity#refreshTabListName

TabListNameFormat is fired when a player's display name for the tablist is retrieved.
This event is fired whenever a player's display name for the tablist is retrieved in ServerPlayerEntity#getTabListDisplayName() or ServerPlayerEntity#refreshTabListName().
This event is fired via the ForgeEventFactory#getPlayerTabListDisplayName(PlayerEntity).
#getDisplayName() contains the display name of the player or null if the client should determine the display name itself.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerEvent.Visibility

Callplaces:
direct:

ForgeHooks#getPlayerVisibilityDistance

TODO 1.17 remove, unused Fired when the world checks if a player is near enough to be attacked by an entity. The resulting visibility modifier is multiplied by the one calculated by Minecraft (based on sneaking and more) and used to calculate the radius a player has to be in (targetDistance*modifier). This can also be used to increase the visibility of a player, if it was decreased by Minecraft or other mods. But the resulting value cannot be higher than the standard target distance.

net.minecraftforge.event.entity.player.PlayerFlyableFallEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerFall

factory:

PlayerEntity#causeFallDamage

Occurs when a player falls, but is able to fly. Doesn't need to be cancelable, this is mainly for notification purposes.

net.minecraftforge.event.entity.player.PlayerInteractEvent

PlayerInteractEvent is fired when a player interacts in some way. All subclasses are fired on MinecraftForge#EVENT_BUS. See the individual documentation on each subevent for more details.

net.minecraftforge.event.entity.player.PlayerInteractEvent.EntityInteract

Callplaces:
direct:

ForgeHooks#onInteractEntity

factory:

PlayerController#interact
PlayerEntity#interactOn

This event is fired on both sides when the player right clicks an entity. It is responsible for all general entity interactions. This event is fired only if the result of the above EntityInteractSpecific is not EnumActionResult#SUCCESS. This event's state affects whether Entity#processInitialInteract and net.minecraft.item.Item#itemInteractionForEntity are called. Let result be EnumActionResult#SUCCESS if Entity#processInitialInteract or net.minecraft.item.Item#itemInteractionForEntity return true, or #cancellationResult if the event is cancelled. If we are on the client and result is not EnumActionResult#SUCCESS, the client will then try RightClickItem.

net.minecraftforge.event.entity.player.PlayerInteractEvent.EntityInteractSpecific

Callplaces:
direct:

ForgeHooks#onInteractEntityAt

factory:

PlayerController#interactAt
ServerPlayNetHandler#handleInteract

This event is fired on both sides whenever a player right clicks an entity. "Interact at" is an interact where the local vector (which part of the entity you clicked) is known. The state of this event affects whether Entity#applyPlayerInteraction is called. Let result be the return value of Entity#applyPlayerInteraction, or #cancellationResult if the event is cancelled. If we are on the client and result is not EnumActionResult#SUCCESS, the client will then try EntityInteract.

net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickBlock

Callplaces:
direct:

ForgeHooks#onLeftClickBlock

factory:

PlayerController#startDestroyBlock
PlayerController#startDestroyBlock
PlayerController#continueDestroyBlock
PlayerController#continueDestroyBlock
PlayerInteractionManager#handleBlockBreakAction

This event is fired when a player left clicks while targeting a block. This event controls which of net.minecraft.block.Block#onBlockClicked and/or the item harvesting methods will be called Canceling the event will cause none of the above noted methods to be called. There are various results to this event, see the getters below. Note that if the event is canceled and the player holds down left mouse, the event will continue to fire. This is due to how vanilla calls the left click handler methods. Also note that creative mode directly breaks the block without running any other logic. Therefore, in creative mode, #setUseBlock and #setUseItem have no effect.

net.minecraftforge.event.entity.player.PlayerInteractEvent.LeftClickEmpty

Callplaces:
direct:

ForgeHooks#onEmptyLeftClick

factory:

Minecraft#startAttack

This event is fired on the client side when the player left clicks empty space with any ItemStack. The server is not aware of when the client left clicks empty space, you will need to tell the server yourself. This event cannot be canceled.

net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickBlock

Callplaces:
direct:

ForgeHooks#onRightClickBlock
ForgeHooks#onRightClickBlock

factory:

PlayerController#useItemOn
PlayerInteractionManager#useItemOn

This event is fired on both sides whenever the player right clicks while targeting a block.
This event controls which of Item#onItemUseFirst, Block#onBlockActivated, and Item#onItemUse will be called.
Canceling the event will cause none of the above three to be called.
Let result be the first non-pass return value of the above three methods, or pass, if they all pass.
Or #cancellationResult if the event is cancelled.
If result equals ActionResultType#PASS, we proceed to RightClickItem.
There are various results to this event, see the getters below.
Note that handling things differently on the client vs server may cause desynchronizations!

net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickEmpty

Callplaces:
direct:

ForgeHooks#onEmptyClick

factory:

Minecraft#startUseItem

This event is fired on the client side when the player right clicks empty space with an empty hand. The server is not aware of when the client right clicks empty space with an empty hand, you will need to tell the server yourself. This event cannot be canceled.

net.minecraftforge.event.entity.player.PlayerInteractEvent.RightClickItem

Callplaces:
direct:

ForgeHooks#onItemRightClick

factory:

PlayerController#useItem
PlayerInteractionManager#useItem

This event is fired on both sides before the player triggers net.minecraft.item.Item#onItemRightClick. Note that this is NOT fired if the player is targeting a block RightClickBlock or entity EntityInteract EntityInteractSpecific. Let result be the return value of net.minecraft.item.Item#onItemRightClick, or #cancellationResult if the event is cancelled. If we are on the client and result is not EnumActionResult#SUCCESS, the client will then continue to other hands.

net.minecraftforge.event.entity.player.PlayerSetSpawnEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerSpawnSet

factory:

ServerPlayerEntity#setRespawnPosition

This event is fired when a player's spawn point is set or reset.
The event can be canceled, which will prevent the spawn point from being changed.

net.minecraftforge.event.entity.player.PlayerSleepInBedEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerSleepInBed

factory:

ServerPlayerEntity#startSleepInBed

PlayerSleepInBedEvent is fired when a player sleeps in a bed.
This event is fired whenever a player sleeps in a bed in EntityPlayer#trySleep(BlockPos).
#result contains whether the player is able to sleep.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerWakeUpEvent

Callplaces:
direct:

ForgeEventFactory#onPlayerWakeup

factory:

PlayerEntity#stopSleepInBed

This event is fired when the player is waking up.
This is merely for purposes of listening for this to happen.
There is nothing that can be manipulated with this event.

net.minecraftforge.event.entity.player.PlayerXpEvent

PlayerXpEvent is fired whenever an event involving player experience occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.entity.player.PlayerXpEvent.LevelChange

Callplaces:
direct:

PlayerEntity#giveExperienceLevels

This event is fired when the player's experience level changes through the PlayerEntity#addExperienceLevel method. It can be cancelled, and no further processing will be done.

net.minecraftforge.event.entity.player.PlayerXpEvent.PickupXp

Callplaces:
direct:

ExperienceOrbEntity#playerTouch

This event is fired after the player collides with an experience orb, but before the player has been given the experience. It can be cancelled, and no further processing will be done.

net.minecraftforge.event.entity.player.PlayerXpEvent.XpChange

Callplaces:
direct:

PlayerEntity#giveExperiencePoints

This event is fired when the player's experience changes through the PlayerEntity#giveExperiencePoints method. It can be cancelled, and no further processing will be done.

net.minecraftforge.event.entity.player.SleepingLocationCheckEvent

Callplaces:
direct:

ForgeEventFactory#fireSleepingLocationCheck

factory:

LivingEntity#checkBedExists

This event is fired when game checks, if sleeping player should be still considered "in bed".
Failing this check will cause player to wake up.
This event has a result.
setResult(ALLOW) informs game that player is still "in bed"
setResult(DEFAULT) causes game to check Block#isBed(IBlockState, net.minecraft.world.IWorldReader, BlockPos, Entity) instead

net.minecraftforge.event.entity.player.SleepingTimeCheckEvent

Callplaces:
direct:

ForgeEventFactory#fireSleepingTimeCheck

factory:

PlayerEntity#tick
ServerPlayerEntity#startSleepInBed

This event is fired when the game checks if players can sleep at this time.
Failing this check will cause sleeping players to wake up and prevent awake players from sleeping.
This event has a result.
setResult(ALLOW) informs game that player can sleep at this time.
setResult(DEFAULT) causes game to check !World#isDaytime() instead.

net.minecraftforge.event.entity.player.UseHoeEvent

Callplaces:
direct:

ForgeEventFactory#onHoeUse

factory:

HoeItem#useOn

This event is fired when a player attempts to use a Hoe on a block, it can be canceled to completely prevent any further processing. You can also set the result to ALLOW to mark the event as processed and damage the hoe. setResult(ALLOW) is the same as the old setHandled(); TODO: 1.17 Remove

net.minecraftforge.event.furnace.FurnaceFuelBurnTimeEvent

Callplaces:
direct:

ForgeEventFactory#getItemBurnTime

factory:

ForgeHooks#getBurnTime

FurnaceFuelBurnTimeEvent is fired when determining the fuel value for an ItemStack.
To set the burn time of your own item, use Item#getBurnTime(ItemStack) instead.
This event is fired from ForgeEventFactory#getItemBurnTime(ItemStack).
This event is Cancelable to prevent later handlers from changing the value.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.village.VillageSiegeEvent

Callplaces:
direct:

VillageSiege#tryToSetupSiege

VillageSiegeEvent is fired just before a zombie siege finds a successful location in VillageSiege#trySetupSiege, to give mods the chance to stop the siege.
This event is Cancelable; canceling stops the siege.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.village.VillagerTradesEvent

Callplaces:
direct:

VillagerTradingManager#postVillagerEvents

VillagerTradesEvent is fired during the FMLServerAboutToStartEvent. It is used to gather the trade lists for each profession. It is fired on the MinecraftForge#EVENT_BUS. It is fired once for each registered villager profession. Villagers pick two trades from their trade map, based on their level. Villager level is increased by successful trades. The map is populated for levels 1-5 (inclusive), so Map#get will never return null for those keys. Levels outside of this range do nothing, as specified by VillagerData#canLevelUp(int) which is called before attempting to level up. To add trades to the merchant, simply add new trades to the list. BasicTrade provides a default implementation.

net.minecraftforge.event.village.WandererTradesEvent

Callplaces:
direct:

VillagerTradingManager#postWandererEvent

WandererTradesEvent is fired during the FMLServerAboutToStartEvent. It is used to gather the trade lists for the wandering merchant. It is fired on the MinecraftForge#EVENT_BUS. The wandering merchant picks a few trades from TradeType#GENERIC and a single trade from TradeType#RARE. To add trades to the merchant, simply add new trades to the list. BasicTrade provides a default implementation.

net.minecraftforge.event.world.BiomeLoadingEvent

Callplaces:
direct:

ForgeHooks#enhanceBiome

factory:

Biome#

This event fires when a Biome is created from json or when a registered biome is re-created for worldgen. It allows mods to edit a biome (like add a mob spawn) before it gets used for worldgen. In order to maintain the most compatibility possible with other mods' modifications to a biome, the event should be assigned a net.minecraftforge.eventbus.api.EventPriority as follows: - Additions to any list/map contained in a biome : EventPriority#HIGH - Removals to any list/map contained in a biome : EventPriority#NORMAL - Any other modification : EventPriority#LOW Be aware that another mod could have done an operation beforehand, so an expected value out of a vanilla biome might not always be the same, depending on other mods.

net.minecraftforge.event.world.BlockEvent

net.minecraftforge.event.world.BlockEvent.BlockToolInteractEvent

Callplaces:
direct:

ForgeEventFactory#onToolUse

factory:

IForgeBlockState#getToolModifiedState

Fired when when this block is right clicked by a tool to change its state. For example: Used to determine if an axe can strip, a shovel can path, or a hoe can till. This event is Cancelable. If canceled, this will prevent the tool from changing the block's state.

net.minecraftforge.event.world.BlockEvent.BreakEvent

Callplaces:
direct:

ForgeHooks#onBlockBreakEvent

factory:

PlayerInteractionManager#destroyBlock

Event that is fired when an Block is about to be broken by a player Canceling this event will prevent the Block from being broken.

net.minecraftforge.event.world.BlockEvent.CreateFluidSourceEvent

Callplaces:
direct:

ForgeEventFactory#canCreateFluidSource

factory:

FlowingFluid#getNewLiquid

Fired to check whether a non-source block can turn into a source block. A result of ALLOW causes a source block to be created even if the liquid usually doesn't do that (like lava), and a result of DENY prevents creation even if the liquid usually does do that (like water).

net.minecraftforge.event.world.BlockEvent.CropGrowEvent

Fired when a crop block grows. See subevents.

net.minecraftforge.event.world.BlockEvent.CropGrowEvent.Post

Callplaces:
direct:

ForgeHooks#onCropsGrowPost

factory:

AbstractTopPlantBlock#randomTick
BambooBlock#randomTick
CactusBlock#randomTick
ChorusFlowerBlock#randomTick
CocoaBlock#randomTick
CropsBlock#randomTick
NetherWartBlock#randomTick
StemBlock#randomTick
SweetBerryBushBlock#randomTick

Fired when "growing age" blocks (for example cacti, chorus plants, or crops in vanilla) have successfully grown. The block's original state is available, in addition to its new state.
This event is not Cancelable.
This event does not have a result.

net.minecraftforge.event.world.BlockEvent.CropGrowEvent.Pre

Callplaces:
direct:

ForgeHooks#onCropsGrowPre

factory:

AbstractTopPlantBlock#randomTick
BambooBlock#randomTick
CactusBlock#randomTick
ChorusFlowerBlock#randomTick
CocoaBlock#randomTick
CropsBlock#randomTick
NetherWartBlock#randomTick
StemBlock#randomTick
SugarCaneBlock#randomTick
SweetBerryBushBlock#randomTick

Fired when any "growing age" blocks (for example cacti, chorus plants, or crops in vanilla) attempt to advance to the next growth age state during a random tick.
Result#DEFAULT will pass on to the vanilla growth mechanics.
Result#ALLOW will force the plant to advance a growth stage.
Result#DENY will prevent the plant from advancing a growth stage.
This event is not Cancelable.

net.minecraftforge.event.world.BlockEvent.EntityMultiPlaceEvent

Callplaces:
direct:

ForgeEventFactory#onMultiBlockPlace

factory:

ForgeHooks#onPlaceItemIntoWorld

Fired when a single block placement triggers the creation of multiple blocks(e.g. placing a bed block). The block returned by #state and its related methods is the block where the placed block would exist if the placement only affected a single block.

net.minecraftforge.event.world.BlockEvent.EntityPlaceEvent

Callplaces:
direct:

ForgeEventFactory#onBlockPlace

factory:

ForgeHooks#onPlaceItemIntoWorld
FrostWalkerEnchantment#onEntityMoved
PlaceBlockGoal#tick

Called when a block is placed. If a Block Place event is cancelled, the block will not be placed.

net.minecraftforge.event.world.BlockEvent.FarmlandTrampleEvent

Callplaces:
direct:

ForgeHooks#onFarmlandTrample

factory:

FarmlandBlock#fallOn

Fired when when farmland gets trampled This event is Cancelable

net.minecraftforge.event.world.BlockEvent.FluidPlaceBlockEvent

Callplaces:
direct:

ForgeEventFactory#fireFluidPlaceBlockEvent

factory:

FlowingFluidBlock#shouldSpreadLiquid
FlowingFluidBlock#shouldSpreadLiquid
LavaFluid#randomTick
LavaFluid#randomTick
LavaFluid#spreadTo

Fired when a liquid places a block. Use #setNewState(IBlockState) to change the result of a cobblestone generator or add variants of obsidian. Alternatively, you could execute arbitrary code when lava sets blocks on fire, even preventing it. #getState() will return the block that was originally going to be placed. #getPos() will return the position of the block to be changed.

net.minecraftforge.event.world.BlockEvent.NeighborNotifyEvent

Callplaces:
direct:

ForgeEventFactory#onNeighborNotify

factory:

RedstoneDiodeBlock#updateNeighborsInFront
World#updateNeighborsAt
World#updateNeighborsAtExceptFromFacing

Fired when a physics update occurs on a block. This event acts as a way for mods to detect physics updates, in the same way a BUD switch does. This event is only called on the server.

net.minecraftforge.event.world.BlockEvent.PortalSpawnEvent

Callplaces:
direct:

ForgeEventFactory#onTrySpawnPortal

factory:

AbstractFireBlock#onPlace

net.minecraftforge.event.world.ChunkDataEvent

ChunkDataEvent is fired when an event involving chunk data occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#data contains the NBTTagCompound containing the chunk data for this event.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkDataEvent.Load

Callplaces:
direct:

ChunkSerializer#read
ChunkSerializer#read

ChunkDataEvent.Load is fired when vanilla Minecraft attempts to load Chunk data.
This event is fired during chunk loading in net.minecraft.world.chunk.storage.ChunkSerializer.read(ServerWorld, TemplateManager, PointOfInterestManager, ChunkPos, CompoundNBT) which means it is async, so be careful.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkDataEvent.Save

Callplaces:
direct:

ChunkManager#save

ChunkDataEvent.Save is fired when vanilla Minecraft attempts to save Chunk data.
This event is fired during chunk saving in AnvilChunkLoader#saveChunk(World, Chunk).
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkEvent

ChunkEvent is fired when an event involving a chunk occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#chunk contains the Chunk this event is affecting.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkEvent.Load

Callplaces:
direct:

ClientChunkProvider#replaceWithPacketData
ChunkManager#protoChunkToFullChunk

ChunkEvent.Load is fired when vanilla Minecraft attempts to load a Chunk into the world.
This event is fired during chunk loading in
ChunkProviderClient#loadChunk(int, int),
Chunk.onChunkLoad().
Note: This event may be called before the underlying net.minecraft.world.chunk.Chunk is promoted to net.minecraft.world.chunk.ChunkStatus#FULL. You will cause chunk loading deadlocks if you don't delay your world interactions.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkEvent.Unload

Callplaces:
direct:

ClientChunkProvider#drop
ChunkManager#scheduleUnload

ChunkEvent.Unload is fired when vanilla Minecraft attempts to unload a Chunk from the world.
This event is fired during chunk unloading in
Chunk.onChunkUnload().
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkWatchEvent

ChunkWatchEvent is fired when an event involving a chunk being watched occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#pos contains the ChunkPos of the Chunk this event is affecting.
#world contains the World of the Chunk this event is affecting.
#player contains the EntityPlayer that is involved with this chunk being watched.
The #player's world may not be the same as the world of the chunk when the player is teleporting to another dimension.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkWatchEvent.UnWatch

Callplaces:
direct:

ForgeEventFactory#fireChunkWatch

factory:

ChunkManager#updateChunkTracking

ChunkWatchEvent.UnWatch is fired when an EntityPlayer stops watching a chunk.
This event is fired when a chunk is removed from the watched chunks of an EntityPlayer in net.minecraft.world.server.ChunkManager#setChunkLoadedAtClient.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ChunkWatchEvent.Watch

Callplaces:
direct:

ForgeEventFactory#fireChunkWatch

factory:

ChunkManager#updateChunkTracking

ChunkWatchEvent.Watch is fired when an EntityPlayer begins watching a chunk.
This event is fired when a chunk is added to the watched chunks of an EntityPlayer in net.minecraft.world.server.ChunkManager#setChunkLoadedAtClient.
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ExplosionEvent

ExplosionEvent triggers when an explosion happens in the world.
ExplosionEvent.Start is fired before the explosion actually occurs.
ExplosionEvent.Detonate is fired once the explosion has a list of affected blocks and entities.
ExplosionEvent.Start is Cancelable.
ExplosionEvent.Detonate can modify the affected blocks and entities.
Children do not use .
Children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ExplosionEvent.Detonate

Callplaces:
direct:

ForgeEventFactory#onExplosionDetonate

factory:

Explosion#explode

ExplosionEvent.Detonate is fired once the explosion has a list of affected blocks and entities. These lists can be modified to change the outcome.
This event is not Cancelable.
This event does not use .
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.ExplosionEvent.Start

Callplaces:
direct:

ForgeEventFactory#onExplosionStart

factory:

ServerWorld#explode
World#explode

ExplosionEvent.Start is fired before the explosion actually occurs. Canceling this event will stop the explosion.
This event is Cancelable.
This event does not use .
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.NoteBlockEvent

Base class for Noteblock Events

net.minecraftforge.event.world.NoteBlockEvent.Change

Callplaces:
direct:

ForgeHooks#onNoteChange

factory:

NoteBlock#use

Fired when a Noteblock is changed. You can adjust the note it will change to via #setNote(Note, Octave). Canceling this event will not change the note and also stop the Noteblock from playing it's note.

net.minecraftforge.event.world.NoteBlockEvent.Play

Callplaces:
direct:

NoteBlock#triggerEvent

Fired when a Noteblock plays it's note. You can override the note and instrument Canceling this event will stop the note from playing.

net.minecraftforge.event.world.PistonEvent

Base piston event, use PistonEvent.Post and PistonEvent.Pre

net.minecraftforge.event.world.PistonEvent.Post

Callplaces:
direct:

ForgeEventFactory#onPistonMovePost

factory:

PistonBlock#triggerEvent

Fires after the piston has moved and set surrounding states. This will not fire if PistonEvent.Pre is cancelled.

net.minecraftforge.event.world.PistonEvent.Pre

Callplaces:
direct:

ForgeEventFactory#onPistonMovePre

factory:

PistonBlock#triggerEvent
PistonBlock#triggerEvent

Fires before the piston has updated block states. Cancellation prevents movement.

net.minecraftforge.event.world.SaplingGrowTreeEvent

Callplaces:
direct:

ForgeEventFactory#saplingGrowTree

factory:

SaplingBlock#advanceTree

SaplingGrowTreeEvent is fired when a sapling grows into a tree.
This event is fired during sapling growth in BlockSapling#generateTree(World, BlockPos, IBlockState, Random).
#pos contains the coordinates of the growing sapling.
#rand contains an instance of Random for use.
This event is not Cancelable.
This event has a result.
This result determines if the sapling is allowed to grow.
This event is fired on the MinecraftForge#TERRAIN_GEN_BUS.

net.minecraftforge.event.world.SleepFinishedTimeEvent

Callplaces:
direct:

ForgeEventFactory#onSleepFinished

factory:

ServerWorld#tick

This event is fired when all players are asleep and the time should be set to day.
setWakeUpTime(wakeUpTime) sets a new time that will be added to the dayTime.

net.minecraftforge.event.world.StructureSpawnListGatherEvent

Callplaces:
direct:

StructureSpawnManager#gatherEntitySpawns

This event fires when a Structure is gathering what mobs/creatures can spawn in it. In order to maintain the most compatibility possible with other mods' modifications to a structure, the event should be assigned a net.minecraftforge.eventbus.api.EventPriority as follows: - Additions : EventPriority#HIGH - Removals : EventPriority#NORMAL - Any other modification : EventPriority#LOW Be aware that another mod could have done an operation beforehand, so an expected value out of a vanilla structure might not always be the same, depending on other mods.

net.minecraftforge.event.world.WorldEvent

WorldEvent is fired when an event involving the world occurs.
If a method utilizes this Event as its parameter, the method will receive every child event of this class.
#world contains the World this event is occurring in.
All children of this event are fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.WorldEvent.CreateSpawnPosition

Callplaces:
direct:

ForgeEventFactory#onCreateWorldSpawn

factory:

MinecraftServer#setInitialSpawn

Called by WorldServer when it attempts to create a spawnpoint for a dimension. Canceling the event will prevent the vanilla code from running.

net.minecraftforge.event.world.WorldEvent.Load

Callplaces:
direct:

ClientWorld#ClientWorld
MinecraftServer#createLevels

WorldEvent.Load is fired when Minecraft loads a world.
This event is fired when a world is loaded in WorldClient#WorldClient(NetHandlerPlayClient, WorldSettings, int, EnumDifficulty, Profiler), MinecraftServer#loadAllWorlds(String, String, long, WorldType, String), IntegratedServer#loadAllWorlds(String, String, long, WorldType, String) DimensionManager#initDimension(int), and ForgeInternalHandler#onDimensionLoad(Load).
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.WorldEvent.PotentialSpawns

Callplaces:
direct:

ForgeEventFactory#getPotentialSpawns

factory:

WorldEntitySpawner#getRandomSpawnMobAt

Called by WorldServer to gather a list of all possible entities that can spawn at the specified location. If an entry is added to the list, it needs to be a globally unique instance. The event is called in WorldServer#getSpawnListEntryForTypeAt(EnumCreatureType, BlockPos) as well as WorldServer#canCreatureTypeSpawnHere(EnumCreatureType, SpawnListEntry, BlockPos) where the latter checks for identity, meaning both events must add the same instance. Canceling the event will result in a empty list, meaning no entity will be spawned.

net.minecraftforge.event.world.WorldEvent.Save

Callplaces:
direct:

ServerWorld#save

WorldEvent.Save is fired when Minecraft saves a world.
This event is fired when a world is saved in WorldServer#saveAllChunks(boolean, IProgressUpdate), ForgeInternalHandler#onDimensionSave(Save).
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.event.world.WorldEvent.Unload

Callplaces:
direct:

Minecraft#setLevel
Minecraft#clearLevel
MinecraftServer#stopServer

WorldEvent.Unload is fired when Minecraft unloads a world.
This event is fired when a world is unloaded in Minecraft#loadWorld(WorldClient, String), MinecraftServer#stopServer(), DimensionManager#unloadWorlds(), ForgeInternalHandler#onDimensionUnload(Unload).
This event is not Cancelable.
This event does not have a result.
This event is fired on the MinecraftForge#EVENT_BUS.

net.minecraftforge.eventbus.api.Event

net.minecraftforge.eventbus.api.GenericEvent

net.minecraftforge.fml.config.ModConfig.Loading

Callplaces:
direct:

ConfigTracker#openConfig
ConfigTracker#loadDefaultServerConfigs

net.minecraftforge.fml.config.ModConfig.ModConfigEvent

net.minecraftforge.fml.config.ModConfig.Reloading

Callplaces:
direct:

ConfigWatcher#run
ConfigTracker#receiveSyncedConfig

net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent

This is the second of four commonly called events during mod lifecycle startup. Called before InterModEnqueueEvent Called after FMLCommonSetupEvent Called on net.minecraftforge.api.distmarker.Dist#CLIENT - the game client. Alternative to FMLDedicatedServerSetupEvent. Do client only setup with this event, such as KeyBindings. This is a parallel dispatch event.

net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent

This is the first of four commonly called events during mod initialization. Called before FMLClientSetupEvent or FMLDedicatedServerSetupEvent during mod startup. Called after net.minecraftforge.event.RegistryEvent.Register events have been fired. Either register your listener using net.minecraftforge.fml.AutomaticEventSubscriber and net.minecraftforge.eventbus.api.SubscribeEvent or net.minecraftforge.eventbus.api.IEventBus#addListener(Consumer) in your constructor. Most non-specific mod setup will be performed here. Note that this is a parallel dispatched event - you cannot interact with game state in this event.

net.minecraftforge.fml.event.lifecycle.FMLConstructModEvent

net.minecraftforge.fml.event.lifecycle.FMLDedicatedServerSetupEvent

This is the second of four commonly called events during mod lifecycle startup. Called before InterModEnqueueEvent Called after FMLCommonSetupEvent Called on net.minecraftforge.api.distmarker.Dist#DEDICATED_SERVER - the dedicated game server. Alternative to FMLClientSetupEvent. Do dedicated server specific activities with this event. This event is fired before construction of the dedicated server. Use net.minecraftforge.fml.event.server.FMLServerAboutToStartEvent or net.minecraftforge.fml.event.server.FMLServerStartingEvent to do stuff with the server, in both dedicated and integrated server contexts This is a parallel dispatch event.

net.minecraftforge.fml.event.lifecycle.FMLFingerprintViolationEvent

DEPRECATED WITHOUT REPLACEMENT. REMOVE FROM YOUR CODE!!! IT HAS NEVER BEEN FIRED IN 1.13+ AND WILL NEVER FIRE AGAIN!!! FIRE.JPG FIRE.JPG FIRE.JPG DELET THIS

net.minecraftforge.fml.event.lifecycle.FMLLoadCompleteEvent

This is a mostly internal event fired to mod containers that indicates that loading is complete. Mods should not in general override or otherwise attempt to implement this event.

net.minecraftforge.fml.event.lifecycle.FMLModIdMappingEvent

Callplaces:
direct:

GameData#fireRemapEvent

Called whenever the ID mapping might have changed. If you register for this event, you will be called back whenever the client or server loads an ID set. This includes both when the ID maps are loaded from disk, as well as when the ID maps revert to the initial state. Note: you cannot change the IDs that have been allocated, but you might want to use this event to update caches or other in-mod artifacts that might be impacted by an ID change. Fired on the net.minecraftforge.common.MinecraftForge#EVENT_BUS

net.minecraftforge.fml.event.lifecycle.GatherDataEvent

Callplaces:
direct:

DatagenModLoader#begin

net.minecraftforge.fml.event.lifecycle.InterModEnqueueEvent

This is the third of four commonly called events during mod lifecycle startup. Called before InterModProcessEvent Called after FMLClientSetupEvent or FMLDedicatedServerSetupEvent Enqueue net.minecraftforge.fml.InterModComms messages to other mods with this event. This is a parallel dispatch event.

net.minecraftforge.fml.event.lifecycle.InterModProcessEvent

This is the fourth of four commonly called events during mod lifecycle startup. Called after InterModEnqueueEvent Retrieve net.minecraftforge.fml.InterModComms net.minecraftforge.fml.InterModComms.IMCMessage suppliers and process them as you wish with this event. This is a parallel dispatch event.

net.minecraftforge.fml.event.lifecycle.ModLifecycleEvent

Parent type to all ModLifecycle events. This is based on Forge EventBus. They fire through the ModContainer's eventbus instance.

net.minecraftforge.fml.event.lifecycle.ParallelDispatchEvent

net.minecraftforge.fml.event.server.FMLServerAboutToStartEvent

Callplaces:
direct:

ServerLifecycleHooks#handleServerAboutToStart

Called before the server begins loading anything. Called after InterModProcessEvent on the dedicated server, and after the player has hit "Play Selected World" in the client. Called before FMLServerStartingEvent. You can obtain a reference to the server with this event.

net.minecraftforge.fml.event.server.FMLServerStartedEvent

Callplaces:
direct:

ServerLifecycleHooks#handleServerStarted

Called after FMLServerStartingEvent when the server is available and ready to play.

net.minecraftforge.fml.event.server.FMLServerStartingEvent

Callplaces:
direct:

ServerLifecycleHooks#handleServerStarting

Called after FMLServerAboutToStartEvent and before FMLServerStartedEvent. This event allows for customizations of the server. If you need to add commands use net.minecraftforge.event.RegisterCommandsEvent.

net.minecraftforge.fml.event.server.FMLServerStoppedEvent

Callplaces:
direct:

ServerLifecycleHooks#handleServerStopped

Called after FMLServerStoppingEvent when the server has completely shut down. Called immediately before shutting down, on the dedicated server, and before returning to the main menu on the client.

net.minecraftforge.fml.event.server.FMLServerStoppingEvent

Callplaces:
direct:

ServerLifecycleHooks#handleServerStopping

Called when the server begins an orderly shutdown, before FMLServerStoppedEvent.

net.minecraftforge.fml.event.server.ServerLifecycleEvent

net.minecraftforge.fml.network.NetworkEvent

net.minecraftforge.fml.network.NetworkEvent.ChannelRegistrationChangeEvent

Callplaces:
direct:

ChannelList#updateFrom

Fired when the channel registration (see minecraft custom channel documentation) changes. Note the payload is not exposed. This fires to the resource location that owns the channel, when it's registration changes state. It seems plausible that this will fire multiple times for the same state, depending on what the server is doing. It just directly dispatches upon receipt.

net.minecraftforge.fml.network.NetworkEvent.ClientCustomPayloadEvent

Callplaces:
direct:

NetworkDirection#PLAY_TO_SERVER

net.minecraftforge.fml.network.NetworkEvent.ClientCustomPayloadLoginEvent

Callplaces:
direct:

NetworkDirection#LOGIN_TO_SERVER

net.minecraftforge.fml.network.NetworkEvent.GatherLoginPayloadsEvent

Callplaces:
direct:

NetworkInstance#dispatchGatherLogin

net.minecraftforge.fml.network.NetworkEvent.LoginPayloadEvent

Callplaces:
direct:

FMLLoginWrapper#wrapperReceived

net.minecraftforge.fml.network.NetworkEvent.ServerCustomPayloadEvent

Callplaces:
direct:

NetworkDirection#PLAY_TO_CLIENT

net.minecraftforge.fml.network.NetworkEvent.ServerCustomPayloadLoginEvent

Callplaces:
direct:

NetworkDirection#LOGIN_TO_CLIENT

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment