All Classes and Interfaces

Class
Description
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Extension of Ingredient which makes most methods custom ingredients need to implement abstract, and removes the static constructors Mods are encouraged to extend this class for their custom ingredients
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired on PackRepository creation to allow mods to add new pack finders.
The main ResourceManager is recreated on each reload, just after ReloadableServerResources's creation.
 
 
 
 
 
 
 
 
 
This event is fired when a player gets an advancement.
 
 
New implementation of PlayerAdvancements#ensureAllVisible()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired when an Animal is tamed.
 
 
 
 
 
 
 
Fired when the player removes a "repaired" item from the Anvil's Output slot.
 
AnvilUpdateEvent is fired when the inputs (either input stack, or the name) to an anvil are changed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ArgumentSerializer<T extends com.mojang.brigadier.arguments.ArgumentType<?>>
 
 
ArgumentTypes.Entry<T extends com.mojang.brigadier.arguments.ArgumentType<?>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ArrowLooseEvent is fired when a player stops using a bow.
This event is fired whenever a player stops using a bow in BowItem.releaseUsing(ItemStack, Level, LivingEntity, int).

ArrowLooseEvent.bow contains the ItemBow ItemStack that was used in this event.
ArrowLooseEvent.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.
For crossbows, the charge will always be 1; Set it to -1 in order to prevent firing the arrow.
ArrowNockEvent is fired when a player begins using a bow.
This event is fired whenever a player begins using a bow in BowItem.use(Level, Player, InteractionHand).

This event is fired on the MinecraftForge.EVENT_BUS.
 
 
 
 
 
 
 
Fired whenever an object with Capabilities support {currently TileEntity/Item/Entity) is created.
 
 
 
AttackEntityEvent is fired when a player attacks an Entity.
This event is fired whenever a player attacks an Entity in Player.attack(Entity).

AttackEntityEvent.target contains the Entity that was damaged by the player.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Automatic eventbus subscriber - reads Mod.EventBusSubscriber annotations and passes the class instances to the Mod.EventBusSubscriber.Bus defined by the annotation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
 
 
 
 
 
 
 
 
 
 
 
 
BabyEntitySpawnEvent is fired just before a baby entity is about to be spawned.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Allows easier building of BakedQuad objects.
Wrapper to make it easier to draw baked models in renderers.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A default, exposed implementation of ITrade.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
BeeModel<T extends Bee>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
 
 
This event fires when a Biome is created from json or when a registered biome is re-created for worldgen.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
Use BlockEvent.BlockToolModificationEvent and put world-modifying actions behind if (!event.isSimulated()).
Fired when a block is right-clicked by a tool to change its state.
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.
Fired to check whether a non-source block can turn into a source block.
Fired when a crop block grows.
Fired when "growing age" blocks (for example cacti, chorus plants, or crops in vanilla) have successfully grown.
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.

Event.Result.DEFAULT will pass on to the vanilla growth mechanics.
Event.Result.ALLOW will force the plant to advance a growth stage.
Event.Result.DENY will prevent the plant from advancing a growth stage.

This event is not Cancelable.

Fired when a single block placement triggers the creation of multiple blocks(e.g.
Called when a block is placed.
Fired when when farmland gets trampled This event is Cancelable
Fired when a liquid places a block.
Fired when a physics update occurs on a block.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Builder for block models, does not currently provide any additional functionality over ModelBuilder, purely a stub class with a concrete generic.
 
 
 
 
 
 
 
 
Stub class to extend for block model data providers, eliminates some boilerplate constructor parameters.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents a captured snapshot of a block which will not change automatically.
 
 
 
 
This test mod tests the blockstate update callback which is called after a block's state has changed and neighbors have been notified.
 
 
 
 
 
 
 
 
 
Data provider for blockstate files.
 
 
 
 
 
 
 
 
 
 
 
Wrapper around any block, only accounts for fluid placement, otherwise the block acts a void.
 
 
 
 
 
 
 
 
 
 
 
 
This event is called when a player attempts to use Bonemeal on a block.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This LootItemCondition "forge:can_tool_perform_action" can be used to check if a tool can perform a given ToolAction.
 
 
 
 
 
 
 
 
This is the core holder object Capabilities.
A high-speed implementation of a capability delegator.
 
 
 
 
 
Special implementation for cases which have a superclass and can't extend CapabilityProvider directly.
Inspired by TypeToken, use a subclass to capture generic types.
Implements getType() in CapabilityToken subclasses.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CatModel<T extends Cat>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.

ChunkDataEvent.data contains the NBTTagCompound containing the chunk data for this event.

All children of this event are fired on the MinecraftForge.EVENT_BUS.
ChunkDataEvent.Load is fired when vanilla Minecraft attempts to load Chunk data.
This event is fired during chunk loading in ChunkSerializer.read(ServerLevel, PoiManager, ChunkPos, CompoundTag) which means it is async, so be careful.

This event is not Cancelable.

This event does not have a result.
ChunkDataEvent.Save is fired when vanilla Minecraft attempts to save Chunk data.
This event is fired during chunk saving in ChunkMap#save(ChunkAccess).
 
 
 
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.

ChunkEvent.chunk contains the Chunk this event is affecting.

All children of this event are fired on the MinecraftForge.EVENT_BUS.
ChunkEvent.Load is fired when vanilla Minecraft attempts to load a Chunk into the world.
This event is fired during chunk loading in
Chunk.onChunkLoad().
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().
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.

ChunkWatchEvent.pos contains the ChunkPos of the Chunk this event is affecting.
ChunkWatchEvent.world contains the World of the Chunk this event is affecting.
ChunkWatchEvent.player contains the EntityPlayer that is involved with this chunk being watched.
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.server.level.ChunkMap#updateChunkTracking(ServerPlayer, ChunkPos, Packet[], boolean, boolean).
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.server.level.ChunkMap#updateChunkTracking(ServerPlayer, ChunkPos, Packet[], boolean, boolean).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ClientChatEvent is fired whenever the client is about to send a chat message or command to the server.
 
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 MinecraftForge.EVENT_BUS.
 
 
overrides for CommandSourceStack so that the methods will run successfully client side
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired before the client player is notified of a change in game mode from the server.
Client side player connectivity events.
Fired when the client player logs in to the server.
Fired when the player logs out.
Fired when the player object respawns, such as dimension changes.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Created to host any custom codecs forge may be adding.
CodModel<T extends Entity>
 
 
 
 
 
 
 
 
 
 
 
Use these events to register block/item color handlers at the appropriate time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CommandEvent is fired after a command is parsed, but before it is executed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A model data container which stores data for child components.
 
 
Wrapper for an IModelData instance which allows forwarding queries to the parent, but stores any new/modified values itself, avoiding modifications to the parent.
 
 
An ModelState that combines the transforms from two child ModelState.
 
 
 
 
 
 
Ingredient that matches if any of the child ingredients match
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents a model with blockstate configurations, e.g.
A builder for ConfiguredModels, which can contain a callback for processing the finished result.
 
 
 
 
 
 
 
 
 
A class for holding the mod mismatch data of a failed handshake.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event class for handling GuiContainer specific events.
This event is fired directly after the GuiContainer has draw any background elements, This is useful for drawing new background elements.
This event is fired directly after the GuiContainer has draw any foreground elements, But before the "dragged" stack, and before any tooltips.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated. 
 
 
CowModel<T extends Entity>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired whenever a player attacks an Entity in EntityPlayer#attackTargetEntityWithCurrentItem(Entity).

This event is not Cancelable.

This event has a result.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Adds a blaze head block and item to test the event for registering a custom skull model and to demonstrate the proper way to register a custom mob skull.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An exception thrown for graphs with cycles as an argument for topological sort.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This test class shows an example of how to register unsynced and synced datapack registries, and how to use a dataprovider to generate json files for them.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class to help with managing registry entries.
 
 
 
Utility for running code on the main launch thread at the next available opportunity.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ingredient that matches everything from the first ingredient that is not included in the second ingredient
 
 
DifficultyChangeEvent is fired when difficulty is changing.
 
 
 
 
 
 
 
 
 
To see the effects of this test mod you must create a new world then teleport to the custom dimension (use: /execute in dimension_settings_test:test_overworld run tp @s ...).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fills or drains a fluid container item using a Dispenser.
 
 
 
 
 
 
 
 
 
 
 
 
Use to execute code conditionally based on sidedness.
SafeCallable version of DistExecutor.SafeReferent.
A safe referent.
SafeRunnable version of DistExecutor.SafeReferent
SafeSupplier version of DistExecutor.SafeReferent
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An event called whenever the selection highlight around a block or entity is about to be rendered.
A variant of the DrawSelectionEvent only called when a block is highlighted.
A variant of the DrawSelectionEvent only called when an entity is highlighted.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tests that the values for defaulted optional tags defined in multiple places are combined.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Thrown during early loading phase, and collected by the LoadingModList for handoff to the client or server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EmptyArgumentSerializer<T extends com.mojang.brigadier.arguments.ArgumentType<?>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when the enchantment level is set for each of the three potential enchantments in the enchanting table.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired on the forge bus before an Enderman detects that a player is looking at them.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Reference implementation of IEnergyStorage.
 
RuntimeException that gives subclasses the simple opportunity to write extra data when printing the stack trace.
 
 
 
 
 
 
 
 
 
 
 
 
 
EntityAttributeCreationEvent.
Use this event to register attributes for your own EntityTypes.
EntityAttributeModificationEvent.
Use this event to add attributes to existing entity types.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.

EntityEvent.entity contains the entity that caused this event to occur.

All children of this event are fired on the MinecraftForge.EVENT_BUS.
CanUpdate is fired when an Entity is being created.
This event is fired on server and client after an Entity has entered a different section.
EntityConstructing is fired when an Entity is being created.
This event is fired whenever the Pose changes, and in a few other hardcoded scenarios.
CAREFUL: This is also fired in the Entity constructor.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is called when a player collides with a EntityItem on the ground.
EntityJoinWorldEvent is fired when an Entity joins the world.
EntityLeaveWorldEvent is fired when an Entity leaves the world.
 
 
 
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: Event.Result.ALLOW means this instance of mob griefing is allowed. Event.Result.DEFAULT means the mobGriefing game rule is used to determine the behaviour. Event.Result.DENY means this instance of mob griefing is not allowed. This event is fired on the MinecraftForge.EVENT_BUS.
 
 
This event gets fired whenever a entity mounts/dismounts another entity.
entityBeingMounted can be null, be sure to check for that.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Provides a safe place to register entity renderer layers.
Provides a safe place to register models for the skull block
 
Provides a safe place to register entity renderers and layer renderers.
 
 
 
 
 
 
Allows modders to register custom entity selectors by assigning an IEntitySelectorType to a String token.
 
 
 
 
 
 
 
 
 
 
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 LightningBolt.tick() via ForgeEventFactory.onEntityStruckByLightning(Entity, LightningBolt).

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

EntityTeleportEvent.getTarget() contains the target destination.
EntityTeleportEvent.getPrev() contains the entity's current position.

All children of this event are fired on the MinecraftForge.EVENT_BUS.
EntityTeleportEvent.ChorusFruit is fired before a LivingEntity is teleported due to consuming Chorus Fruit.
EntityTeleportEvent.EnderEntity is fired before an Enderman or Shulker randomly teleports.
EntityTeleportEvent.EnderPearl is fired before an Entity is teleported from an EnderPearlEntity.
EntityTeleportEvent.SpreadPlayersCommand is fired before a living entity is teleported from use of SpreadPlayersCommand.
EntityTeleportEvent.TeleportCommand is fired before a living entity is teleported from use of TeleportCommand.
 
 
 
 
 
EntityTravelToDimensionEvent is fired before an Entity travels to a dimension.

EntityTravelToDimensionEvent.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.
 
 
 
 
 
 
 
 
EntityTypeTest<B,T extends B>
 
 
Event that hooks into GameRenderer, allowing any feature to customize visual attributes the player sees.
Event that allows mods to alter the angles of the player's camera.
Event that allows mods to alter the raw FOV itself.
Event that allows any feature to customize the color of fog the player sees.
Deprecated, for removal: This API element is subject to removal in a future version.
Use RenderFogEvent.
Deprecated, for removal: This API element is subject to removal in a future version.
This event allows for customization of parameters related to fog rendering.
 
 
 
 
 
 
EnumArgument<T extends Enum<T>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Enables data providers to check if other data files currently exist.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 Event.HasResult.
Children of this event are fired on the MinecraftForge.EVENT_BUS.
ExplosionEvent.Detonate is fired once the explosion has a list of affected blocks and entities.
ExplosionEvent.Start is fired before the explosion actually occurs.
This class provides a button that fixes several bugs present in the vanilla GuiButton drawing code.
 
 
 
 
 
 
EyesLayer<T extends Entity,M extends EntityModel<T>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired when a player attempts to use a Empty bucket, it can be canceled to completely prevent any further processing.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Holds the result of a fluid action from FluidUtil.
Minecraft Forge Fluid Implementation This class is a fluid (liquid or gas) equivalent to "Item." It describes the nature of a fluid and contains its general properties.
 
 
 
Wrapper for vanilla and forge buckets.
 
FluidHandlerItemStack is a template capability provider for ItemStacks.
Destroys the container item when it's emptied.
Swaps the container item for a different one when it's emptied.
FluidHandlerItemStackSimple is a template capability provider for ItemStacks.
Destroys the container item when it's emptied.
Swaps the container item for a different one when it's emptied.
 
 
 
 
 
 
 
ItemStack substitute for Fluids.
 
 
 
Flexible implementation of a Fluid Storage object.
 
 
 
 
 
 
 
 
This is the second of four commonly called events during mod lifecycle startup.
 
This is the first of four commonly called events during mod initialization.
 
 
 
This is the second of four commonly called events during mod core startup.
 
 
 
 
 
This is a mostly internal event fired to mod containers that indicates that loading is complete.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Class to help mods remove no longer valid tickets.
Helper class to keep track of a ticket owner by modid and owner object
Helper class to manage tracking and handling loaded tickets.
 
 
 
 
 
 
 
Client specific configuration - only loaded clientside from forge-client.toml
General configuration that doesn't need to be synchronized but needs to be available before server startup
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Network filter for forge-forge connections.
 
 
 
 
 
 
 
 
 
 
 
 
 
A wrapper for HighlightConverter that auto-disables ANSI when the terminal doesn't support it.
 
 
 
 
 
 
 
 
 
 
Currently used only for replacing shears item to shears_dig tool action
 
 
16x16 pure white sprite.
 
 
 
A class that exposes static references to all vanilla and Forge registries.
 
 
 
 
 
Default implementation of IForgeRegistryEntry, this is necessary to reduce redundant code.
This class exists for registry entries which are dynamic (e.g.
 
 
 
 
 
 
 
 
 
Slider widget implementation which allows inputting values in a certain range with optional step size.
A subclass of SoundType that uses Supplier<SoundEvent>s.
 
 
 
 
 
 
ForgeStatesProvider.SerialTransition<T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
 
The "forge" section of texture metadata files (.mcmeta).
 
Helper class to define a custom tier
ForgeTimings aggregates timings data collected by TimeTracker for an Object and performs operations for interpretation of the data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FoxModel<T extends Fox>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FurnaceFuelBurnTimeEvent is fired when determining the fuel value for an ItemStack.
 
 
 
 
 
 
 
 
 
 
 
 
INTERNAL ONLY MODDERS SHOULD HAVE NO REASON TO USE THIS CLASS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Marks a class as containing game tests that should be registered automatically.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Provider for forge's GlobalLootModifier system.
Abstract base deserializer for LootModifiers.
 
 
 
 
 
When harvesting blocks with bamboo, this modifier is invoked, via the silk_touch_bamboo loot_modifier json
 
 
The smelting enchantment causes this modifier to be invoked, via the smelting loot_modifier json
 
When harvesting wheat with shears, this modifier is invoked via the wheat_harvest loot_modifier json
This modifier checks how many seeds were harvested and turns X seeds into Y wheat (3:1)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
GoatModel<T extends Goat>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Shared logic for the two events fired from grindstones.
This event is Cancelable
GrindstoneEvent.OnPlaceItem is fired when the inputs to a grindstone are changed.
This event is Cancelable.
GrindstoneEvent.OnTakeItem is fired when the output of a grindstone is taken.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class provides several methods and constants used by the Config GUI classes.
 
 
Instance responsible for handling the overall FML impl handshake.
 
 
 
 
 
Notifies the client of a channel mismatch on the server, so a ModMismatchDisconnectedScreen is used to notify the user of the disconnection.
 
Prefixes S2CModList by sending additional data about the mods installed on the server to the client The mod data is stored as follows: [modId -> [modName, modVersion]]
Server to client "list of mods".
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for creating a nice human readable dump of binary data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Call DimensionSpecialEffects.setCloudRenderHandler(ICloudRenderHandler), obtained from a ClientLevel with an implementation of this to override all cloud rendering with your own.
 
 
 
 
 
 
 
 
ICustomPacket<T extends Packet<?>>
 
 
 
 
 
Convenience interface with default implementation of IForgeBakedModel.getQuads(BlockState, Direction, Random, IModelData).
An energy storage is the unit of interaction with Energy inventories.
A interface for Entities that need extra information to be communicated between the server and client when they are spawned.
To be implemented on vanilla enums that should be enhanced with ASM to be extensible.
 
Compatibility display test for the mod.
Implement this interface on Block classes which represent world-placeable Fluids.
Implement this interface as a capability which should handle fluids, generally storing them in one or more internal IFluidTank objects.
 
ItemStacks handled by an IFluidHandler may change, so this class allows users of the fluid handler to get the container after it has been used.
This interface represents a Fluid Tank.
 
 
 
 
 
 
 
 
 
Additional methods for CommandSourceStack so that commands and arguments can access various things without directly referencing using server specific classes
 
 
 
 
 
Extension-Interface providing methods for writing registry-id's instead of their registry-names.
 
 
 
 
 
 
 
 
 
An IModelState is a function from model part to a transformation that should be applied when that part is baked, thus representing the current "state" of the model and its parts.
 
 
 
 
Main interface for the registry system.
Callback fired when objects are added to the registry.
Callback fired when the registry is done processing.
Callback fired when the registry is cleared.
Callback fired when a registry instance is created.
Factory for creating dummy entries, allowing worlds to be loaded and keep the missing block references.
 
Callback fired when the registry contents are validated.
 
 
 
This allows for mods to create there own Shear-like items and have them interact with Blocks/Entities without extra work.
 
 
 
 
Implementation that defines what a global loot modifier must implement in order to be functional.
 
 
 
 
 
 
 
 
 
 
Defines the context that a KeyMapping is used.
 
 
 
 
 
 
This class defines a replacement for the default minecart collision code.
Marker interface for events dispatched on the ModLifecycle event bus instead of the primary event bus
 
 
 
 
General interface for any model that can be baked, superset of vanilla UnbakedModel.
 
 
 
 
 
IModStateTransition.EventGenerator<T extends net.minecraftforge.eventbus.api.Event & IModBusEvent>
 
 
 
 
 
 
A standard interface for renderable context values that support providing different values for parts of the model.
 
 
 
An interface designed to unify various things in the Minecraft code base that can be serialized to and from a NBT tag.
 
 
 
 
 
 
 
 
 
 
 
 
This class validates that Ingredient.invalidate() is called correctly.
To verify, join a world, then leave it.
 
 
 
 
 
This event fires when one of the keybindings that by default involves clicking the mouse buttons is triggered.
This event fires when a keyboard input is detected.
This event fires when a mouse input is detected.
This event fires when the mouse scroll wheel is used outside of a gui.
A cancellable mouse event fired before key bindings are updated
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This is the third of four commonly called events during mod core startup.
This is the fourth of four commonly called events during mod core startup.
Ingredient that matches if all child ingredients match
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This is the Heart of the PermissionAPI, it manages PermissionNodes as well as it handles all permission queries.
 
 
This interface is to be implemented on Container objects.
A registry delegate for holding references to items or blocks These should be safe to use in things like lists though aliased items and blocks will not have object identity with respect to their delegate.
Defines a standard interface for things that can be rendered.
A reverse tag is an object aware of what tags it is contained in.
 
 
 
 
 
 
 
Used to mark a recipe that shape matters so that the recipe book and auto crafting picks the correct shape.
 
Call DimensionSpecialEffects.setSkyRenderHandler(ISkyRenderHandler), obtained from a ClientLevel with an implementation of this to override all sky rendering with your own.
 
A tag is a collection of elements with an identifying tag key.
A tag manager holds information about all tags currently bound to a forge registry.
Interface for handling the placement of entities during dimension change.
 
 
 
This event is fired when the attributes for an ItemStack are being calculated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Base class for all EntityItem events.
 
 
Event that is fired when an EntityItem's age has reached its maximum lifespan.
This event is called when a player fishes an item.
A simple fluid container, to replace the functionality of the old FluidContainerRegistry and IFluidContainerItem.
 
 
 
 
 
 
 
 
 
Forge reimplementation of vanilla ItemModelGenerator, i.e.
 
 
 
 
 
Builder for item models, adds the ability to build overrides via ItemModelBuilder.override().
 
 
 
 
Wrapper around ItemModeMesher that cleans up the internal maps to respect ID remapping.
Stub class to extend for item model data providers, eliminates some boilerplate constructor parameters.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event that is fired whenever a player tosses (Q) an item or drag-n-drops a stack of items outside the inventory GUI screens.
 
 
 
 
 
 
 
 
 
A loader for custom TextureAtlasSprite implementations.
The loader can be specified in the corresponding .mcmeta file for a texture as follows:
 
 
Assumes that the data length is not less than e.getElements().size().
 
Call DimensionSpecialEffects.setWeatherParticleRenderHandler(IWeatherParticleRenderHandler), obtained from a ClientLevel with an implementation of this to override all weather particle rendering with your own.
Call DimensionSpecialEffects.setWeatherRenderHandler(IWeatherRenderHandler), obtained from a ClientLevel with an implementation of this to override all weather rendering with your own.
 
 
Finds Version data from a package, with possible default values
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Proxy object for a value that is calculated on first access
Thread-safe implementation.
Non-thread-safe implementation.
 
Deprecated. 
This object encapsulates a lazy value, with typical transformation operations (map/ifPresent) available, much like Optional.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Key and value decoded independently, unknown set of keys
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ListModel<E extends Entity>
 
 
 
 
LivingAttackEvent is fired when a living Entity is attacked.
This event allows you to change the target an entity has.
A living target type indicates what kind of system caused a change of targets.
This enum contains two default living target types.
 
LivingConversionEvent.Post is triggered when an entity is replacing itself with another entity.
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.
 
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 LivingEntity#actuallyHurt(DamageSource, float) and Player#actuallyHurt(DamageSource, float).

This event is fired via the ForgeHooks.onLivingDamage(LivingEntity, DamageSource, float).

LivingDamageEvent.source contains the DamageSource that caused this Entity to be hurt.
LivingDeathEvent is fired when an Entity dies.
Fired when the ender dragon or wither attempts to destroy a block and when ever a zombie attempts to break a door.
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 LivingEntity.die(DamageSource).

This event is fired via the ForgeHooks.onLivingDrops(LivingEntity, DamageSource, Collection, int, boolean) .

LivingDropsEvent.source contains the DamageSource that caused the drop to occur.
LivingDropsEvent.drops contains the ArrayList of EntityItems that will be dropped.
LivingDropsEvent.lootingLevel contains the amount of loot that will be dropped.
LivingDropsEvent.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.
 
 
 
 
Fired after an item has fully finished being used.
Fired when a player starts 'using' an item, typically when they hold right mouse.
Fired when a player stops using an item without the use duration timing out.
Fired every tick that a player is 'using' an item, see LivingEntityUseItemEvent.Start for info.
LivingEquipmentChangeEvent is fired when the Equipment of a Entity changes.
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.
LivingJumpEvent is fired when an Entity jumps.
This event is fired whenever an Entity jumps in LivingEntity#jumpFromGround(), MagmaCube#jumpFromGround(), and Horse#jumpFromGround().

This event is fired via the ForgeHooks.onLivingJump(LivingEntity).

This event is not Cancelable.

This event does not have a result.
LivingUpdateEvent is fired when an Entity is updated.
 
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.
LivingFallEvent is fired when an Entity is set to be falling.
This event is fired whenever an Entity is set to fall in LivingEntity.causeFallDamage(float, float, DamageSource).

This event is fired via the ForgeHooks.onLivingFall(LivingEntity, float, float).

LivingFallEvent.distance contains the distance the Entity is to fall.
This event is fired when a living entity attempts to get a projectile with the LivingEntity.getProjectile(ItemStack) method.
 
LivingHealEvent is fired when an Entity is set to be healed.
LivingHurtEvent is fired when an Entity is set to be hurt.
LivingKnockBackEvent is fired when a living entity is about to be knocked back.
 
Deprecated, for removal: This API element is subject to removal in a future version.
 
LivingSpawnEvent is fired for any events associated with Living Entities spawn status.
Fired each tick for despawnable mobs to allow control over despawning.
Fires before mob spawn events.
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(Mob, LevelAccessor, float, float, float, BaseSpawner, MobSpawnType).

This event is Cancelable.
If this event is canceled, the Entity is not spawned.

This event does not have a result.
 
 
 
 
 
 
 
 
 
 
 
 
Prevent LoaderException from adding its own stack trace to the wrapped throwable's stack trace.
 
 
 
Master list of all mods in the loading context.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Wrapper for custom login packets.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A base implementation of a Global Loot Modifier for modders to extend.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event fired when a LootTable json is loaded from json.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Registers 255 mob effects that log every tick on the client.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Convert a maven coordinate into a Path.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
MobRenderer<T extends Mob,M extends EntityModel<T>>
 
 
 
 
 
 
 
 
 
This defines a Mod to FML.
Annotate a class which will be subscribed to an Event Bus at mod construction time.
 
 
 
 
 
 
 
 
 
 
 
 
The container that wraps around mods in the system.
 
 
 
Fired when the ModelManager is notified of the resource manager reloading.
 
 
 
 
 
 
 
 
General purpose model builder, contains all the commonalities between item and block models.
 
Deprecated, for removal: This API element is subject to removal in a future version.
 
 
 
 
 
 
 
 
 
Central hub for custom model loaders.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when the ModelLoaderRegistry is ready to register model loaders
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parent type to all ModLifecycle events.
Master list of all mods - game-side version.
 
 
 
 
 
 
 
 
Loads mods.
 
 
General purpose mod loading error message
 
 
 
 
 
 
Fires when the mod loader is in the process of loading a world that was last saved with mod versions that differ from the currently-loaded versions.
 
 
This test mod provides a way to register a SimpleChannel with a different protocol version on the client and the server to cause a mod channel mismatch.
Support loading mods located in JAR files in the mods folder
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired after player movement inputs are updated.
Handlers can freely manipulate Input to cancel movement.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A model that can be rendered in multiple RenderType.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A context value that provides Matrix4f transforms for certain parts of the model.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ingredient that matches the given stack, performing an exact NBT match.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Constants related to networking
 
 
 
Fired when the channel registration (see minecraft custom channel documentation) changes.
 
 
Context for NetworkEvent
 
 
Dispatcher for sending packets in response to a received packet.
 
 
 
 
 
 
 
 
 
 
 
The impl registry.
Builder for constructing impl channels using a builder style API.
Tracks individual outbound messages for dispatch to clients during login handling.
 
 
 
 
 
 
 
 
 
 
 
Register new registries when you receive this event through RegistryBuilder and NewRegistryEvent.create(RegistryBuilder).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Equivalent to Consumer, except with nonnull contract.
Equivalent to Function, except with nonnull contract.
Proxy object for a value that is calculated on first access.
 
Equivalent to Predicate, except with nonnull contract.
Equivalent to Supplier, except with nonnull contract.
 
 
 
 
 
 
 
 
 
 
 
 
 
Base class for Noteblock Events
Fired when a Noteblock is changed.
Information about the pitch of a Noteblock note.
Describes the Octave of a Note being played by a Noteblock.
Fired when a Noteblock plays it's note.
 
 
 
 
 
 
 
 
 
 
 
 
Some reflection helper code.
 
 
 
 
ObjectHolder can be used to automatically populate public static final fields with entries from the registry.
Removes the final modifier from fields with the @ObjectHolder annotation, prevents the JITer from in lining them so our runtime replacements can work.
 
Internal registry for tracking ObjectHolder references
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fires when a player joins the server or when the reload command is ran, before tags and crafting recipes are sent to the client.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Means to distribute packets in various ways
A Distributor curried with a specific value instance, for actual dispatch
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PandaModel<T extends Panda>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Ingredient that matches the given items, performing a partial NBT match.
 
 
 
 
 
 
 
 
 
 
Deprecated. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Defines a resource pack from an arbitrary Path.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pair of a PermissionDynamicContextKey and a value of the corresponding type.
Represents a key that can be used to build a PermissionDynamicContext.
Fired to gather information for the permissions API, such as the IPermissionHandler and PermissionNodes.
Used to register a new PermissionHandler, a server config value exists to choose which one to use.
Used to register your PermissionNodes, every node that you want to use, must be registered!
Represents the basic unit at the heart of the permission system.
Utility Interface used for resolving the default value of PermissionNodes
This event will fire when the player is opped or deopped.
 
 
Type of a Permission, use the existing Types in PermissionTypes
Default PermissionTypes, if you need additional ones, please PR it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PiglinModel<T extends Mob>
 
 
 
PigModel<T extends Entity>
 
 
 
 
 
 
 
 
 
 
 
 
 
Base piston event, use PistonEvent.Post and PistonEvent.Pre
 
Fires after the piston has moved and set surrounding states.
Fires before the piston has updated block states.
This test mod blocks pistons from moving cobblestone at all except indirectly This test mod adds a block that moves upwards when pushed by a piston This test mod informs the user what will happen the piston and affected blocks when changes are made This test mod makes black wool pushed by a piston drop after being pushed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Tests if the patch to PlayerEntity to make it utilize Attributes.ATTACK_KNOCKBACK works The Knockback Sword adds a modifier to the user's attack knockback The goal of this patch is to allow modders to more easily add equipment or potion effects that affect the attack knockback of players As well as allow command users to modify this attribute for a player
 
This event is called when a player picks up a potion from a brewing stand.
 
 
 
 
 
 
 
 
 
PlayerEvent is fired whenever an event involving Living entities occurs.
BreakSpeed is fired when a player attempts to harvest a block.
This event is fired whenever a player attempts to harvest a block in Player.getDigSpeed(BlockState, BlockPos).

This event is fired via the ForgeEventFactory.getBreakSpeed(Player, BlockState, float, BlockPos).

PlayerEvent.BreakSpeed.state contains the block being broken.
Fired when the EntityPlayer is cloned, typically caused by the impl sending a RESPAWN_PLAYER event.
HarvestCheck is fired when a player attempts to harvest a block.
This event is fired whenever a player attempts to harvest a block in Player.hasCorrectToolForDrops(BlockState).

This event is fired via the ForgeEventFactory.doPlayerHarvestCheck(Player, BlockState, boolean).

PlayerEvent.HarvestCheck.state contains the BlockState that is being checked for harvesting.
 
 
 
The player is being loaded from the world save.
NameFormat is fired when a player's display name is retrieved.
This event is fired whenever a player's name is retrieved in Player.getDisplayName() or Player.refreshDisplayName().

This event is fired via the ForgeEventFactory.getPlayerDisplayName(Player, Component).

PlayerEvent.NameFormat.username contains the username of the player.
 
Fired when the game type of a server player is changed to a different value than what it was previously.
 
 
 
The player is being saved to the world store.
Fired when an Entity is started to be "tracked" by this player (the player receives updates about this entity, e.g.
Fired when an Entity is stopped to be "tracked" by this player (the player no longer receives updates about this entity, e.g.
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 ServerPlayer.getTabListDisplayName() or ServerPlayer.refreshTabListName().

This event is fired via the ForgeEventFactory.getPlayerTabListDisplayName(Player).

PlayerEvent.TabListNameFormat.getDisplayName() contains the display name of the player or null if the client should determine the display name itself.
Occurs when a player falls, but is able to fly.
 
 
 
 
 
 
 
 
PlayerInteractEvent is fired when a player interacts in some way.
This event is fired on both sides when the player right clicks an entity.
This event is fired on both sides whenever a player right clicks an entity.
This event is fired when a player left clicks while targeting a block.
This event is fired on the client side when the player left clicks empty space with any ItemStack.
This event is fired on both sides whenever the player right clicks while targeting a block.
This event is fired on the client side when the player right clicks empty space with an empty hand.
This event is fired on both sides before the player triggers Item.use(Level, Player, InteractionHand).
 
 
 
 
 
 
Exposes the player inventory WITHOUT the armor inventory as IItemHandler.
 
 
 
 
 
This event is fired on the server when a connection has started the Forge handshake, Forge will wait for all enqueued work to be completed before proceeding further with the login process.
Tests PlayerNegotiationEvent by listening for and then enqueuing work to be done asynchronously, details regarding the work execution is printed out and exceptions are thrown to ensure proper handling.
 
 
 
 
 
 
 
 
 
 
 
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.
PlayerSleepInBedEvent is fired when a player sleeps in a bed.
 
 
 
 
 
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.
 
PlayerXpEvent is fired whenever an event involving player experience occurs.
This event is fired when the player's experience level changes through the Player.giveExperienceLevels(int) method.
This event is fired after the player collides with an experience orb, but before the player has been given the experience.
This event is fired when the player's experience changes through the Player.giveExperiencePoints(int) method.
 
 
 
Used to spawn a custom entity without the same restrictions as ClientboundAddEntityPacket or ClientboundAddMobPacket To customize how your entity is created clientside (instead of using the default factory provided to the EntityType) see EntityType.Builder.setCustomClientFactory(java.util.function.BiFunction<net.minecraftforge.network.PlayMessages.SpawnEntity, net.minecraft.world.level.Level, T>).
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 LocalPlayer.playSound(SoundEvent, float, float) and Level.playSound(Player, double, double, double, SoundEvent, SoundSource, float, float).

PlaySoundAtEntityEvent.name contains the name of the sound to be played at the Entity.
PlaySoundAtEntityEvent.volume contains the volume at which the sound is to be played originally.
PlaySoundAtEntityEvent.pitch contains the pitch at which the sound is to be played originally.
PlaySoundAtEntityEvent.newVolume contains the volume at which the sound is actually played.
PlaySoundAtEntityEvent.newPitch contains the pitch at which the sound is actually played.
Changing the PlaySoundAtEntityEvent.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.
 
Raised when the SoundManager tries to play a normal sound.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This tests net.minecraftforge.event.world.World.WorldEvent.PotentialSpawns.
 
 
PotionBrewEvent.Post is fired when a potion is brewed in the brewing stand.
PotionBrewEvent.Pre is fired before vanilla brewing takes place.
 
 
Fires after Potion Color Calculation.
This Event and its subevents gets fired from LivingEntity on the MinecraftForge.EVENT_BUS.
This Event is fired when a new Potion is added to the Entity.
This Event is fired to check if a Potion can get applied to an Entity.
This Event is fired when a Potion effect expires on an Entity.
This Event is fired when a Potion is about to get removed from an Entity.
 
 
 
 
 
 
 
 
 
 
 
 
When used on a class, this sets the default state for whether to prefix any contained game test templates with the simple class name or not.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired on the MinecraftForge.EVENT_BUS.
This event is fired when a projectile entity impacts something.
This event is fired via ForgeEventFactory.onProjectileImpact(Projectile, HitResult) This event is fired for all vanilla projectiles by Forge, custom projectiles should fire this event and check the result in a similar fashion.
 
 
 
 
 
 
 
 
 
 
PropertyDispatch.C5<T1 extends Comparable<T1>,T2 extends Comparable<T2>,T3 extends Comparable<T3>,T4 extends Comparable<T4>,T5 extends Comparable<T5>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A wrapper that composes another IItemHandlerModifiable, exposing only a range of the composed slots.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Recipe<C extends Container>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mostly copied from CraftingScreen
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired on Dist.CLIENT when RecipeManager has all of its recipes synced from the server to the client (just after a client has connected),
 
RecipeType<T extends Recipe<?>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event fires when it is time to register your capabilities.
Register commands to be executed on the client using this event.
 
Commands are rebuilt whenever ReloadableServerResources is recreated.
Game tests are registered on client or server startup.
 
Fired for registering structure conversions for pre-1.18.2 worlds.
 
 
 
 
 
 
 
 
 
 
 
 
This test mod show a few example usages of IForgeRegistry.getCodec() to serialize and deserialize IForgeRegistryEntry to json or nbt.
 
 
RegistryEvent supertype.
Called whenever the ID mapping might have changed.
 
 
Actions you can take with this missing mapping.
 
Register your objects for the appropriate registry type when you receive this event.
 
 
 
 
 
 
 
Checks that RegistryObject works correctly, specifically that get() functions immediately after construction, if registries are already populated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This mod is testing the use of RenderLevelStageEvent and is a modifaction of a pre-existing test mod that used the old RenderLevelLastEvent.
 
This is a more targeted version of RenderHandEvent event that is fired specifically when a player's arm is being rendered in first person, and should be used instead if the desired outcome is just to replace the rendering of the arm, such as to make armor render on it or instead of it.
Called when a block's texture is going to be overlaid on the player's HUD.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired on the MinecraftForge.EVENT_BUS whenever a hand is rendered in first person.
This event is called when an item is rendered in an item frame.
RenderLayer<T extends Entity,M extends EntityModel<T>>
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
Use RenderLevelStageEvent instead for more flexibility and improved compatibility with translucent objects.
Fires at various times during LevelRenderer.renderLevel.
Use to create a custom RenderLevelStageEvent.Stages.
A time during level rendering for you to render custom things into the world.
 
 
 
 
RenderNameplateEvent is fired whenever the entity renderer attempts to render a name plate/tag of an entity.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A set of events which are fired at various points during tooltip rendering.
This event is fired when the colours for the tooltip background are determined.
Fires when a tooltip gathers the TooltipComponents to render.
This event is fired before any tooltip calculations are done.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Request<T extends Request<T>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Modifies specified enums to allow runtime extension by making the $VALUES field non-final and injecting constructor calls which are not valid in normal java code.
 
 
 
 
 
 
 
 
 
SaplingGrowTreeEvent is fired when a sapling grows into a tree.
This event is fired during sapling growth in SaplingBlock.advanceTree(ServerLevel, BlockPos, BlockState, Random) .

SaplingGrowTreeEvent.pos contains the coordinates of the growing sapling.
 
 
 
 
 
 
 
 
 
 
 
 
This test mod allows a custom scaffolding to move down while sneaking through a method.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event classes for GuiScreen events.
This event fires at the end of Screen.renderBackground(PoseStack, int) and before the rest of the Gui draws.
 
This event fires just after Screen.render(PoseStack, int, int, float) is called.
This event fires just before Screen.render(PoseStack, int, int, float) is called.
 
This event fires right after Screen#init().
This event fires just after initializing the Minecraft, font renderer, width, and height fields.

If canceled the following lines are skipped in Screen.init(Minecraft, int, int):
this.buttonList.clear();
this.children.clear();
this.initGui();
 
This event fires after GuiEventListener.charTyped(char, int) if the character was not already handled.
This event fires when keyboard character input is detected for a GuiScreen, before it is handled.
 
 
This event fires after GuiEventListener.keyPressed(int, int, int) if the key was not already handled.
This event fires when keyboard input is detected for a GuiScreen, before it is handled.
 
This event fires after GuiEventListener.keyReleased(int, int, int) if the key was not already handled.
This event fires when keyboard input is detected for a GuiScreen, before it is handled.
 
This event fires when a mouse click is detected for a GuiScreen, before it is handled.
 
This event fires after GuiEventListener.mouseDragged(double, double, int, double, double) if the drag was not already handled.
This event fires when a mouse drag is detected for a GuiScreen, before it is handled.
 
 
This event fires when a mouse release is detected for a GuiScreen, before it is handled.
 
This event fires after GuiEventListener.mouseScrolled(double, double, double) if the scroll was not already handled.
This event fires when a mouse scroll is detected for a GuiScreen, before it is handled.
Deprecated, for removal: This API element is subject to removal in a future version.
This event was made redundant by the removal of the screen shifting due to potion indicators in the inventory screen (along with being moved to the right hand side).
Fired to determine whether to render the potion indicators in the inventory screen in compact or classic mode.
 
 
 
 
This event is called before any Screen will open.
 
This event is fired before and after a screenshot is taken This event is fired on the MinecraftForge.EVENT_BUS This event is Cancelable ScreenshotEvent.screenshotFile contains the file the screenshot will be/was saved to ScreenshotEvent.image contains the NativeImage that will be saved ScreenshotEvent.resultMessage contains the Component to be returned.
Abstract scroll panel class.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
SensorType<U extends Sensor<?>>
 
 
 
 
 
 
 
 
 
 
 
 
Called before the server begins loading anything.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ServerChatEvent is fired whenever a C01PacketChatMessage is processed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Called after ServerStartingEvent when the server is available and ready to play.
 
 
 
 
 
 
 
 
 
Represents additional data sent by FML when a server is pinged.
 
 
Called after ServerStoppingEvent when the server has completely shut down.
Called when the server begins an orderly shutdown, before ServerStoppedEvent.
 
 
 
Used to test that modded dimension types and dimensions are loaded on a clean dedicated server launch.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Settings<T extends Settings<T>>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated.
 
 
 
 
 
SheepModel<T extends Sheep>
 
 
 
 
The ShieldBlockEvent is fired when an entity successfully blocks with a shield.
Cancelling this event will have the same impact as if the shield was not eligible to block.
The damage blocked cannot be set lower than zero or greater than the original value.
Note: The shield item stack "should" be available from LivingEntity.getUseItem() at least for players.
The ShieldBlockTest is the test mod for the ShieldBlockEvent.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A thread group and factory combination which belongs to a LogicalSide.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Simple implementation of IModelState via a map and a default value.
 
 
 
 
 
 
 
 
Implements a simple renderable consisting of a hierarchy of parts, where each part can contain a number of meshes.
 
 
 
 
 
 
 
 
 
 
Common class for a simple ticket based system.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
 
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.
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.
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
This class has a few issues, mainly MinecraftForge/MinecraftForge#8485.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An Implementation of Properties that is sorted when iterating.
 
 
 
 
 
 
 
 
 
Contains all the data to completely define a sound event.
Identifies a specific sound that has to be played in a sound event, along with all the necessary parameters.
Represents the type of sound that the SoundDefinition.Sound object represents.
Data provider for the sounds.json file, which identifies sound definitions for the various sound events in Minecraft.
 
 
 
 
 
 
 
 
 
 
 
 
Raised by the SoundManager.loadSoundSettings, this would be a good place for adding your custom sounds to the SoundPool.
 
 
 
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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Helper to allow baking models outwise the context of block/item model loading.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
An object that splits a graph into strongly connected components lazily with Tarjan's Strongly Connected Components Algorithm.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event fires when a Structure is gathering what mobs/creatures can spawn in it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The /forge tags command for listing a registry's tags, getting the elements of tags, and querying the tags of a registry object.
 
 
Fired when tags are updated on either server or client.
Represents the cause for a tag update.
TagType<T extends Tag>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility to format data into a textual (markdown-compliant) table.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired once the texture map has loaded all textures and stitched them together.
Fired when the TextureMap is told to refresh it's stitched texture.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A class to assist in the collection of data to measure the update times of ticking objects {currently Tile Entities and Entities}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Provides a topological sort algorithm.
 
 
 
 
PrintStream which redirects it's output to a given logger.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A predicate that takes three arguments and returns a boolean.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class provides a button that shows a string glyph at the beginning.
 
 
 
 
 
 
 
 
 
 
A helper that lets you bake quads that won't be used with an atlas.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
UseItemGoal<T extends Mob>
 
 
 
 
 
 
Caches player's last known usernames
Used for saving the Gson representation of the cache to disk
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Used in BrewingRecipeRegistry to maintain the vanilla behaviour.
A filter for impl packets, used to filter/modify parts of vanilla impl messages that will cause errors or warnings on vanilla clients, for example entity attributes that are added by Forge or mods.
VanillaGameEvent is fired on the server whenever one of Vanilla's GameEvents fire.
Tests VanillaGameEvent by listening for and printing out any uses of shears in the overworld.
 
 
 
A filter for vanilla impl packets.
A custom payload channel that allows sending vanilla server-to-client packets, even if they would normally be too large for the vanilla protocol.
 
 
Deprecated, for removal: This API element is subject to removal in a future version.
 
 
 
 
 
 
Builder for variant-type blockstates, i.e.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Assumes VertexFormatElement is present in the BufferBuilder's vertex format.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VillagerTradesEvent is fired during the ServerAboutToStartEvent.
 
 
 
 
 
VillageSiegeEvent is fired just before a zombie siege finds a successful location in VillageSiege#tryToSetupSiege(ServerLevel), to give mods the chance to stop the siege.

This event is Cancelable; canceling stops the siege.

This event does not have a result.
 
 
 
 
 
 
 
 
 
 
 
VoidFluidHandler is a template fluid handler that can be filled indefinitely without ever getting full.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WandererTradesEvent is fired during the ServerAboutToStartEvent.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
WolfModel<T extends Wolf>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.

WorldEvent.world contains the World this event is occurring in.

All children of this event are fired on the MinecraftForge.EVENT_BUS.
Called by WorldServer when it attempts to create a spawnpoint for a dimension.
WorldEvent.Load is fired when Minecraft loads a world.
This event is fired when a world is loaded in ClientLevel#ClientLevel(ClientPacketListener, ClientLevel.ClientLevelData, ResourceKey, DimensionType, int, int, Supplier, LevelRenderer, boolean, long), MinecraftServer#createLevels(ChunkProgressListener).
Fired when building a list of all possible entities that can spawn at the specified location.
WorldEvent.Save is fired when Minecraft saves a world.
This event is fired when a world is saved in ServerLevel.save(ProgressListener, boolean, boolean).
WorldEvent.Unload is fired when Minecraft unloads a world.
This event is fired when a world is unloaded in Minecraft.setLevel(ClientLevel), MinecraftServer.stopServer(),, Minecraft.clearLevel(Screen) ForgeInternalHandler.onDimensionUnload(Unload).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ZombieEvent is fired whenever a zombie is spawned for aid.
SummonAidEvent is fired when a Zombie Entity is summoned.