所有类和接口

说明
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when objects are added to the registry.
 
 
 
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.
Loot modifier that rolls one loot table (the "subtable" and adds the results to the loot being modified (the "target table").
 
 
 
Payload that can be sent from the server to the client to add an entity to the world, with custom data.
A custom payload that updates the full dataslot value instead of just the short value
A version of data map types that has two more features for compatibility and conflict handling: mergers and removers.
A custom payload that allows for opening screens with additional data.
 
 
 
 
 
Base class used for advancement-related events.
Fired when the player earns an advancement.
Fired when the player's progress on an advancement criterion is granted or revoked.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired when AlterGroundDecorator.placeBlockAt(TreeDecorator.Context, BlockPos) attempts to alter a ground block when generating a feature.
An example of this would be large spruce trees converting grass blocks into podzol.
 
 
 
 
 
 
 
 
 
Test mod that demos disabling ambient occlusion on specific faces of "elements" models.
 
 
 
 
 
 
 
 
Holderset that represents an intersection of other holdersets.
 
 
 
 
 
 
 
 
 
This event is fired when an Animal is tamed.
 
 
The AnvilCraftEvent is fired when the player picks up the result of an anvil operation, "crafting" it.
This event is fired after the player picks up the result of the anvil operation, and all post-processing has occurred.
This event is fired when the player picks up the result of the anvil operation, but before any post-processing occurs.
 
This event is fired when an anvil's left input is not empty, and any of the inputs (left, right, or name) are changed.
A record packing all the vanilla result data.
This class provides a way to test the AnvilUpdateEvent.
 
Holds the pieces every test needs after setup.
 
 
Holderset that represents all elements of a registry.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired on both sides when a LivingEntity's armor is dealt damage in doHurtEquipment.
 
 
 
 
 
 
 
 
 
 
 
 
 
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 ICancellableEvent.
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 ICancellableEvent.
 
 
 
 
 
 
Implementation class for objects that can hold data attachments.
Version of the AttachmentHolder that is suitable for storing in a field.
 
 
Represents a data attachment type: some data that can be added to any object implementing IAttachmentHolder.
 
 
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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Extended Item.TooltipContext used when generating attribute tooltips.
Utility code to support IAttributeExtension.
Stores a single base modifier (determined by IAttributeExtension.getBaseId()) and any other children non-base modifiers for the same attribute.
 
Manager for light values controlled by dynamic data in BlockEntitys.
 
 
 
 
 
 
 
 
 
 
 
 
 
BabyEntitySpawnEvent is fired just before a baby entity is about to be spawned.
 
 
 
Fired when the registry is finished with all registration, or otherwise when it's frozen, in general, such as after snapshot injection.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Base class to reuse code common between most/all *Capability implementation.
 
 
 
 
 
 
 
 
Base implementation of a FlowingFluid for mods to use.
 
 
 
 
 
 
 
 
A default, exposed implementation of ITrade.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
JSON-serializable biome modifier.
 
 
Stock biome modifier that adds carvers to biomes (from the configured_carver json registry).
Stock biome modifier that adds features to biomes.
Stock biome modifier at adds spawn costs to a biome.
Stock biome modifier that adds a mob spawn to a biome.
Stock biome modifier that removes carvers from biomes.
Stock biome modifier that removes features from biomes.
Stock biome modifier that removes mob spawn costs from a biome.
Stock biome modifier that removes mob spawns from a biome.
 
 
 
This tests the following features and requirements of biome modifier jsons::
 
 
 
 
 
 
 
 
 
 
 
Extension of the vanilla builder but also provides read access and a copy-from-existing-data helper.
 
 
Data map value for biome villager types.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A BlockCapability gives flexible access to objects of type T located in the world.
A cache for block capabilities, to be used to track capabilities at a specific position, with a specific context.
 
 
 
 
 
 
 
 
Fired when a block is broken and the drops have been determined, but before they have been added to the world.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Allows injecting new blocks into a block entity's BlockEntityType.validBlocks field in a safe manner.
 
 
Fired when a block is right-clicked by a tool to change its state.
This event is fired on the server when a player attempts to break a block, upon receipt of a block break packet.
Fired when a single block placement triggers the creation of multiple blocks(e.g. placing a bed block).
Called when a block is placed.
Fired when when farmland gets trampled This event is ICancellableEvent
Fired when a liquid places a block.
Fired when a physics update occurs on a block.
Fired when an attempt is made to spawn a nether portal from BaseFireBlock.onPlace(BlockState, Level, BlockPos, BlockState, boolean).
 
 
 
 
 
 
 
 
This event is fired whenever a block (like a sapling) grows into a feature (like a tree).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents a captured snapshot of a block, including the level, position, state, BE data, and setBlock flags.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This item tag provider waits for block tags to be available and allows to declaratively copy block tags over to item tags using the BlockTagCopyingItemTagProvider.copy(TagKey, TagKey) method.
Ingredient that matches ItemStacks of Blocks from a TagKey<Block>, useful in cases like "minecraft:convertable_to_mud" where there isn't an accompanying item tag
 
 
 
 
 
 
 
 
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 bone meal on a block.
 
 
 
 
 
A boolean attribute only has two states, on or off, represented by a value of 0 (false) or 1 (true).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Starting from 1.20.5 this is used to hold IBrewingRecipes inside of PotionBrewing.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when the contents of a specific creative mode tab are being populated in CreativeModeTab.buildContents(CreativeModeTab.ItemDisplayParameters).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for dealing with BundlePackets.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired when the game checks if a sleeping entity may continue sleeping.
 
 
This LootItemCondition "neoforge:can_item_perform_ability" can be used to check if an item can perform a given ItemAbility.
Called from ServerPlayer.startSleepInBed(BlockPos) when a player attempts to sleep.
 
 
 
 
 
Capabilities provided by NeoForge itself, for modders to directly reference.
 
 
 
 
Holder for capability listeners associated to a level.
 
Helper class to manage registering capabilities.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fluid content information for cauldrons.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utilities for manipulation of Netty Channel attributes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ChunkDataEvent is fired when a chunk is about to be loaded from disk or saved to disk.
ChunkDataEvent.Load is fired when the chunk has been created from the provided SerializableChunkData and is about to be marked as loaded.
ChunkDataEvent.Save is fired after the chunk has been serialized to the provided SerializableChunkData which is about to be handed off to a background thread to be written to disk.
 
 
 
 
 
Base class for events involving chunks.
This event is fired after Minecraft loads a LevelChunk into the level, on both the client and server.
This event is fired when Minecraft unloads a Chunk from the level, just before the side-specific unload method is called.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired whenever a chunk has its ticket level changed via the server's ChunkMap.
 
 
 
 
 
 
 
This event is fired whenever a chunk has a watch-related action.
This event is fired whenever a chunk being watched by a ServerPlayer is transmitted to their client (see PlayerChunkSender.sendNextChunks(ServerPlayer)).
This event is fired whenever a ServerPlayer stops watching a chunk.
This event is fired whenever a ServerPlayer begins watching a chunk and the chunk is queued up for sending to the client (see ChunkMap.markChunkPendingToSend(ServerPlayer, LevelChunk)).
 
 
 
 
 
 
 
 
 
 
 
 
Fired when the registry is cleared.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ClientInformationUpdatedEvent is fired when a player changes server-synced client options, specifically those in ClientInformation.
Tests the client info update event by telling a player their new and old info on updates.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Special thanks to Jasmine and Gegy for allowing us to use their pregenerator mod as a model to use in NeoForge!
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CommandEvent is fired after a command is parsed, but before it is executed.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for various command-related operations.
 
 
 
 
 
Class for various common (i.e. client and server-side) hooks.
 
 
 
 
Internal class for handling the steps of mod loading that are common for client, data and server runs.
 
 
Common Register, used to send play-phase channels during the configuration phase.
Common Register configuration task.
Common version payload.
Common Version configuration task.
 
 
 
 
 
 
 
 
Variant of EnergyStorage for use with data components.
Variant of ItemStackHandler for use with data components.
 
 
 
 
 
 
 
 
 
 
 
 
 
Composite holdersets have component holdersets and possibly owner holdersets (which have this holderset as a component).
 
 
 
 
Data map value for compostables.
 
 
 
 
 
Fluid ingredient that matches if any of the child ingredients match.
Ingredient that matches if any of the child ingredients match
 
 
 
 
A list that concatenates multiple other lists for efficient iteration.
 
 
Tests for ConditionalOps and related methods.
 
 
 
 
Extension of RegistryOps that also encapsulates a ICondition.IContext.
 
 
Wrapper around a RecipeOutput that adds conditions to all received recipes.
 
 
 
 
 
 
 
 
 
A payload that contains a config file.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Declares categories of connections based on the other side.
Utility class for storing and retrieving Connection objects from ChannelHandlerContext objects.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Reload listeners that descend from this class will have the reload context automatically populated when it is available.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Test features and guards of crash-callables.
 
 
 
 
 
Dummy exception used as the 'root' exception in mod loading crash reports, which has no stack trace.
 
 
 
 
 
 
 
Fired when a fluid checks if nearby blocks can convert it to a source block.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired when a player attacks an entity in Player.attack(Entity).
 
 
Parent of the two crop growth events.
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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Adds a block and item to test custom client-controlled breaking sounds.
 
This mod tests custom ColorResolvers using RegisterColorHandlersEvent.ColorResolvers.
 
 
 
 
 
 
FluidIngredient that wraps another fluid ingredient to override its SlotDisplay.
Ingredient that wraps another ingredient to override its SlotDisplay.
 
 
 
A custom fluid container item with a capacity of a vanilla bucket which uses the FluidUtil functionalities to pickup and place fluids.
 
 
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.
 
 
 
 
 
 
 
 
 
 
Test mod for the custom transform types feature.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A test creating a custom sprite source provider a sprite using it and an item using that sprite.
 
 
 
 
 
 
 
 
 
 
 
DamageContainer encapsulates aspects of the entity damage sequence so that relevant context related to damage dealt is accessible throughout the entire sequence.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fluid ingredient that matches the given set of fluids, additionally performing either a strict or partial test on the FluidStack's components.
 
 
Ingredient that matches the given items, performing either a strict or a partial NBT test.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A provider for data map generation.
 
 
Event fired on the game event bus when the data maps of a registry have either been synced to the client or reloaded on the server.
 
 
 
A registry data map contains data-driven object that can be attached to a registry object.
A builder for data map types.
An interface used to merge two conflicting registry data map values attached to the same object.
An interface used to remove values from registry data maps.
A remover that completely removes the value.
An extension of the RegistriesDatapackGenerator which properly handles referencing existing dynamic registry objects within another dynamic registry object.
 
 
 
 
 
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.
 
 
 
 
 
Fired when datapack registries can be registered.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Special DeferredHolder for Blocks that implements ItemLike.
 
 
 
 
 
A Deferred Holder is a Holder that is constructed with only a ResourceKey.
Checks that DeferredHolder works correctly, specifically that get() functions immediately after construction, if registries are already populated.
Special DeferredHolder for Items that implements ItemLike.
 
 
A helper class to aid in registering objects to modded and vanilla registries and provide deferred suppliers to access those objects.
Specialized DeferredRegister for DataComponentTypes.
Specialized DeferredRegister for EntityTypes.
 
 
 
A subclass of SoundType that uses Supplier<SoundEvent>s.
Tests that the DeferredWorkQueue properly executes enqueued tasks and forwards any exceptions thrown by those tasks
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fluid ingredient that matches the difference of two provided fluid ingredients, i.e.
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 ...).
 
 
 
 
 
Protocol utilities for communicating over Dinnerbone's protocol.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fills or drains a fluid container item using a Dispenser.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The /neoforge dump registry command for printing out the contents of a registry to a file in the game directory's dumps/registry folder.
Tests that the values for defaulted optional tags defined in multiple places are combined.
 
 
 
 
 
 
An extension to the netty ChannelHandler interface that allows for dynamic injection of handlers into the pipeline, based on whether they are needed on the current connection or not.
 
 
 
 
A special type of test which may only be linked to one framework at a time.
 
 
 
 
 
Fires for each effect to allow modification or replacement of the particle options (you can set it to null to reset it to default).
 
 
 
 
 
 
 
Test mod that demos emissivity on "elements" models.
 
 
 
Implementation of IEnergyStorage that cannot store, receive, or provide energy.
 
 
 
 
 
 
 
 
 
 
 
 
Annotate a test method with this annotation in order to configure an empty template for the test.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EntityAttributeCreationEvent.
Use this event to register attributes for your own EntityTypes.
EntityAttributeModificationEvent.
Use this event to add attributes to existing entity types.
 
 
 
 
An EntityCapability gives flexible access to objects of type T from entities.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 NeoForge.EVENT_BUS.
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.
Fired whenever the entity's Pose changes for manipulating the resulting EntityDimensions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when
引用无效
Entity#isInvulnerableTo(DamageSource)
is invoked and determines if downstream hurt logic should apply.
 
This event is fired whenever an Entity joins a Level.
This event is fired whenever an Entity leaves a Level.
 
 
 
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 mob griefing game rule is checked.
This event gets fired whenever a entity mounts/dismounts another entity.
entityBeingMounted can be null, be sure to check for that.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 EventHooks.onEntityStruckByLightning(Entity, LightningBolt).

EntityStruckByLightningEvent.lightning contains the instance of EntityLightningBolt attempting to strike an entity.

This event is ICancellableEvent.
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 NeoForge.EVENT_BUS.
EntityTeleportEvent.EnderEntity is fired before an Enderman or Shulker randomly teleports.
EntityTeleportEvent.EnderPearl is fired before an Entity is teleported from an EnderPearlEntity.
EntityTeleportEvent.ChorusFruit is fired before a LivingEntity is teleported due to consuming Chorus Fruit.
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.
 
 
 
 
 
 
Base class of the two entity tick events.
EntityTickEvent.Post is fired once per game tick, per entity, after the entity performs work for the current tick.
EntityTickEvent.Pre is fired once per game tick, per entity, before the entity performs work for the current tick.
 
 
 
EntityTravelToDimensionEvent is fired before an Entity travels to a dimension.

EntityTravelToDimensionEvent.dimension contains the id of the dimension the entity is traveling to (may be the same as the entity's current dimension).

This event is ICancellableEvent.
If this event is canceled, the Entity does not travel to the dimension.

This event does not have a result.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A ParameterResolver that provides a MinecraftServer parameter.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ExplosionEvent triggers when an explosion happens in the level.

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 ICancellableEvent.
ExplosionEvent.Detonate can modify the affected blocks and entities.
Children do not use
引用无效
HasResult
.
Children of this event are fired on the NeoForge.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.
ExplosionKnockbackEvent is fired once the explosion has calculated the knockback velocity to add to the entity caught in blast.

This event is not ICancellableEvent.
This event does not use
引用无效
HasResult
.
This event is fired on the NeoForge.EVENT_BUS.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A basic fake server player implementation that can be used to simulate player actions.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class represents the different features a TestFramework may have.
 
 
 
 
 
 
 
 
 
 
 
 
 
Condition checking that a set of feature flags are enabled.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired before Mob.finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.DifficultyInstance, net.minecraft.world.entity.EntitySpawnReason, net.minecraft.world.entity.SpawnGroupData) is called.
This allows mods to control mob initialization.
In vanilla code, this event is injected by a transformer and not via patch, so calls cannot be traced via call hierarchy (it is not source-visible).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Holds the result of a fluid action from FluidUtil.
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.
This class serves as the fluid analogue of an item Ingredient, that is, a representation of both a predicate to test FluidStacks against, and a list of matching stacks for e.g. display purposes.
 
 
This represents the "type" of a FluidIngredient, providing means of serializing and deserializing the ingredient over both JSON and network, using the FluidIngredientType.codec and FluidIngredientType.streamCodec, respectively.
A registry which defines the interactions a source fluid can have with its surroundings.
An interface which performs an interaction for a source.
An interface which tests whether a source fluid can interact with its surroundings.
Holds the interaction data for a given source type on when to succeed and what to perform.
 
 
 
Slot display for a single fluid holder.
ItemStack equivalent for fluids.
Base fluid stack contents factory: directly returns the stacks.
Utility class for creating linked set for FluidStack with specific hash strategy as FluidStack does not override Object.hashCode() and Object.equals(Object).
Slot display for a given fluid stack, including fluid amount and data components.
 
 
Slot display that shows all fluids in a given tag.
 
Flexible implementation of a Fluid Storage object.
 
 
A definition of common attributes, properties, and methods that is applied to a Fluid.
A record that holds some information to let a fluid drip from Pointed Dripstone stalactites and fill cauldrons below.
The properties of the fluid.
A test case used to define and test fluid type integration into fluids.
 
 
Various tests for FluidUtil, that run when the mod is loaded.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Helper class to keep track of a ticket owner by controller ID and owner object
Helper class to manage tracking and handling loaded tickets.
 
 
 
 
Apply this annotation to a class in order to add a common configuration to all child tests.
 
 
 
 
 
 
 
 
 
 
 
 
An IItemHandler that delegates each method to another IItemHandler.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for working with FriendlyByteBufs.
 
 
 
 
 
 
 
 
 
 
Packet payload for sending a frozen registry to the client
This payload is sent to the client when the server has finished sending all the frozen registries.
Packet payload sent to the client to start the frozen registry sync.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for furnace fuels.
FurnaceFuelBurnTimeEvent is fired when determining the fuel value for an ItemStack.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A simple marker event that notifies when the game is about to close.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is used to collect the IDs of attribute modifiers that will not be displayed in item tooltips.
 
 
 
Special thanks to Jasmine and Gegy for allowing us to use their pregenerator mod as a model to use in NeoForge!
 
 
Can be used in place of OverlayMetadataSection during datagen if you wish to generate conditions.
Special thanks to Jasmine and Gegy for allowing us to use their pregenerator mod as a model to use in NeoForge!
 
 
 
Special thanks to Jasmine and Gegy for allowing us to use their pregenerator mod as a model to use in NeoForge!
 
A generic packet splitter that can be used to split packets that are too large to be sent in one go.
 
 
 
 
 
 
 
 
This event is fired whenever the enchantment level of a particular item is requested for gameplay purposes.
It is called from
引用无效
IItemStackExtension#getEnchantmentLevel(Enchantment)
and
引用无效
IItemStackExtension#getAllEnchantments()
.
 
 
 
 
 
 
 
 
 
 
 
 
Provider for forge's GlobalLootModifier system.
 
 
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)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is ICancellableEvent
GrindstoneEvent.OnPlaceItem is fired when the inputs to a grindstone are changed.
This event is ICancellableEvent
GrindstoneEvent.OnTakeItem is fired when the output in a grindstone are is taken.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Used by PayloadRegistrar to declare the default handling thread for registered IPayloadHandlers.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility class for creating a nice human readable dump of binary data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Custom copy handler for data attachments, to improve efficiency compared to the default serialize-deserialize-implementation.
An object that can hold data attachments.
Serializer for data attachments.
 
 
Extension interface for BlockAndTintGetter.
 
 
 
 
 
Interface for more flexible brewing recipes.
 
A listener for block capability invalidation.
 
 
 
 
Extension interface for ClientCommonPacketListener
Additional methods for CommandSourceStack so that commands and arguments can access various things without directly referencing using server specific classes
Extension interface and functionality hoist for both ServerCommonPacketListener and ClientCommonPacketListener.
 
 
This extension of MenuType.MenuSupplier allows a mod to handle the extra data it sent to the client when creating the client-side copy of a menu.
Defines a custom configuration task that should be run when a client connects.
Interface for mods' custom holderset types
Interface that modders can implement to create new behaviors for Ingredients.
 
 
 
 
 
 
An IDeathMessageProvider is used by custom DeathMessageType instances.
This allows providing custom death messages based on the available parameters, instead of the hard-coded vanilla defaults.
 
A strategy that uses System.identityHashCode(Object) and a == b comparisons.
 
 
 
 
An energy storage is the unit of interaction with Energy inventories.
 
An interface for Entities that need extra information to be communicated between the server and client when they are spawned.
 
 
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 helper methods for FriendlyByteBuf.
Implementation that defines what a global loot modifier must implement in order to be functional.
 
 
 
 
 
Extension for Holder
 
 
What format a holderset serializes to in json/nbt/etc
 
 
 
 
 
 
 
 
 
Extension type for the MenuProvider interface.
 
This class defines a replacement for the default minecart collision code.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This class validates that
引用无效
Ingredient#invalidate()
is called correctly.
To verify, join a world, then leave it.
 
 
 
 
An ingredient type encapsulates the codecs to serialize and deserialize a custom ingredient.
 
 
 
 
 
 
 
Special linked hash set that allow changing the order of its entries and is strict to throw if attempting to add an entry that already exists.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
FluidIngredient that matches if all child ingredients match
Ingredient that matches if all child ingredients match
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Contains helpers for performing file I/O in a resilient manner.
Declares an interface which is functionally equivalent to Consumer, except supports the ability to throw IOExceptions that may occur.
 
 
 
 
 
Extension for PacketFlow to add some utility methods.
 
Common context interface for payload handlers.
Callback for handling custom packets.
 
 
This is the Heart of the PermissionAPI, it manages PermissionNodes as well as it handles all permission queries.
 
 
Extension class for PlayerList
This interface is to be implemented on Container objects.
Extra methods for RecipeOutput.
An IReductionFunction is used by DamageContainer instances.
This allows sequential modification of damage reduction values to be stored and later invoked before actual reductions are applied to the damage sequence.
An extension for Registry, adding some additional functionality to vanilla registries, such as callbacks and ID limits.
 
 
An IScalingFunction is used by custom DamageScaling instances.
This allows finer control over the actual scaling value, instead of the hard-coded vanilla defaults.
Extension class for ServerChunkCache
Extension interface for ServerCommonPacketListener
Extension class for ServerGamePacketListener
This interfaces allows shears (modded 无效输入:'&' vanilla) and entities (modded 无效输入:'&' vanilla) to cooperate without needing advance knowledge of each other.
 
 
 
 
 
 
 
 
 
 
 
This event is fired when the attributes for an item stack are queried (for any reason) through IItemStackExtension.getAttributeModifiers().
Advanced version of ItemAttributeModifiers.Builder which supports removal and better sanity-checking.
Internal key class.
 
 
 
 
 
 
 
 
 
 
 
An ItemCapability gives flexible access to objects of type T from item stacks.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Parent class of the two events that fire when a Player collides with an ItemEntity.
This event is fired when an ItemEntity on the ground has been picked up by the player and after the item is added to the player's inventory.
This event is fired when a player collides with an ItemEntity on the ground.
Base class for all ItemEntity events.
 
Event that is fired when an ItemEntity's age has reached its maximum lifespan.
This event is called when a player fishes an item.
 
 
Slot class that can be used with immutable IItemHandlers like ComponentItemHandler.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event provides the functionality of the pair of functions used for the Bundle, in one event: Item.overrideOtherStackedOnMe(ItemStack, ItemStack, Slot, ClickAction, Player, SlotAccess) Item.overrideStackedOnOther(ItemStack, Slot, ClickAction, Player) This event is fired before either of the above are called, when a carried item is clicked on top of another in a GUI slot.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event that is fired whenever a player tosses (Q) an item or drag-n-drops a stack of items outside the inventory GUI screens.
 
Tests if item usage animation system works as intended.
 
 
 
 
 
 
 
 
 
Extension interface for Transformation.
Represents a registry object (usually a Holder) that has data maps.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Dataprovider for using a Codec to generate jsons.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
Loads the built-in language files, and handles loading the default language ("en_us") on the dedicated server.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Proxy object for a value that is calculated on first access, and can be refreshed as well.
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Key and value decoded independently, unknown set of keys
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired whenever an event involving a LevelAccessor occurs.
This event fires whenever a ServerLevel is initialized for the first time and a spawn position needs to be chosen.
This event is fired whenever a level loads.
Fired when building a list of all possible entities that can spawn at the specified location.
This event fires whenever a level is saved.
This event is fired whenever a level unloads.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Base class of the two level tick events.
LevelTickEvent.Post is fired once per game tick, per level, after the level performs work for the current tick.
LevelTickEvent.Pre is fired once per game tick, per level, before the level performs work for the current tick.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
LivingBreatheEvent is fired whenever a living entity ticks.

This event is fired via CommonHooks.onLivingBreathe(LivingEntity, int, int).

This event is not
引用无效
ICancellableEvent
.

This event does not have a result.
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 captures an entity's loss of health.
LivingDamageEvent.Post is fired after health is modified on the entity.
The fields in this event represent the FINAL values of what was applied to the entity.
LivingDamageEvent.Pre is fired when an Entity is set 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
引用无效
CommonHooks#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.
引用无效
#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 ICancellableEvent.
If this event is canceled, the Entity does not drop anything.

This event does not have a result.
LivingDrownEvent is fired whenever a living entity can't breathe and its air supply is less than or equal to zero.
 
 
 
 
 
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 a LivingEntity 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 NeoForge.EVENT_BUS.
LivingJumpEvent is fired when an Entity jumps.
This event is fired whenever an Entity jumps in LivingEntity#jumpFromGround(), MagmaCube#jumpFromGround(), Slime#jumpFromGround(), Camel#executeRidersJump(), and AbstractHorse#executeRidersJump().

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

This event is not ICancellableEvent.

This event does not have a result.
 
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(double, float, DamageSource).

This event is fired via the CommonHooks.onLivingFall(LivingEntity, double, 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.
LivingIncomingDamageEvent is fired when a LivingEntity is about to receive damage.
LivingKnockBackEvent is fired when a living entity is about to be knocked back.
LivingShieldBlockEvent is fired when an entity is hurt and vanilla checks if the entity is attempting to block 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.
 
This event is fired when a living entity is about to swap the items in their main and offhand.
Fired when an Entity attempts to use a totem to prevent its death.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A test mod used to test splitting the ClientboundLoginPacket.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A base implementation of a Global Loot Modifier for modders to extend.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when a LootTable is loaded from JSON.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Helper class that always executes the wrapped handler on the main thread.
 
 
 
 
 
Registers 255 mob effects that log every tick on the client.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This test mod provides two items for testing the Forge onStopUsing hook.
 
 
 
Test mod that demos most Forge-provided model loaders in a single block + item, as well as in-JSON render states and the refactored immutable ModelData managed by the client level.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Redirect calls to one method to another.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired from Mob.checkDespawn().
It fires once per tick per mob that is attempting to despawn.
 
 
 
 
This event is fired when an interaction between a LivingEntity and MobEffectInstance happens.
This event is fired when a new MobEffectInstance is added to an entity.
This event is fired to check if a MobEffectInstance can be applied to an entity.
 
This event is fired when a MobEffectInstance expires on an entity.
This Event is fired when a MobEffect is about to get removed from an Entity.
 
 
 
 
 
 
 
 
 
 
 
This class holds all events relating to the entire flow of mob spawns.
Currently, the events have the following flow for any given mob spawn:
This event is fired when a mob checks for a valid spawn position, after SpawnPlacements.checkSpawnRules(net.minecraft.world.entity.EntityType<T>, net.minecraft.world.level.ServerLevelAccessor, net.minecraft.world.entity.EntitySpawnReason, net.minecraft.core.BlockPos, net.minecraft.util.RandomSource) has been evaluated.
Conditions validated here include the following: Obstruction - mobs inside blocks or fluids. Pathfinding - if the spawn block is valid for pathfinding. Sea Level - Ocelots check if the position is above sea level. Spawn Block - Ocelots check if the below block is grass or leaves.
 
This event is fired when Spawn Placements (aka Spawn Rules) are checked, before a mob attempts to spawn.
Spawn Placement checks include light levels, slime chunks, grass blocks for animals, and others in the same vein.
The purpose of this event is to permit runtime changes to any or all spawn placement logic without having to wrap the placement for each entity.
 
 
 
 
 
 
This event is fired whenever a mob is removed and splits into multiple children.
 
 
 
 
 
 
 
 
 
 
 
 
 
Used to prevent cached config values from being updated unless the game or the world is restarted.
 
 
Registration for a custom packet payload.
Represents a modded network component, indicates what channel and version the client and server agreed upon.
A payload that contains the modded network configuration and play components.
Represents a potential modded network component, used for querying the client for modded network components.
Payload for the modded network query request.
Payload sent to the client when the server has failed to set up the modded network.
Registration for a custom packet payload.
 
A container for data to be passed to BlockStateModel instances.
 
A manager for the lifecycle of all the ModelData instances in a Level.
A property to be used in ModelData.
 
Holds lazy-evaluable modified biome info.
Record containing raw biome data.
 
Holds lazy-evaluable modified structure info.
Record containing raw structure data.
 
 
This event is fired on the logical server when a ServerLevel is building its custom spawners.
The event used to modify the default components of an item.
Fired during startup after builtin registries are constructed.
 
 
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 CustomPacketPayload with a different protocol version on the client and the server to cause a mod channel mismatch.
 
 
 
 
 
Data map value for monster room spawner mobs.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A mutable linked map with a hashing strategy and a merge function.
 
Interface with directly mutating methods for TestFrameworks.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents the input to the negotiation process for a single network payload type.
Represents a network component that has been negotiated between the client and server.
Represents the result of a negotiation of network components.
 
 
 
 
 
 
 
 
 
 
General configuration that doesn't need to be synchronized but needs to be available before server startup
 
 
 
Holds all data maps provided by NeoForge.
 
 
 
 
 
 
Codec-related helper functions that are not in ExtraCodecs, but useful to NeoForge and other mods.
 
 
 
 
 
 
Currently used only for replacing shears item to shears_dig item ability
 
Allows common code to call client-only methods, through NeoForgeClientProxy.
 
 
 
A class that exposes static references to NeoForge registries.
 
 
 
 
 
 
 
 
 
Keys for Neo-added resource listeners, for use in dependency ordering in the relevant events.
General configuration that needs to be synchronized to the server and/or is desirable to be configurable per world
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Represents a complete negotiated network payload type, which is stored on the client and server.
Negotiates the network components between the server and client.
The result of a negotiation.
 
 
 
Represents a complete negotiated network, which is stored on the client and server.
Core registry for all modded networking.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when new registries can be constructed and registered.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
 
 
Holderset that represents all elements of a registry not present in another holderset.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ObjectTimings aggregates timings data collected by TimeTracker for an Object and performs operations for interpretation of the data.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fires when a player joins the server or when the reload command is ran, before tags and crafting recipes are sent to the client.
 
 
 
Annotate a static method accepting exactly one parameter of MutableTestFramework (or parent interfaces) to register that method as an on-init listener, which will be called in MutableTestFramework.init(IEventBus, ModContainer).
 
Special thanks to Jasmine and Gegy for allowing us to use their pregenerator mod as a model to use in NeoForge!
 
A test case used to ensure that IBlockStateExtension.onTreeGrow(LevelReader, BiConsumer, RandomSource, BlockPos, TreeConfiguration) works properly, using a custom grass block that should revert to its custom dirt form after a tree grows on top of it instead of turning to dirt.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Holderset that represents a union of other holdersets.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for oxidizable blocks allowing mods to easily register basic oxidizing interactions for their blocks.
 
 
 
 
 
 
 
 
 
 
 
Means to distribute packets in various ways.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for parrot imitations.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Builder-style helper for registering CustomPacketPayloads, used for modded networking.
Holds the information needed to describe a registered payload.
A Percentage Attribute is one which always displays modifiers as percentages, including for AttributeModifier.Operation.ADD_VALUE.
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
 
Implement this interface in a StructurePiece class extension to modify its Beardifier behavior.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 event is called when a player picks up a potion from a brewing stand.
 
 
 
 
 
 
PlayerDestroyItemEvent is fired when a player destroys an item.
This event is fired whenever a player destroys an item in
引用无效
MultiPlayerGameMode#destroyBlock(BlockPos)
,
引用无效
MultiPlayerGameMode#useItem(Player, InteractionHand)
,
引用无效
MultiPlayerGameMode#useItemOn(LocalPlayer, InteractionHand, BlockHitResult)
, Player.attack(Entity), Player#hurtCurrentlyUsedShield(float), Player.interactOn(Entity, InteractionHand), CommonHooks.getCraftingRemainder(ItemStack), ServerPlayerGameMode.useItem(ServerPlayer, Level, ItemStack, InteractionHand) , ServerPlayerGameMode.useItemOn(ServerPlayer, Level, ItemStack, InteractionHand, BlockHitResult) and ServerPlayerGameMode.destroyBlock(BlockPos).

PlayerDestroyItemEvent.original contains the original ItemStack before the item was destroyed.
 
 
 
 
 
PlayerEvent is fired whenever an event involving a Player 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 EventHooks.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 EventHooks.doPlayerHarvestCheck(Player, BlockState, BlockGetter, BlockPos).

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 EventHooks.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. motion).
Fired when an Entity is stopped to be "tracked" by this player (the player no longer receives updates about this entity, e.g. motion).
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 EventHooks.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.
 
 
 
 
 
 
 
 
Fired by
引用无效
PlayerList#respawn(ServerPlayer, boolean)
before the server respawns a player.
 
 
 
 
 
 
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.
This event is fired from PhantomSpawner.tick(net.minecraft.server.level.ServerLevel, boolean, boolean) when phantoms would attempt to be spawned, with one event fired per player.
Controls if the spawn attempt for the group of phantoms will occur.
This tests for PlayerSpawnPhantomsEventTest and fires when the normal Phantom Spawns could occur.
 
 
 
 
Base class of the two player tick events.
PlayerTickEvent.Post is fired once per game tick, per player, after the player performs work for the current tick.
PlayerTickEvent.Pre is fired once per game tick, per player, before the player performs work for the current tick.
 
 
 
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.
 
PlayLevelSoundEvent is fired when a sound is played on a Level.
PlayLevelSoundEvent.AtEntity is fired when a sound is played on the Level at an Entity's position.
PlayLevelSoundEvent.AtPosition is fired when a sound is played on the Level at a specific position.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This tests net.minecraftforge.event.world.World.LevelEvent.PotentialSpawns.
 
 
PotionBrewEvent.Post is fired when a potion is brewed in the brewing stand.
PotionBrewEvent.Pre is fired before vanilla brewing takes place.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired on the NeoForge.EVENT_BUS.
This event is fired when a projectile entity impacts something.
This event is fired via EventHooks.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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for raid hero gifts.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A wrapper that composes another IItemHandlerModifiable, exposing only a range of the composed slots.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Mostly copied from CraftingScreen
 
 
 
 
 
 
We use this to transfer the actual recipe content from server to client.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data Provider class for generating the recipe_priorities.json file and adding recipe priority overrides to it.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event to register new brewing recipes.
Fired to register capability providers at an appropriate time.
Event to register CauldronFluidContent for modded cauldrons.
Commands are rebuilt whenever ReloadableServerResources is recreated.
Fired when the server configuration packet listener collects all the configuration tasks that should be run on the server to configure the client.
Event fired on the mod event bus, in order to register data map types.
 
Fired for each registry when it is ready to have modded objects registered.
 
Game tests are registered on client or server startup.
Event fired when the NetworkRegistry is being set up.
This event allows each EntityType to have a SpawnPlacements.SpawnPredicate registered or modified.
 
 
Fired for registering structure conversions for pre-1.18.2 worlds.
Put this annotation on a static field containing either a StructureTemplate, a Supplier of StructureTemplate or a StructureTemplateBuilder in order to automatically register that code-defined template.
Fired in order to register chunk ticket controllers.
 
A helper for registration in tests.
 
 
 
 
已过时。
 
 
 
 
 
 
 
Marker interface for registry callbacks.
 
This test mod show a few example usages of Registry.byNameCodec() to serialize and deserialize registry entries to JSON or NBT.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Replaces code such as itemstack.getItem() == Items.CROSSBOW with instanceof checks such as itemstack.getItem() instanceof CrossbowItem.
Replaces direct field access in a class with access to the getter.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This test mod allows a custom scaffolding to move down while sneaking through a method.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
We use a "self-test" to launch a client and dedicated server from within our CI and exit.
 
 
 
 
 
 
 
 
 
 
 
Called before the server begins loading anything.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This event is fired whenever a ServerboundChatPacket is received from a client who has submitted their chat message.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Called after ServerStartingEvent when the server is available and ready to play.
 
 
 
 
 
 
 
Called after ServerStoppingEvent when the server has completely shut down.
Called when the server begins an orderly shutdown, before ServerStoppedEvent.
 
 
 
 
Base class of the two server tick events.
ServerTickEvent.Post is fired once per server tick, after the server performs work for the current tick.
ServerTickEvent.Pre is fired once per server tick, before the server performs work for the current tick.
 
 
 
 
 
Used to test that modded dimension types and dimensions are loaded on a clean dedicated server launch.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
Neo: Use IShearable instead.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Stock data component class to hold a FluidStack.
Fluid ingredient that matches the fluids specified by the given HolderSet.
 
 
 
 
 
 
 
 
 
 
 
Common class for a simple ticket based system.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Standard implementation for a FluidIngredient with an amount.
Standard implementation for an ingredient and a count.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
An Implementation of Properties that is sorted when iterating.
Base class for AddServerReloadListenersEvent and AddClientReloadListenersEvent.
 
 
 
Defines an action which produces a sound.
A utility holding common sound actions.
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.
 
 
 
 
 
 
 
This event is fired from NaturalSpawner.spawnCategoryForPosition(net.minecraft.world.entity.MobCategory, net.minecraft.server.level.ServerLevel, net.minecraft.core.BlockPos) when the spawning system determines the maximum amount of the selected entity that can spawn at the same time.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Intended for mods to help mark if a modded item allows for placing modded plants of any kind or size.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A payload that is used to split a packet into multiple payloads.
 
 
 
 
 
 
 
 
 
 
 
Slot to handle immutable itemstack storages (Ex: ComponentItemHandler).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when a Player is awarded a Stat.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Basic test that uses the stencil buffer.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
This test mod provides two items for testing the Forge onStopUsing hook.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
JSON-serializable structure modifier.
 
 
Stock structure modifier that adds a mob spawn override to a structure.
Stock biome modifier that removes mob spawns from a structure modifier.
Stock structure modifier that removes mob spawns from a structure.
This tests the requirements of structure modifier jsons::
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The SweepAttackEvent is fired when a Player attacks a target, after the CriticalHitEvent has been fired.
 
 
 
 
 
 
Configuration task that syncs the config files to the client
 
 
 
 
 
 
Syncs registries to the client
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Note, fluid tags should not be plural to match the vanilla standard.
 
 
The /neoforge 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.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The base interface for tests in the TestFramework.
A group of collectors by bus.
A collector of event listeners which automatically unregisters listeners when a test is disabled.
 
Represents the status of a test.
Used by GUIs in order to display helpful information about tests.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
The backend of the testing framework.
Interface used for accessing a framework's tests.
 
 
 
 
Annotate a String field with the value being the ID of a group with this annotation in order to configure the group.
Annotation used by AbstractTest in order to collect information about a test.
 
 
 
 
 
A listener which listens for changes in tests.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Utility to format data into a textual (markdown-compliant) table.
 
 
 
 
 
 
 
 
 
 
 
 
 
已过时。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A class used to manage chunk loading tickets associated with a specific ID.
Class to help mods remove no longer valid tickets before they are activated on load.
Represents a pair of chunk-loaded ticket sets.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A class to assist in the collection of data to measure the update times of ticking objects {currently Tile Entities and Entities}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fired when a player trades with an AbstractVillager.
This tests for TradeWithVillagerEvent and fires when the player completes a trade with either a Villager or WanderingTrader(must inherit from AbstractVillager).
 
 
 
 
 
 
 
 
 
 
An enum value that can be be translated.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
A predicate that takes three arguments and returns a boolean.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Fires on both the client and server thread when a player interacts with a block.
 
 
 
 
 
 
Caches player's last known usernames
Used for saving the Gson representation of the cache to disk
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Extension class for ValueInput
A generic interface for objects that can be serialized to a ValueOutput and deserialized from a ValueInput
 
 
 
Extension class for ValueOutput
 
 
 
 
 
 
 
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.
 
 
 
 
 
 
 
 
 
A filter for vanilla impl packets.
 
 
 
 
 
 
 
Keys for vanilla reload listeners, used to specify dependency ordering in the AddServerReloadListenersEvent.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for vibration frequencies.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
VillagerTradesEvent is fired during reload by TagsUpdatedEvent.
 
 
 
 
 
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 ICancellableEvent; 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 reload by TagsUpdatedEvent.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Data map value for waxable blocks allowing mods to easily register basic waxing interactions for their blocks.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Annotate the class of an AbstractTest or a method-based test with this annotation in order to add test listeners to the test.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Event to determine which player an XP Orb should follow.