所有类和接口
类
说明
This event is fired after attribute tooltip lines have been added to an item stack's tooltip in
AttributeUtil.addAttributeTooltips(net.minecraft.world.item.ItemStack, java.util.function.Consumer<net.minecraft.network.chat.Component>, net.minecraft.world.item.component.TooltipDisplay, net.neoforged.neoforge.common.util.AttributeTooltipContext)
.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 builder for
advanced data map types
.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
An example of this would be large spruce trees converting grass blocks into podzol.
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
This event is
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.
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
This event is
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
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.State-tracking object used to merge attribute modifier tooltips in
AttributeUtil.applyTextFor(net.minecraft.world.item.ItemStack, java.util.function.Consumer<net.minecraft.network.chat.Component>, com.google.common.collect.Multimap<net.minecraft.core.Holder<net.minecraft.world.entity.ai.attributes.Attribute>, net.minecraft.world.entity.ai.attributes.AttributeModifier>, net.neoforged.neoforge.common.util.AttributeTooltipContext)
.Manager for light values controlled by dynamic data in
BlockEntity
s.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.
A strategy that uses
Objects.hashCode(Object)
and Object.equals(Object)
.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 ItemStack
s of Block
s from a TagKey<Block>
, useful in cases
like "minecraft:convertable_to_mud"
where there isn't an accompanying item tagWrapper 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
IBrewingRecipe
s 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
BundlePacket
s.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
attributesChunkDataEvent 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.
Simple test for
ChunkEvent.Load.isNewChunk()
.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.
Builder for
Biome.ClimateSettings
.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.
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.A helper class to aid in registering objects to modded and vanilla registries and
provide deferred suppliers to access those objects.
Specialized DeferredRegister for
Blocks
that uses the specialized DeferredBlock
as the return type for DeferredRegister.Blocks.register(java.lang.String, java.util.function.Function<net.minecraft.resources.ResourceLocation, ? extends B>)
.Specialized DeferredRegister for
DataComponentTypes
.Specialized DeferredRegister for
EntityTypes
.Specialized DeferredRegister for
Items
that uses the specialized DeferredItem
as the return type for DeferredRegister.Items.register(java.lang.String, java.util.function.Function<net.minecraft.resources.ResourceLocation, ? extends I>)
.A subclass of
SoundType
that uses Supplier<SoundEvent>
s.Tests that the
DeferredWorkQueue
properly executes enqueued tasks and
forwards any exceptions thrown by those tasksFluid 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.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
.Exposes the armor inventory of an
LivingEntity
as an IItemHandler
using LivingEntity.getItemBySlot(EquipmentSlot)
and
LivingEntity.setItemSlot(EquipmentSlot, ItemStack)
.EntityAttributeCreationEvent.
Use this event to register attributes for your own EntityTypes.
Use this event to register attributes for your own EntityTypes.
EntityAttributeModificationEvent.
Use this event to add attributes to existing entity types.
Use this event to add attributes to existing entity types.
An
EntityCapability
gives flexible access to objects of type T
from entities.Exposes the armor or hands inventory of an
LivingEntity
as an IItemHandler
using LivingEntity.getItemBySlot(EquipmentSlot)
and
LivingEntity.setItemSlot(EquipmentSlot, ItemStack)
.EntityEvent is fired when an event involving any Entity occurs.
If a method utilizes this
All children of this event are fired on the
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
.Exposes the hands inventory of an
LivingEntity
as an IItemHandler
using LivingEntity.getItemBySlot(EquipmentSlot)
and
LivingEntity.setItemSlot(EquipmentSlot, ItemStack)
.Fired when
is invoked and determines if
downstream hurt logic should apply.
引用无效
Entity#isInvulnerableTo(DamageSource)
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 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.
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
This event is
If this event is canceled, the Entity is not struck by the lightening.
This event does not have a result.
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
All children of this event are fired on the
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.
This event is
If this event is canceled, the Entity does not travel to the dimension.
This event does not have a result.
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
ExplosionEvent.Detonate can modify the affected blocks and entities.
Children do not use
.
Children of this event are fired on the
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
This event does not use
.
This event is fired on the
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
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).
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
FluidStack
s 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
FriendlyByteBuf
s.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
and
.
It is called from
引用无效
IItemStackExtension#getEnchantmentLevel(Enchantment)
引用无效
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 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 IPayloadHandler
s.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 classesExtension 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
Ingredient
s.An
This allows providing custom death messages based on the available parameters, instead of the hard-coded vanilla defaults.
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.
Implementations of this interface can be registered using
EntitySelectorManager.register(java.lang.String, net.neoforged.neoforge.common.command.IEntitySelectorType)
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
is called correctly.
To verify, join a world, then leave it.
引用无效
Ingredient#invalidate()
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
PermissionNode
s
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
This allows sequential modification of damage reduction values to be stored and later invoked before actual reductions are applied to the damage sequence.
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
This allows finer control over the actual scaling value, instead of the hard-coded vanilla defaults.
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
ServerConfigurationPacketListener
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
IItemHandler
s
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
This event is not
.
This event does not have a result.
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.
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
This event is fired via the
.
contains the amount of loot that will be dropped.
This event is
If this event is canceled, the Entity does not drop anything.
This event does not have a result.
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
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
If a method utilizes this
All children of this event are fired on the
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
This event is fired via the
This event is not
This event does not have a result.
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
This event is fired via the
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.
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
It fires once per tick per mob that is attempting to despawn.
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:
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
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.
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.
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 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
CustomPacketPayload
s, 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 PermissionNode
s.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
,
,
,
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.This event fires when a player enchants an item, after
IItemExtension.applyEnchantments(net.minecraft.world.item.ItemStack, java.util.List<net.minecraft.world.item.enchantment.EnchantmentInstance>)
has been called.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
.
This event is fired via the
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
This event is fired via the
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
This event is fired via the
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
This event is fired via the
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
before the server respawns a player.
引用无效
PlayerList#respawn(ServerPlayer, boolean)
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.
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.
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.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
This event is fired when a projectile entity impacts something.
This event is fired via
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
ServerAboutToStartEvent
and before ServerStartedEvent
.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.
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
).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 diskExtension 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
This event is
This event does not have a result.
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.
DatapackBuiltinEntriesProvider
instead