Skip to main content

Crate mod_api

Crate mod_api 

Source
Expand description

Mod-facing API, re-exporting the engine vocabulary.

Modules§

backend
Host backends: what the game answers the API with.
block
Blocks, block states and block entities.
client
Client-only surfaces: screens, input, sound, drawing and options.
command
Parsed native command input and the source that executes it.
content
Declared content, config files, registry keys and the crash report.
entity
Entities, mobs, players, effects and their handles.
instance_directory
Lossless host directory values available during registration.
item
Items, stacks, enchantments, recipes, menus and what a use of an item answers.
java_math
Native engine Java Math paths. Results can differ by machine as vanilla’s do. On wasm use strict_math; java_math calls are unavailable there. Engine paths used by vanilla Math call sites, including machine-dependent rounding. These mirror horizon_core::jmath; they are not a promise of universal HotSpot bit equality. Use strict_math for established portable StrictMath operations.
prelude
Every host trait of every area: bring it into scope to implement the game’s side or a test double.
runtime
The installed mods, who is subscribed to what, and the crash marks around a call.
serde_json
Serde JSON
strict_math
Platform-independent StrictMath functions with established exact bits. Established StrictMath operations, pure on native and wasm, with identical bits. Trigonometric sin/cos/tan, exp and pow are not provided.
text
Owned component trees. No language is resolved until the game displays a component.
visual_text
Styled characters obtained from the client’s visual text sequence.
wire
Shared Wire values and the mod-side transport.
world
Levels, chunks, dimensions, spawning, fluids as world state and the vocabulary the world speaks.

Macros§

if_installed
if_installed!(host, other_mod, { other_mod::call(); }): runs the block only where the optional dependency other_mod is installed. A native mod is built with the Cargo feature other_mod only when it is; a wasm mod is built with it and asks the game at the call, since an absent library’s functions trap. One guard for both builds.

Structs§

ActiveEffect
A living entity’s active effect (vanilla’s MobEffectInstance), as LivingRef reads its effects and as add_effect gives one: the effect’s id, an Identifier namespaced as the registry has it (minecraft:speed, a content mod’s mod:custom), the ticks left (-1 is infinite), the amplifier from 0, and the flags a beacon-style effect carries: ambient (an ambient one gives no particles), visible (whether its particles show) and show_icon (whether the HUD and inventory list it).
AddAttributeTooltipsEvent
What Hooks::add_attribute_tooltips is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AddClientReloadListenersEvent
What Hooks::add_client_reload_listeners is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AddPackFindersEvent
What Hooks::add_pack_finders is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AddSectionGeometryEvent
What Hooks::add_section_geometry is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AddServerReloadListenersEvent
What Hooks::add_server_reload_listeners is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AdvancementProgress
An owned, read-only snapshot of one advancement’s complete progress.
AffectNeighborsAfterRemovalEvent
What BlockPart::affect_neighbors_after_removal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AgeableGroup
AgeableMob.AgeableMobGroupData: whether the pack’s later members may be babies.
AlterGroundEvent
What Hooks::alter_ground is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnalogOutputEvent
What BlockPart::analog_output is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnimalTameEvent
What Hooks::animal_tame is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnimationChannel
One bone’s keyframes for one target (AnimationChannel), in time order.
AnimationHolder
An animation as its file gives it, bones by name (vanilla’s AnimationDefinition; NeoForge’s AnimationHolder): what RenderAssets::animation answers. Bake it against a model with AnimationHolder::bake before playing it.
AnimationState
When an animation started (vanilla’s AnimationState): a start tick, or stopped.
Answered
A replace hook’s answer with the mod that gave it: the dispatch fills in mod_id (the answering mod’s [mod] id), so no mod can answer for another.
AnvilCraftPostEvent
What Hooks::anvil_craft_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnvilCraftPreEvent
What Hooks::anvil_craft_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnvilDamagedEvent
What Hooks::anvil_damaged is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AnvilUpdateEvent
What Hooks::anvil_update is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ApplyEffectTickEvent
What Hooks::apply_effect_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ArmAngles
Absolute model arm rotations in radians. Each non-finite component leaves that component of the ordinary humanoid pose unchanged.
ArmPoseTransformEvent
What Hooks::arm_pose_transform is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ArmorHurt
One armor slot of an ArmorHurtEvent: the piece in slot, the durability damage vanilla works out for it (damage, max(1, hit / 4)) and the damage it takes (new_damage, starts equal; a mod may change it, below 1 for none; the game casts it to a whole number as vanilla does).
ArmorHurtEvent
What Hooks::armor_hurt is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ArmorStandManipulateEvent
What Hooks::armor_stand_manipulate is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ArrowLooseEvent
What Hooks::arrow_loose is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ArrowNockEvent
What Hooks::arrow_nock is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AtlasRegion
Where a sprite lies in the GUI atlas, as gui_sprite answers it: plain data, a snapshot of the atlas built last. It stays right until the next texture_atlas_stitched for TextureAtlas::Gui, when a mod reads it again.
Attached
A part, with the mod that attached it.
AttachmentBatch
A SNAPSHOT of membership and value bindings in the host’s current dimension. Later changes require a fresh query. This is a residency view: removed but unswept entities may appear, and stale writes fail. Native acquisition neither clones values nor decodes saved payloads; iteration decodes lazily. Codec-less attachment types are native-only; their rows do not cross to wasm.
AttachmentCodec
The optional on-disk representation of an attachment.
AttachmentForm
What comes with a stored value: its saved form (None for a type with no codec), its type’s policy, and why it is stored.
AttachmentPolicy
How a policy-checked type declared its value: what saving, respawning and syncing do with it.
AttachmentQueryMut
A server write-through snapshot. Values and membership remain captured.
AttachmentRowMut
A borrowed snapshot row with explicit journaled replacement/removal.
AttachmentType
A mod-defined attachment key and its value’s behavior.
AttachmentWriteToken
A private-field scoped residency identity, not an access authorization token.
Attachments
The data held by one entity, block entity, chunk or level.
AttackEntityEvent
What Hooks::attack_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
AttributeModifier
An attribute modifier (vanilla’s AttributeModifier): its id, which is unique on one attribute of one entity, the amount and the operation.
BabyEntitySpawnEvent
What Hooks::baby_entity_spawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BakeModelLoaderEvent
What Hooks::bake_model_loader is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BeaconStateChangeEvent
What Hooks::beacon_state_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BehaviorCx
What a Behavior runs with: its mob and the tick’s read view — the same mob-tick view crate::GoalContext is (the ticking mob itself, the player the tick sees, the snapshot of the others), with the brain’s own memories typed on top. Writes go through the engine’s own setters.
BehaviorRegistrar
What the game hands an crate::EntityPart where the species’ brain is built: the behaviors that join it, as Brain.addActivity fills vanilla’s.
BellRingEvent
What Hooks::bell_ring is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BiomeAmbientAddition
A random ambient sound of a biome (additions of minecraft:audio/ambient_sounds).
BiomeAmbientMood
The cave mood sound of a biome (mood of minecraft:audio/ambient_sounds).
BiomeAmbientParticle
One ambient particle of a biome (minecraft:visual/ambient_particles).
BiomeColors
A biome’s colours as a mod may change them (native_biome_colors), each 0xRRGGBB: what tints grass (before the dark forest’s modifier; the swamp’s noise colours replace it), leaves and vines, dry foliage (leaf litter) and water.
BiomeColorsEvent
What Hooks::biome_colors is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BiomeEffects
Biome colours read by level_biome_effects, each 0xRRGGBB. Sky and fog preserve omitted declarations as None; water fog includes a global default. These are not dimension-resolved colours.
BiomeId
An opaque, process-local biome identity. Do not persist it or perform arithmetic on it.
BiomeModifier
A biome modifier: the biomes it applies to and what it does to them.
BiomeModifierSpawner
One mob spawner entry of a BiomeModifierOperation::AddSpawns (SpawnerData).
BiomeMusic
The default background music of a biome (default of minecraft:audio/background_music).
BiomePoint
Where one biome sits in a multi-noise biome source: the climate it is chosen for, as Climate.ParameterPoint. Every interval is (min, max) inside -2 to 2, with min not above max; a single value is (v, v). The biome nearest to the level’s climate at a position wins, and offset (0 to 1) makes this one count as farther away.
BiomeProperties
A biome’s climate, as its worldgen file declares it (Biome.ClimateSettings): what level_biome_properties reads. The temperature is the biome’s base one; the height and frozen-ocean adjustments of Biome.getHeightAdjustedTemperature are not applied.
BiomeSearch
Sampling parameters for LevelRef::find_closest_biome, in blocks.
BiomeSearchResult
The first matching sample in vanilla’s closest-biome search order.
BiomeSpawners
One spawn category of a biome’s natural spawns (MobSpawnSettings): what level_biome_spawners reads.
Block
An unvalidated draft; Content::declare validates it at load. Refused drafts are reported by the content admission path as native blocks and items of <namespace>: <reason>, without admitting part of that namespace.
BlockBreakProgressUpdateEvent
What Hooks::block_break_progress_update is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockBurnEvent
What Hooks::block_burn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockChangedEvent
What Hooks::block_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockClick
A player’s right click on a block, shared by the block’s use behaviours and right_click_block (PlayerInteractEvent.RightClickBlock). The event hears it once per hand on the clicking client and on the server.
BlockCookEvent
What Hooks::block_cook is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockDamageAbortEvent
What Hooks::block_damage_abort is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockDispenseArmorEvent
What Hooks::block_dispense_armor is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockDropsEvent
What Hooks::block_drops is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEdit
A bulk edit of complete typed states and partial predicates, named by run indices; NBT is not supported.
BlockEntityContainerEvent
What Hooks::block_entity_container is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityEnergyEvent
What Hooks::block_entity_energy is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityEvent
What BlockEntityPart::block_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityFluidsEvent
What Hooks::block_entity_fluids is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityProviders
A block entity’s providers of one capability (block_entity_providers).
BlockEntityRef
One block entity in an open level, identified by its lifecycle generation. Removal, replacement or chunk reload invalidates the handle, even at the same position. In-place data edits and temporary tick take/put preserve identity. Stale handles read as None; Result-returning methods report Stale.
BlockEntityRenderBoundingBoxEvent
What BlockEntityPart::block_entity_render_bounding_box is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntitySubmitEvent
What BlockEntityPart::block_entity_submit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityTickEvent
What BlockEntityPart::block_entity_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityTicksEvent
What BlockEntityPart::block_entity_ticks is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityTypeAddBlocksEvent
What Hooks::block_entity_type_add_blocks is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityTypeBuilder
Builds one native block entity type during mod registration.
BlockEntityTypeDecl
A declared block entity type and the block identifiers it supports.
BlockEntityTypeKey
A block entity type requested at registration. Its slot remains stable for the process.
BlockEntityUpdateTagEvent
What BlockEntityPart::block_entity_update_tag is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockEntityViewDistanceEvent
What BlockEntityPart::block_entity_view_distance is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockFaceTexture
A model face’s texture name and tint selector, as block drawing helpers accept them.
BlockFadeEvent
What Hooks::block_fade is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockFailedDispenseEvent
What Hooks::block_failed_dispense is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockFormEvent
What Hooks::block_form is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockGrowFeatureEvent
What Hooks::block_grow_feature is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockHighlightEvent
What Hooks::block_highlight is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockHit
Where a block use clicked, as vanilla’s BlockHitResult says it. Fields may be added: build one with BlockHit::new.
BlockIgniteEvent
What Hooks::block_ignite is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockJumpFactorEvent
What BlockPart::block_jump_factor is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockKey
A block requested once through Registrar::block_key. Its load-owned slot survives reload.
BlockLockCheckEvent
What Hooks::block_lock_check is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockPlacement
One block a placement writes (entity_place’s Placement::Multi).
BlockPos
BlockProperties
BlockProperties in a load-time content declaration.
BlockReceiveGameEvent
What Hooks::block_receive_game is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockRenderVisibilityEvent
What BlockPart::block_render_visibility is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockRim
A depth-tested outline of the client’s block selection shape.
BlockRun
A run: height blocks up a column from y (from the column’s surface height when one is given), set to palette entry block, only where filter only matches when one is given.
BlockScreenEffectDrawEvent
What Hooks::block_screen_effect_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockShapes
BlockShapes in a load-time content declaration.
BlockShearEntityEvent
What Hooks::block_shear_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockSide
A block entity a capability is asked of, by its level and position, and the side it is reached through (none: from no particular side): NeoForge’s block capability context.
BlockSignalEvent
What BlockPart::block_signal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockSoundType
A block state’s sounds (BlockState.getSoundType(), vanilla’s SoundType): the sound events, as LevelRef::play_sound names them, and the volume and pitch they play at.
BlockSpeedFactorEvent
What BlockPart::block_speed_factor is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockSpreadEvent
What Hooks::block_spread is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockSprites
What a block draws on each side, in Direction::ALL’s order (down, up, north, south, west, east).
BlockState
A block and its local state ordinal. Persist canonical names and properties, not this value.
BlockStateId
A block state as the game’s state table numbers it (Block.BLOCK_STATE_REGISTRY’s id): what worldgen providers and fluid queries answer. Valid for the running game only; never save it.
BlockStateRange
States of one block in immutable definition order, not world numeric ID order.
BlockStates
The block-state facts service: host.block_states().
BlockStepOnEvent
What Hooks::block_step_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockTintRegistry
The game’s BlockTintSources: the registrations in order.
BlockToolModificationEvent
What Hooks::block_tool_modification is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BlockTransformPreview
The result of previewing a tool’s block transformation. Applying it is a separate action.
BlockUpdateFlags
Supported vanilla Block.UPDATE_* flags for a level block write.
BlocksEvent
What Hooks::blocks is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BonemealEvent
What Hooks::bonemeal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BoolGameRuleKey
A boolean game rule declared by a mod.
BossBarRef
A custom boss bar (vanilla’s CustomBossEvent, the /bossbar ones) of an open server world. It holds the world’s epoch and the bar’s UUID, so a bar that was removed (even if its id was added again) or a handle from an earlier open reads as None and changes nothing. Mob and raid bars are not custom boss events and have no handle.
BounceOnEvent
What BlockPart::bounce_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BoundingBox
Inclusive integer box (vanilla BoundingBox). The default is the one block at the origin.
BrainWalkTarget
A brain’s WALK_TARGET memory as a behavior reads it.
BreakBlockEvent
What Hooks::break_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BrewingCompleteEvent
What Hooks::brewing_complete is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BrewingFuelEvent
What Hooks::brewing_fuel is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BrewingStartEvent
What Hooks::brewing_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BroadcastMessageEvent
What Hooks::broadcast_message is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BucketEmptyEvent
What Hooks::bucket_empty is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
BuildCreativeModeTabContentsEvent
What Hooks::build_creative_mode_tab_contents is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CalculatePlayerTurnEvent
What Hooks::calculate_player_turn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Camera
Camera values from the most recently extracted world frame.
CameraDistanceEvent
What Hooks::camera_distance is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CameraEntity
The camera entity as Camera.alignWithEntity and the field-of-view death and hurt effects see it.
CameraPoseEvent
What Hooks::camera_pose is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CameraShakeEvent
What Hooks::camera_shake is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CameraTypeCycleEvent
What Hooks::camera_type_cycle is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CampfireStartEvent
What Hooks::campfire_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanContinueSleepingEvent
What Hooks::can_continue_sleeping is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanEatEvent
What Hooks::can_eat is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanHarvestBlockEvent
What BlockPart::can_harvest_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanPerformActionEvent
What ItemPart::can_perform_action is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanPlayerSleepEvent
What Hooks::can_player_sleep is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanSurviveEvent
What BlockPart::can_survive is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CanSustainPlantEvent
What BlockPart::can_sustain_plant is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Capability
A capability’s handler, with who answered: a mod’s provider or the game’s own.
CapabilityKey
A capability: its name (horizon:items, mymod:chemicals), the handler trait T it answers with, and the game’s own provider, if the game has one.
CauldronFluidContentRegistry
Engine-owned storage behind the registrar.
CauldronLevelChangedEvent
What Hooks::cauldron_level_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CauldronPlan
A bounded proposal, validated against the captured local resource snapshot.
CauldronUse
Immutable inputs captured for one selected interaction.
ChannelRef
A playing sound’s channel, for play_sound_source and play_streaming_source: an id only, to tell sounds apart across the two hooks. It gives no control over the channel.
ChatSuggestionAppliedEvent
What Hooks::chat_suggestion_applied is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkLoadEvent
What Hooks::chunk_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkPos
ChunkRef
A chunk position in an open level. A handle may be kept after unloading; reads resolve it again, returning false or None when it is no longer loaded.
ChunkSentEvent
What Hooks::chunk_sent is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkTicketLevelUpdatedEvent
What Hooks::chunk_ticket_level_updated is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkUnloadEvent
What Hooks::chunk_unload is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkUnwatchEvent
What Hooks::chunk_unwatch is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ChunkWatchEvent
What Hooks::chunk_watch is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientAttackTargetEvent
What Hooks::client_attack_target is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientAudioOptions
A snapshot of the client’s audio preferences.
ClientBossBar
One boss bar the client shows (vanilla’s LerpingBossEvent), as customize_boss_event_progress reads it. Any bar the server sends: mob, raid and /bossbar ones alike.
ClientChatEvent
What Hooks::client_chat is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientChatOptions
A snapshot of the client’s chat preferences.
ClientChatReceivedEvent
What Hooks::client_chat_received is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientDisconnectingEvent
What Hooks::client_disconnecting is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientFrameStats
Existing local frame counters, sampled only when requested by a mod.
ClientGraphicsOptions
A snapshot of the client’s graphics preferences.
ClientGuiOptions
A snapshot of the client’s GUI and accessibility preferences.
ClientInfo
A player’s client options, as ServerboundClientInformationPacket carries them (vanilla’s ClientInformation). Raw ids map as vanilla’s ByIdMap does: chat visibility and particle status wrap (floorMod(id, 3)), the main hand reads an unknown id as left.
ClientInformationUpdatedEvent
What Hooks::client_information_updated is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientInputOptions
A snapshot of the client’s input preferences.
ClientLevelLoadEvent
What Hooks::client_level_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientLevelUnloadEvent
What Hooks::client_level_unload is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientListenerRegistry
The game’s ClientReloadListeners.
ClientMiningPredictEvent
What Hooks::client_mining_predict is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientMiningPrediction
A proposed window-side block mining operation.
ClientModifiers
A snapshot of the client window’s modifier keys.
ClientPacket
The metadata of a server play packet observed by Hooks::client_packet.
ClientPacketEvent
What Hooks::client_packet is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPacketSendEvent
What Hooks::client_packet_send is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPauseChangePostEvent
What Hooks::client_pause_change_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPauseChangePreEvent
What Hooks::client_pause_change_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPayload
The channel and uninterpreted bytes of a server custom payload.
ClientPlayerChangeGameTypeEvent
What Hooks::client_player_change_game_type is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPlayerCloneEvent
What Hooks::client_player_clone is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPlayerLoggingInEvent
What Hooks::client_player_logging_in is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientPlayerLoggingOutEvent
What Hooks::client_player_logging_out is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientReloadContext
Selected client asset files for one converter, with resource-pack overrides resolved. Keys have their directory and extension removed. This cannot read data files or filesystem paths. Its fields are private so the view can grow.
ClientResourcesReloadedEvent
What Hooks::client_resources_reloaded is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientServer
The connected server, not the reconnect target of an earlier session.
ClientSetupEvent
What Hooks::client_setup is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientStoppedEvent
What Hooks::client_stopped is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientStoppingEvent
What Hooks::client_stopping is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientTargeting
Per-window targeting controls. Defaults preserve vanilla picking. Reach remains backed by minecraft:block_interaction_range and minecraft:entity_interaction_range; a server mod changes those through the player’s living attribute handle, not these client controls.
ClientTickPostEvent
What Hooks::client_tick_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClientTickPreEvent
What Hooks::client_tick_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ClipHit
Result of a block ray, including the vanilla miss result.
Clock
The world’s clock as a client mod reads it (clock).
CloneItemStackEvent
What BlockPart::clone_item_stack is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ColorResolverRegistry
The game’s ColorResolvers: the registered resolvers, each at the index its handle names.
ColoredLight
A camera-local visual light, with no gameplay light or shadow writes.
ColumnBlocks
What read_columns read: the blocks round each column’s height (bases, none where it isn’t loaded), as indexes into palette, a column after another, and three biome tints a column (grass, foliage, water).
Command
A command a native mod adds, as one usage: words, then arguments <name:kind>, optional ones last in brackets [name:kind]: pay <player:player> <amount:integer>, balance [player:player], eco give <player:player> <amount:integer>. Kinds: word, text (the rest of the line, last), integer, number, boolean, player, item, block_pos, or a command argument type a mod registered with Registrar::register_command_argument, named by its namespaced id: machine use <machine:mymod:machine>. Usages of one command share their words; the server merges them into one tree. Each executable usage keeps its own level: a public foo bar lets everyone traverse foo, but does not make an operator-only foo executable. Optional arguments also allow execution at their preceding prefixes, at that usage’s level.
CommandArgument
An argument’s registered name and its validated value.
CommandEvent
What Hooks::command is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CommandInvocation
A native command parsed once by the server’s dispatcher, never a raw line.
CommandSuggestion
One completion a custom argument offers for the text being typed.
ComponentHoverEvent
What Hooks::component_hover is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ComponentId
A data component’s id, namespace:path (minecraft:damage, mymod:charge), checked once where a mod names it: what ItemResource’s component methods take, as NeoForge’s take a DataComponentType.
ComponentTypesEvent
What Hooks::component_types is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Components
An owned component patch, independent of the engine’s component representation.
CompostItemEvent
What Hooks::compost_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ComputeFogColorEvent
What Hooks::compute_fog_color is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ComputeFovEvent
What Hooks::compute_fov is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ComputeFovModifierEvent
What Hooks::compute_fov_modifier is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Config
A config a mod registers: its kind, its file in config/ and the text written there when the file is missing.
ConfigEntry
One entry of a folder.
ConfigFile
A config’s file as the game read it.
ConfigLoadingEvent
What Hooks::config_loading is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ConfigPath
A path inside config/: relative, /-separated, with no empty, . or .. part, no \, : or NUL. Checked once here; the service checks only that it is the calling mod’s.
ConfigReloadingEvent
What Hooks::config_reloading is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ConfigStat
A file’s or folder’s size and age (java.io.File.length/lastModified).
ConfigUnloadingEvent
What Hooks::config_unloading is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ConnectsToEvent
What BlockPart::connects_to is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ConsumeEffectEvent
What Hooks::consume_effect is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ContainerOpenedEvent
What Hooks::container_opened is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ContentsChangedEvent
What BlockPart::contents_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Corners
Where the next overlay goes in each corner.
CrafterCraftEvent
What Hooks::crafter_craft is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CraftingRemainderEvent
What ItemPart::crafting_remainder is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CreateFluidSourceEvent
What Hooks::create_fluid_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CreateSpawnPositionEvent
What Hooks::create_spawn_position is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CreativeSlotEvent
What Hooks::creative_slot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CreeperIgniteEvent
What Hooks::creeper_ignite is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CreeperPowerEvent
What Hooks::creeper_power is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CriterionProgress
One criterion in an advancement, including criteria not yet obtained.
CriticalHitEvent
What Hooks::critical_hit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CropGrowPostEvent
What Hooks::crop_grow_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CropGrowPreEvent
What Hooks::crop_grow_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CubeDefinition
One box of a part (CubeDefinition), as a CubeListBuilder adds it.
CubeDeformation
CubeDeformation: how far a box grows past its size on each side, in texels, with its texture unchanged: a hat or an armour layer over a head.
CubeFace
One face of a native_draw_cube box: its sprite (mymod:entity/cog, mymod:block/casing) and its UVs in texels of 16 per side, as a model face’s uv (none takes the box’s own, as a model’s default).
CubeListBuilder
CubeListBuilder: the boxes of one part, each placed on the texture from the last tex_offs and mirrored after mirror.
CustomArmPose
A load-owned custom pose slot. Invalid or stale slots are ignored by rendering.
CustomClickActionEvent
What Hooks::custom_click_action is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CustomSpawnerTickEvent
What Hooks::custom_spawner_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CustomSpawners
A level’s custom spawners, in the order they tick: what ModifyCustomSpawnersEvent edits. It starts with vanilla’s, and a spawner a mod adds goes at the end.
CustomizeBossEventProgressEvent
What Hooks::customize_boss_event_progress is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
CustomizeChatOverlayEvent
What Hooks::customize_chat_overlay is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DamageContainer
A plain snapshot of one hit. Sequencing and normalization remain owned by the game.
DamageItemEvent
What ItemPart::damage_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DamageValues
A hit’s damage sequence as plain values, field for field: the form it crosses into a wasm mod as. Reduction storage is crate-visible only for the generated wasm codec; mods use the reduction accessors so future reduction kinds do not expose a fixed array layout.
DataMapType
A data map type a mod registers (RegisterDataMapTypesEvent).
DataMapTypesEvent
What Hooks::data_map_types is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DataMapsUpdatedEvent
What Hooks::data_maps_updated is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DataPackFilesEvent
What Hooks::data_pack_files is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DatapackCandidate
Every entry of every declared registry, decoded and checked, not yet published.
DatapackEntry
A decoded entry: one value per schema field, in the schema’s order.
DatapackField
One field of a registry’s entry record.
DatapackHandle
A reference to one entry of a published set. It checks its session and generation on every read, so one kept across a reload fails instead of reading the new value by name or slot.
DatapackLoadError
A refused candidate: which registry, entry and file, and why.
DatapackRegistryDeclaration
A registry the mod declared, as the game reads it.
DatapackRegistrySet
The published entries of a world session at one generation.
DatapackSnapshot
The synchronized registries of a set at one generation, as a server sends them.
DatapackSnapshotEntry
One entry of a snapshot: its id and one value per field of the registry, in schema order.
DatapackSnapshotRegistry
One registry of a snapshot: its key, the schema the server decoded it with, and its entries sorted by id.
DatapackSyncEvent
What Hooks::datapack_sync is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DebugEntry
A debug entry a native mod registers: its id and the vanilla group its lines are drawn in.
DebugEntryLinesEvent
What Hooks::debug_entry_lines is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DebugRenderer
A world-space debug renderer a native mod pushes at each renderer list refresh.
DebugRendererDrawEvent
What Hooks::debug_renderer_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Difficulty
The local difficulty at a spawn (DifficultyInstance): what finalize_spawn reads and may change before the mob is finalized.
DifficultyChangedEvent
What Hooks::difficulty_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DimensionKey
A dimension (minecraft:the_nether), as the game’s table numbers it: a LevelRef’s identity. A key stays the same dimension until the game exits; key.id(host) gives the name.
DimensionSettings
What a mod’s dimension is made of. The default is the Overworld’s shape and terrain over plains; the parts of a dimension type not named here are the Overworld’s.
DimensionTransitionScreen
A screen registered by Hooks::register_dimension_transition_screen.
DimensionTransitionScreenDrawEvent
What Hooks::dimension_transition_screen_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DispenseItemEvent
What ItemPart::dispense_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DispenseMethodEvent
What BlockPart::dispense_method is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DisplayRef
A display entity of the open world (block_display, item_display or text_display), narrowed with host.display.
DragonEggFormEvent
What Hooks::dragon_egg_form is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
DragonRef
The ender dragon of the open world, narrowed with host.dragon(entity). It is also a MobRef and a LivingRef.
EffectKey
An effect requested once through Registrar::effect_key. The registry is fixed until restart.
EffectParticleModificationEvent
What Hooks::effect_particle_modification is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EmissiveEvent
What Hooks::emissive is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnchantEffectEvent
What Hooks::enchant_effect is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnchantItemEvent
What Hooks::enchant_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnchantedBlockLootEvent
What Hooks::enchanted_block_loot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnchantedEntityLootEvent
What Hooks::enchanted_entity_loot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnchantmentDamageContext
Context of one value node in ordinary enchantment damage computation.
EnchantmentDamageRegistry
Engine-owned storage behind the startup registrar.
EnchantmentEffect
An enchantment effect component type (EnchantmentEffectComponents): what an enchantment’s effects are keyed by, and what ItemResource::has_enchantment_effect asks for.
EnchantmentInfo
The registry facts a recipe viewer needs for an enchantment.
EnchantmentKey
An enchantment (minecraft:sharpness) in the data-loaded enchantment registry, in registry order. Keys keep their identity across reloads; a reload changes which entries the table lists, not what an existing slot names.
EnchantmentLevelSetEvent
What Hooks::enchantment_level_set is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnderEntityTeleportEvent
What Hooks::ender_entity_teleport is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EnderPearlTeleportEvent
What Hooks::ender_pearl_teleport is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EndermanAngerEvent
What Hooks::enderman_anger is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntitiesLoadEvent
What Hooks::entities_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntitiesUnloadEvent
What Hooks::entities_unload is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityBreakDoorEvent
What Hooks::entity_break_door is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityBreedEvent
What Hooks::entity_breed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityCapabilityKey
An entity capability: its name, the handler trait T it answers with, the context C a lookup passes its providers (NeoForge’s EntityCapability<T, C>: () where NeoForge’s is Void, the side asked about where it is @Nullable Direction), and the game’s own provider, if the game has one.
EntityChangeBlockEvent
What Hooks::entity_change_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityChangeBlockPreEvent
What Hooks::entity_change_block_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityConstructingEvent
What Hooks::entity_constructing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityDropItemEvent
What Hooks::entity_drop_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityEnterBlockEvent
What Hooks::entity_enter_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityEnterLoveModeEvent
What Hooks::entity_enter_love_mode is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityInsideEvent
What BlockPart::entity_inside is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityInteractEvent
What Hooks::entity_interact is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityInteractSpecificEvent
What Hooks::entity_interact_specific is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityInvulnerabilityCheckEvent
What Hooks::entity_invulnerability_check is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityJoinLevelEvent
What Hooks::entity_join_level is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityLeaveLevelEvent
What Hooks::entity_leave_level is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityMobGriefingEvent
What Hooks::entity_mob_griefing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityMountEvent
What Hooks::entity_mount is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityOutlineEvent
What Hooks::entity_outline is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityPlaceEvent
What Hooks::entity_place is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityPortalEvent
What Hooks::entity_portal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityPoseChangeEvent
What Hooks::entity_pose_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityProviders
An entity’s providers of one capability (entity_providers).
EntityRayHit
One entity a level ray passes through (LevelRef::ray_trace_entities): what ProjectileUtil.getEntityHitResult tests for each candidate.
EntityRef
An entity of the open world, for the Host methods that read or change one (entity.position(host)). It holds the world’s epoch and the entity’s id: ids are shared by every server level and never reused while the server world is open, and an entity that changes dimension gets a new one, as in vanilla. On a client the epoch identifies one client level and changes when that level is replaced. Server reads and writes reject a handle from an earlier epoch, of an entity that is gone, or used on a client. Host::entity makes a server handle from an event’s entity id; ClientHost::crosshair_target supplies a client handle for an entity hit.
EntityShootBowEvent
What Hooks::entity_shoot_bow is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntitySizeEvent
What Hooks::entity_size is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntitySpectatorShader
A post effect registered by Hooks::register_entity_spectator_shaders: the screen effect spectating an entity of type entity puts on, as vanilla’s creeper, spider and enderman do.
EntityStruckByLightningEvent
What Hooks::entity_struck_by_lightning is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTameEvent
What Hooks::entity_tame is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTeleportEvent
What Hooks::entity_teleport is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTickListenedEvent
What Hooks::entity_tick_listened is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTickPostEvent
What Hooks::entity_tick_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTickPreEvent
What Hooks::entity_tick_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityToggleGlideEvent
What Hooks::entity_toggle_glide is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTravelToDimensionEvent
What Hooks::entity_travel_to_dimension is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
EntityTypeKey
A mob entity type (minecraft:zombie) in the built-in entity-type registry, in registration order. A key stays valid until the game exits.
EntityUnleashEvent
What Hooks::entity_unleash is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExpBottleEvent
What Hooks::exp_bottle is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExpDropEvent
What BlockPart::exp_drop is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExperienceOrb
An experience orb as a server mod reads it (experience_orbs). Read by mods only.
ExperienceOrbCanMergeEvent
What Hooks::experience_orb_can_merge is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExperienceOrbMergeEvent
What Hooks::experience_orb_merge is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExplosionDetonateEvent
What Hooks::explosion_detonate is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExplosionKnockbackEvent
What Hooks::explosion_knockback is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExplosionPrimeEvent
What Hooks::explosion_prime is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExplosionStart
A server explosion about to happen, for explosion_start (ServerLevel.explode’s ServerExplosion).
ExplosionStartEvent
What Hooks::explosion_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExtendPoiTypesEvent
What Hooks::extend_poi_types is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ExtractBlockScreenEffectEvent
What Hooks::extract_block_screen_effect is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FaceSprite
One face of a block’s model on one of its sides.
FallOnEvent
What BlockPart::fall_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Falling
What a mod’s falling block does when it lands and when it hits.
FarmlandTrampleEvent
What Hooks::farmland_trample is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FeatureFlags
The feature flags a world enables (FeatureFlagSet, LevelReader.enabledFeatures), each as its id (minecraft:vanilla, minecraft:redstone_experiments), shared with the world. A world that names none enables minecraft:vanilla alone, as vanilla’s default does. Getting and reading it allocates nothing.
FileToIdConverter
Maps data/<namespace>/<directory>/<path><extension> to namespace:path, preserving subdirectories. Any namespace may add entries for a listener. The same converter can be used for client assets.
FillBucketEvent
What Hooks::fill_bucket is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FinalizeSpawnEvent
What Hooks::finalize_spawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FireOddsEvent
What BlockPart::fire_odds is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FireworkExplodeEvent
What Hooks::firework_explode is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FireworkShapeIngredient
An ingredient that chooses a firework star’s explosion shape.
FishingHookRef
A cast fishing hook of the open world (vanilla’s FishingHook), narrowed from an entity with host.fishing_hook(entity). It does not narrow to a ProjectileRef: a hook’s owner is always the player who cast it.
FlipFrameEvent
What Hooks::flip_frame is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidBoxOptions
How BlockEntityDrawContext::fluid_box draws a still fluid: a machine’s tank, a basin’s contents.
FluidFlowEvent
What Hooks::fluid_flow is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidIngredient
A set of accepted fluids, as NeoForge’s FluidIngredient: a fluid (minecraft:water), a #tag, a list of them, or the three shapes with their children, parsed from a recipe’s JSON by the same walk an item Ingredient parses its own with, over the fluid tags the load’s DataLoadContext holds. A kind outside the standard shapes fails the parse: fluids have no custom ingredient hook. Components are not checked — any stack of a named fluid answers.
FluidKey
A load-owned fluid identity requested through Registrar::fluid_key or resolved through DataLoadContext::fluid_key.
FluidLevelChangeEvent
What Hooks::fluid_level_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidModel
Atlas sprites to use for a world fluid during this resource load.
FluidPlaceBlockEvent
What Hooks::fluid_place_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidResource
A fluid and its components, without an amount, as NeoForge’s FluidResource: what a tank holds. An empty tank holds none.
FluidRulesEvent
What FluidPart::fluid_rules is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidStack
An amount of one fluid, as NeoForge’s FluidStack: its registered or unresolved FluidIdentity, millibuckets, and data components, kept as an item stack’s are (a potion fluid’s minecraft:potion_contents). Water and lava have none.
FluidState
A fluid state copied from the engine. For engine-built values, amount is zero exactly for the empty fluid. A mod may change a placement event’s copy; that mod-provided data is forwarded to later Parts and is never consumed by the engine.
FluidStates
The fluid-state facts service, available in setup, reload and world callbacks after keys resolve.
FluidTickEvent
What Hooks::fluid_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidTooltipEvent
What Hooks::fluid_tooltip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FluidTypeProperties
What a registered fluid is, apart from any level or entity. Vanilla reads the entity behaviours off FluidTags.WATER and FluidTags.LAVA, so minecraft:flowing_water answers as minecraft:water. The empty fluid and a tank-only fluid emit no light, nothing can be done in them, their fall modifier scales nothing and they drip nothing and never tick randomly.
FogData
The fog uniform (FogData).
FoodLevelChangedEvent
What Hooks::food_level_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FoundStructure
What StructureType::find_generation_point found: the start’s position (vanilla’s Structure.findGenerationPoint answer) and its pieces (Structure.generatePieces), at least one.
FovPlayer
What AbstractClientPlayer.getFieldOfViewModifier reads.
FramerateLimitEvent
What Hooks::framerate_limit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FurnaceBurnEvent
What Hooks::furnace_burn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FurnaceExtractEvent
What Hooks::furnace_extract is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FurnaceSmeltEvent
What Hooks::furnace_smelt is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
FurnaceStartSmeltEvent
What Hooks::furnace_start_smelt is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GameEventContext
Vanilla’s GameEvent.Context: optional source and affected block state. Source facts used by vibration listeners are captured when the event is emitted.
GameRuleActor
The player responsible for a game rule change.
GameRuleChangedEvent
What Hooks::game_rule_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GameRuleDecl
A boolean rule declared by a mod during registration.
GameShuttingDownEvent
What Hooks::game_shutting_down is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GameTestContext
API-owned coordinates for one attempt, valid only during its callback.
GameTestDefinition
Metadata for a function test added to the world’s test-instance registry.
GameTestFunctions
Load-owned function registry. Duplicate and invalid identifiers are refused.
GatherEffectScreenTooltipsEvent
What Hooks::gather_effect_screen_tooltips is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GatherSkippedAttributeTooltipsEvent
What Hooks::gather_skipped_attribute_tooltips is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GetArmPoseEvent
What Hooks::get_arm_pose is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GetEnchantmentLevelEvent
What Hooks::get_enchantment_level is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GetEquipmentDropChanceEvent
What Hooks::get_equipment_drop_chance is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GlobalPos
A block in a dimension, vanilla’s GlobalPos: the dimension’s key (minecraft:the_nether) and the block. The dimension is data, so it need not be open; host.level(&pos.dimension().to_string()) gives its level when it is.
GoalContext
What a Goal runs with: its mob, the world read view of the mob’s tick, the mob’s own random, and the writes a goal makes to its own mob.
GoalFlags
The MOVE, LOOK, JUMP and TARGET bits a Goal claims, as vanilla’s Goal.Flag set does: at most one goal holding each flag runs at a time, and a goal’s flags are what a higher priority interrupts.
GoalRegistrar
What the game hands an crate::EntityPart: the two selectors of the mob being built, as vanilla’s registerGoals fills them.
GrindstonePlaceEvent
What Hooks::grindstone_place is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GrindstoneTakeEvent
What Hooks::grindstone_take is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GuiLayer
A HUD layer a native mod registers once at start: its id and where it goes.
GuiLayerDrawEvent
What Hooks::gui_layer_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GuiLayerPostEvent
What Hooks::gui_layer_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GuiLayerPreEvent
What Hooks::gui_layer_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
GuiRenderPostEvent
What Hooks::gui_render_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HandRender
Context and adjustable pose for a first-person hand render.
HangingBreakEvent
What Hooks::hanging_break is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HangingPlaceEvent
What Hooks::hanging_place is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HasAnalogOutputEvent
What BlockPart::has_analog_output is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HealthHudEvent
What Hooks::health_hud is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HealthInputs
HearsProjectileImpactsEvent
What Hooks::hears_projectile_impacts is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HeldItemSlot
A stack as a client mod’s use events carry it.
HiddenParts
The humanoid parts a mod hid from the vanilla player model this frame (player_submit): a set over HumanoidPart::ALL, nothing allocated. A hidden part takes its children with it (the hat goes with the head); the cape is a layer of its own and stays.
Hit
The block a ray along the view meets.
HopperInventorySearchEvent
What Hooks::hopper_inventory_search is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HopperPickupItemEvent
What Hooks::hopper_pickup_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HumanoidRenderState
Borrowed humanoid inputs at arm-pose extraction, shared by players and mobs. Poses are in main/off-hand order, before listeners answer; item declarations are already included. Model-specific animation may subsequently adjust the arms.
HurtEnemyEvent
What ItemPart::hurt_enemy is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
HurtSource
A hit’s DamageSource for HURT_SERVER: its type (minecraft:fall), the entity ids of getEntity (causing) and getDirectEntity (direct), 0 for none or not known, and where it comes from (getSourcePosition), none when not known.
Identifier
Ingredient
A set of accepted items (expanded from an item, list or tag), and the items in its HolderSet order (Ingredient.display’s TagSlotDisplay).
IngredientEvent
What Hooks::ingredient is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IngredientTestEvent
What Hooks::ingredient_test is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
InputKeyEvent
What Hooks::input_key is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
InstanceGroupRef
Persistent copies of one resolved model, retired on reload, world close, mod disable or destroy. Only the creating mod may access or submit the group; others receive GroupError::Stale. Retired handles never become valid again, even when their storage slot is reused. Native and wasm mods use the same storage, ownership and drawing rules. Static groups cache CPU conversion; all visible GPU-routed copies still upload every frame. Frequent group pose changes rebuild the live cache and can cost more than transient copies.
InteractionKeyMappingTriggeredEvent
What Hooks::interaction_key_mapping_triggered is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
InventoryBlockStartEvent
What Hooks::inventory_block_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
InventoryMoveItemEvent
What Hooks::inventory_move_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
InventoryTickEvent
What ItemPart::inventory_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IsBonemealSuccessEvent
What BlockPart::is_bonemeal_success is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IsLadderEvent
What BlockPart::is_ladder is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IsPathfindableEvent
What BlockPart::is_pathfindable is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IsSignalSourceEvent
What BlockPart::is_signal_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
IsValidBonemealTargetEvent
What BlockPart::is_valid_bonemeal_target is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Item
An unvalidated draft; Content::declare validates it at load. Refused drafts are reported by the content admission path as native blocks and items of <namespace>: <reason>, without admitting part of that namespace.
ItemAfterVerticalCollisionEvent
What BlockPart::item_after_vertical_collision is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemAttackRange
Effective attack range for an actor, including the component’s hitbox margin.
ItemAttributeModifier
One attribute modifier an item stack grants (vanilla’s ItemAttributeModifiers.Entry): the attribute (minecraft:armor), the modifier, and the slots it applies in.
ItemAttributeModifierEvent
What Hooks::item_attribute_modifier is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemAttributeModifiers
The attribute modifiers of one item stack, as item_attribute_modifier edits them (ItemAttributeModifierEvent’s list). It starts as the stack’s own minecraft:attribute_modifiers, or its item’s, in order.
ItemBar
A visible item bar: its width out of thirteen pixels and its RGB colour.
ItemBarEvent
What ItemPart::item_bar is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemCapabilityKey
An item capability: its name, the handler trait T it answers with, and the game’s own provider, if the game has one.
ItemClick
A player’s item use, including after target fallthrough (RightClickItem).
ItemConsumptionTeleportEvent
What Hooks::item_consumption_teleport is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemContainerEvent
What Hooks::item_container is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemCooldown
One item cooldown a player waits on (ItemCooldowns.cooldowns).
ItemCost
An item payment, with an optional exact component predicate.
ItemCraftedEvent
What Hooks::item_crafted is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemDamageSource
Owned damage source information for a stack attack or a source-specific item query.
ItemDecorationsEvent
What ItemPart::item_decorations is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemDespawnEvent
What Hooks::item_despawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemDrop
An item that drops where a living entity died, before it is an item entity in the level (living_drops): what ItemEntity’s constructor was given.
ItemEnchantments
The enchantments get_enchantment_level (GetEnchantmentLevelEvent) hands a mod: NeoForge’s ItemEnchantments.Mutable, each enchantment’s id (minecraft:sharpness) with its level, in order. Private fields, edited through methods, so the game knows whether a mod changed them.
ItemEntityRef
A dropped item entity of the open world, narrowed with host.item_entity.
ItemExpireEvent
What Hooks::item_expire is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemFished
A fishing catch, for item_fished (ItemFishedEvent).
ItemFishedEvent
What Hooks::item_fished is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemInteractMobEvent
What ItemPart::item_interact_mob is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemKey
An item requested at registration; its load-owned slot identifies the canonical name.
ItemModelLevel
The level an item is drawn in (ClientLevel), as the item model reads it.
ItemModelOwner
The living entity holding the item (ItemOwner), as the item model reads it.
ItemModelPropertyEvent
What Hooks::item_model_property is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemModelRangePropertyEvent
What Hooks::item_model_range_property is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemModelSelectPropertyEvent
What Hooks::item_model_select_property is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemModelUpdateEvent
What Hooks::item_model_update is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemPickedUpEvent
What Hooks::item_picked_up is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemResource
An item and its components, without a count, as NeoForge’s ItemResource: what a slot holds. An empty slot holds none.
ItemSmeltedEvent
What Hooks::item_smelted is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemSpawnEvent
What Hooks::item_spawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemStack
A nonempty, owned item value. Maxima are checked when the game accepts a write, not by this record: item definitions and effective component overrides belong to the game. The component patch is shared copy-on-write: Clone counts a reference instead of copying it, the first write through a shared stack copies the patch once, and equality of two stacks that still share it is a pointer comparison. An absent patch allocates nothing.
ItemStackedOnOtherEvent
What Hooks::item_stacked_on_other is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemTintSourceEvent
What Hooks::item_tint_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemTooltipEvent
What Hooks::item_tooltip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemTossEvent
What Hooks::item_toss is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ItemsEvent
What Hooks::items is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
KeyMapping
A vanilla key mapping as the client holds it (ClientHost::mapping).
KeyMappingPreEvent
What Hooks::key_mapping_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
KeyRegistration
A key a mod registers through Registrar::register_key_mapping: it is listed under the mod’s name on Options > Controls, and the player’s binding and reset are kept by mod id in horizon-mods.txt. Its default is key with modifiers held; shift, control and alt are bound, super is not.
Keyframe
One keyframe (Keyframe): at time seconds, the value arriving (pre) and the value leaving (post), and how the channel moves into it.
KeyframeAnimation
An animation baked against a model (KeyframeAnimation): each channel holds the path to its part, so playing it walks no names.
LayerDefinition
LayerDefinition: a mesh and the size of the texture its boxes are on.
LeavesDecayEvent
What Hooks::leaves_decay is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LeftClickBlockEvent
What Hooks::left_click_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LeftClickEmptyEvent
What Hooks::left_click_empty is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LegacyRandom
LevelDimensionShape
Build range and sky properties of a loaded level’s dimension type.
LevelDimensionType
A level’s dimension type as the game uses it (Level.dimensionType() and the gameplay attributes of its environment), as level.dimension_type(host) reads it: the fields of DimensionSettings that apply, plus the type’s id.
LevelKey
A level’s full namespace:path id, cheap to copy and hash.
LevelLoadEvent
What Hooks::level_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LevelRef
A level of the open world, by its dimension (minecraft:the_nether). Host::level makes one, and entity.level(host) gives an entity’s.
LevelSaveEvent
What Hooks::level_save is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LevelTickPostEvent
What Hooks::level_tick_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LevelTickPreEvent
What Hooks::level_tick_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LevelUnloadEvent
What Hooks::level_unload is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LifecycleContext
Context for every world lifecycle phase. authority is the server role. LocalAuthoritative and RemoteClient never fire today. epoch identifies the open attempt, including failed opens; the same epoch identifies its ready, final-close, or failed-close event. tick counts non-paused server ticks since the world opened.
LightCoords
Block and sky light, each 0..=15, in vanilla’s convention.
LightningStrikeEvent
What Hooks::lightning_strike is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ListenerKey
A typed key to a retained reload listener, built by the registering mod and read back through ReloadResources. ListenerKey::new accepts any id; a key whose id does not match a registration, or whose type differs from the registered object, reads back as None.
LivingBreatheEvent
What Hooks::living_breathe is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingChangeTargetEvent
What Hooks::living_change_target is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingConversionPostEvent
What Hooks::living_conversion_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingConversionPreEvent
What Hooks::living_conversion_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDamagePostEvent
What Hooks::living_damage_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDamagePreEvent
What Hooks::living_damage_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDeathEvent
What Hooks::living_death is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDeathPostEvent
What Hooks::living_death_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDestroyBlockEvent
What Hooks::living_destroy_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDropsEvent
What Hooks::living_drops is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingDrownEvent
What Hooks::living_drown is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEntityUseItemFinishEvent
What Hooks::living_entity_use_item_finish is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEntityUseItemStartEvent
What Hooks::living_entity_use_item_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEntityUseItemStopEvent
What Hooks::living_entity_use_item_stop is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEntityUseItemTickEvent
What Hooks::living_entity_use_item_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEquipmentChangeEvent
What Hooks::living_equipment_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingEquipmentListenedEvent
What Hooks::living_equipment_listened is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingExperienceDropEvent
What Hooks::living_experience_drop is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingFallEvent
What Hooks::living_fall is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingFlyingSpeedEvent
What Hooks::living_flying_speed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingGetProjectileEvent
What Hooks::living_get_projectile is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingHealEvent
What Hooks::living_heal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingIncomingDamageEvent
What Hooks::living_incoming_damage is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingJumpEvent
What Hooks::living_jump is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingJumpPowerEvent
What Hooks::living_jump_power is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingKnockbackEvent
What Hooks::living_knockback is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingRef
A living entity of the open world: a mob, a player, an armor stand or the dragon (vanilla’s LivingEntity). host.living(entity) makes one from an EntityRef of such an entity, and LivingRef::entity goes back, so the entity’s methods work on it too. Stale handles read as None, as an EntityRef’s do.
LivingShieldBlockEvent
What Hooks::living_shield_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingSpeedEvent
What Hooks::living_speed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingUseTotemEvent
What Hooks::living_use_totem is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LivingVisibilityEvent
What Hooks::living_visibility is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LoadedMods
Read-only view of the startup package inventory, shared: cloning it copies no package.
LootConditionEvent
What Hooks::loot_condition is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LootContext
An owned view of the parameters supplied to a mod’s loot kind. The game fills it only when that kind has subscribed listeners.
LootDrops
What dropped the items heard by the loot_drops hook.
LootDropsEvent
What Hooks::loot_drops is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LootFunctionEvent
What Hooks::loot_function is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
LootStack
A loot function’s intermediate item candidate, before inventory materialization. Counts can be non-positive while loot functions run; unlike ItemStack, this is a roll’s intermediate data and does not represent an occupied inventory slot.
LootTableLoadEvent
What Hooks::loot_table_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MapDecoration
An icon a native mod puts on a map: the same place and pose as vanilla’s decorations (MapDecoration).
MapDecorationType
A map decoration type a mod registers once at start: the id a minecraft:map_decorations entry names it by, and how it is drawn.
MapDecorationTypesEvent
What Hooks::map_decoration_types is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MapDecorationsEvent
What Hooks::map_decorations is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MapInfo
A map as a native mod sees it when native_map_decorations is asked.
MapState
A map’s saved data (MapItemSavedData) as it stands: where it is, how far it reaches and its pixels. The markers (players, banners, frames) are not part of it.
MayPlaceOnEvent
What BlockPart::may_place_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MendingRepairEvent
What Hooks::mending_repair is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuBackgroundEvent
What Hooks::menu_background is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuButtonEvent
What BlockEntityPart::menu_button is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuClickedEvent
What Hooks::menu_clicked is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuClosedEvent
What Hooks::menu_closed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuExtraDataEvent
What Hooks::menu_extra_data is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuKey
A menu type (minecraft:generic_9x3) in the built-in menu registry, in registration order. A key stays valid until the game exits.
MenuQuickMoveEvent
What BlockEntityPart::menu_quick_move is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MenuRef
One player’s open menu, invalidated on close, replacement or reconnect. Client menu handles are also invalidated on respawn.
MenuSlotRulesEvent
What MenuPart::menu_slot_rules is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MerchantOffer
A merchant offer copied at an API boundary, not a reference into the game’s trade table.
MerchantRef
A villager or wandering trader (vanilla’s AbstractVillager, a Merchant), narrowed from an entity with host.merchant(entity). If a villager’s saved profession is unresolved, offers read empty and merchant mutations are refused until its profession is available again; saved offers are retained.
MeshDefinition
MeshDefinition: a model’s parts, from a root part with no boxes.
MinecartPassEvent
What BlockPart::minecart_pass is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MinecartRef
A vanilla AbstractMinecart, narrowed from an entity with host.minecart(entity).
Minimap
The minimap a native mod shows (native_minimap), drawn by Horizon’s minimap: its corner, its side in GUI pixels, blocks per map pixel, turning with the player or north up, round or square.
MinimapEvent
What Hooks::minimap is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MissingJar
One missing original file and its owners.
MobDespawnEvent
What Hooks::mob_despawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobEffectAddedEvent
What Hooks::mob_effect_added is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobEffectApplicableEvent
What Hooks::mob_effect_applicable is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobEffectExpiredEvent
What Hooks::mob_effect_expired is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobEffectRemoveEvent
What Hooks::mob_effect_remove is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobGoalEntry
One goal of a mob’s selector, as goals and target_goals read it.
MobKilledEvent
What Hooks::mob_killed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobLayerEvent
What Hooks::mob_layer is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobRef
A vanilla Mob, narrowed from an entity with host.mob(entity).
MobRender
One mob’s frame, as EntityRenderer.extractRenderState fills a LivingEntityRenderState: what a model reads to pose and animate itself. Angles are in degrees, interpolated to the frame’s partial tick.
MobSpawnPlacementCheckEvent
What Hooks::mob_spawn_placement_check is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobSpawnPositionCheckEvent
What Hooks::mob_spawn_position_check is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobSpawnedEvent
What Hooks::mob_spawned is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobSplitEvent
What Hooks::mob_split is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MobSubmitEvent
What Hooks::mob_submit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ModBlockEntity
A mod’s block entity, read and changed through its fields (ModBlockEntityFields) as a struct’s: entity.nbt. Each change goes through DerefMut and gives it a new revision, so a client tells whether what it kept of it (BlockEntityDraw::keep) is still right without comparing the whole entity, and no write can skip that. Its type identity is fixed at construction and is not part of the mutable fields. Returned guest snapshots apply only changed mutable fields through the same revision path.
ModBlockEntityView
A hook’s mutable block entity payload, with a read-only type identity. The private handle cannot be constructed or taken out by a mod.
ModColorResolver
A mod’s colour resolver, as the game keeps it: what ColorResolvers::register returns, to pass to BlockAndTintGetter::block_tint. Process-local; do not persist it.
ModContainer
The container of a mod block’s block entity, as a WorldlyContainer says it: its slot count, the slots each face reaches (getSlotsForFace, by Direction: down, up, north, south, west, east), and the slots hoppers may put into (canPlaceItemThroughFace) and take from (canTakeItemThroughFace); and the vanilla menu that shows its slots when the block is used, if any (MOD_MENUS).
ModContainerViewersEvent
What Hooks::mod_container_viewers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ModEnergyBuffer
The energy buffer of a mod block’s block entity (NeoForge’s SimpleEnergyHandler): its capacity, the most one insert and one extract moves, and the faces a fill may come through and a drain may leave by. The amount is not here: it lives in the entity’s saved compound, under energy, so it survives restarts and the block’s own tick reads it.
ModEntry
One native mod, with its bundle’s [mod] id and hook implementation.
ModFluidTanks
The fluid tanks of a mod block’s block entity, in the container’s shape: each tank’s capacity in millibuckets, the tanks each face reaches, and the tanks a fill may reach and a drain may take. The tanks’ contents are not here: they live in the entity’s saved compound, under fluids, so they survive restarts and the block’s own tick reads them.
ModMismatch
A mod the world was saved with that differs from the loaded mods (ModMismatchEvent’s MismatchedVersionInfo).
ModMismatchEvent
What Hooks::mod_mismatch is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ModMismatchResolution
A marked mod id and the first listener that marked it.
ModParticle
One particle of a provider’s type, as its tick reads and writes it: the fields of vanilla’s Particle a tick moves. Plain numbers, so a tick allocates nothing, and one value for native and wasm mods alike.
ModelBakingCompletedEvent
What Hooks::model_baking_completed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ModelInstance
One copy. origin is world blocks; transform is row-major 3×4 in that local space.
ModelLoaderQuad
One quad a model loader adds to a model whose loader it registered (register_model_loaders), baked with the model’s elements: turned with the blockstate variant, culled and shaded as element faces are.
ModelPart
ModelPart: a baked part, its children by name, and the pose a mod sets each frame before drawing it (setupAnim), from the pose it was baked with (reset_pose).
ModelPolygon
A baked face (ModelPart.Polygon), with the normal it faces in its part’s frame.
ModelRef
A baked standalone model resolved through RenderAssets::model. Retain it between frames; reacquire it after a successful resource reload.
ModelVertex
A corner of a baked face (ModelPart.Vertex): in texels in its part’s frame, and where it falls on the texture, 0 to 1 across it.
ModifyCustomSpawnersEvent
What Hooks::modify_custom_spawners is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ModifyDefaultComponentsEvent
What Hooks::modify_default_components is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MoistureChangeEvent
What Hooks::moisture_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MouseButtonPostEvent
What Hooks::mouse_button_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MouseButtonPreEvent
What Hooks::mouse_button_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MouseScrollingEvent
What Hooks::mouse_scrolling is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MovementInputEvent
What Hooks::movement_input is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Music
Music: a sound event and the delay range (ticks) before it starts.
MusicEvent
What Hooks::music is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
MusicLayer
A track a native mod plays over or instead of the music (native_music_layers): a sound event and its volume, 0 to 1.
MusicLayersEvent
What Hooks::music_layers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NbtError
NeighborChangedEvent
What BlockPart::neighbor_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NeighborNotifyEvent
What Hooks::neighbor_notify is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NetFromClientEvent
What Hooks::net_from_client is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NetFromServerEvent
What Hooks::net_from_server is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NoiseColumn
A noise column from its minimum Y upward; reads outside it are air.
NoteBlockChange
Context for a player tuning a note block.
NoteBlockChangeEvent
What Hooks::note_block_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
NoteBlockPlayEvent
What Hooks::note_block_play is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnBlockExplodedEvent
What BlockPart::on_block_exploded is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnEffectAddedEvent
What Hooks::on_effect_added is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnEntityItemUpdateEvent
What ItemPart::on_entity_item_update is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnEntitySwingEvent
What ItemPart::on_entity_swing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnEquipEvent
What Hooks::on_equip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnItemUseFirstEvent
What ItemPart::on_item_use_first is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnLeftClickEntityEvent
What ItemPart::on_left_click_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnNeighborChangeEvent
What BlockPart::on_neighbor_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
OnUseTickEvent
What ItemPart::on_use_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Overanswered
A handler answered more than it was asked (move_resources): a mod bug, warned once naming the mod. Returned from a host.transaction closure with ?, it aborts the whole move, so neither end keeps any of it.
Overlay
White-flash column and the hurt tint. Hurt hides the white flash.
PackRegistration
A pack bundled with a mod. location names the mod and a directory beneath its package root, e.g. example:assets/example/resourcepacks/high_contrast. That directory must contain pack.mcmeta. Packages may be folders or archives; discovery and reload read the same logical directory without extracting it.
PackageInfo
Read-only package metadata available during registration.
PanelEventEvent
What Hooks::panel_event is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PartId
A part of a MeshDefinition, as add_or_replace_child gives it (PartDefinition): a handle into that mesh only.
PartPose
PartPose: where a part sits in its parent, in texels from the parent’s pivot (+y down, as a model’s frame is), its rotation in radians (about z, then y, then x, as ModelPart.translateAndRotate turns it) and its scale.
ParticleGroup
A render group a native mod registers: vanilla’s ParticleRenderType and the ParticleGroup the engine keeps for it. The particles of a group are counted, admitted, ticked and removed apart from every other group’s (each has vanilla’s own 16384-particle limit), and drawn after the built-in particles, in registration order.
ParticleKey
A particle requested at registration, resolved once when providers load.
ParticleOptions
ParticleOptions with the parameters of the option classes used here.
ParticleProviderRegistry
The game’s ParticleProviders: the registrations by name.
Parts
Every mod’s parts, by the id of the thing they are attached to, in dispatch order.
PayloadReader
A payload body being read. It borrows the body and never reads past it.
PayloadToken
A registered payload direction with its value type erased: what the object-safe send services take. The game issues one when registration freezes; it names the declaration’s slot, its phases, its direction and the load session that issued it.
PayloadWriter
A payload body being written, bounded in bytes. The first failure is kept and every later write is skipped, so a codec need not check each one.
PerformBonemealEvent
What BlockPart::perform_bonemeal is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PermissionsChangedEvent
What Hooks::permissions_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PickupXpEvent
What Hooks::pickup_xp is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PipelineQuad
A two-sided quad drawn by a mod pipeline. Corners run top left, bottom left, bottom right, top right as seen from the front.
PistonPostEvent
What Hooks::piston_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PistonPreEvent
What Hooks::piston_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlacementContext
Inputs to selecting a block’s placement state.
PlacementInfo
Vanilla’s Recipe#placementInfo: ingredient cells, distinct from display pictures. Supplied by the same recipe-type-owned provider as its displays. NeoForge public documentation names no separate registration event.
PlayLevelSoundAtEntityEvent
What Hooks::play_level_sound_at_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayLevelSoundAtPositionEvent
What Hooks::play_level_sound_at_position is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlaySoundEvent
What Hooks::play_sound is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlaySoundSourceEvent
What Hooks::play_sound_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayStreamingSourceEvent
What Hooks::play_streaming_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerAbilities
A player’s server-side abilities (Abilities).
PlayerActionSetup
Temporary state for PlayerRef::perform_action_scoped. The existing fake acts in survival with a fresh standing body, holding only stack in its main hand; its persistent body, items, look, secondary-use state and action timers are restored afterwards.
PlayerAdvancementDoneEvent
What Hooks::player_advancement_done is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerAdvancementProgressEvent
What Hooks::player_advancement_progress is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerArmSwingEvent
What Hooks::player_arm_swing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerAttackCooldownResetEvent
What Hooks::player_attack_cooldown_reset is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBedEnterEvent
What Hooks::player_bed_enter is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBedLeaveEvent
What Hooks::player_bed_leave is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBreakSpeedEvent
What Hooks::player_break_speed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBrewedPotionEvent
What Hooks::player_brewed_potion is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBucketEntityEvent
What Hooks::player_bucket_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerBundleItemSelectEvent
What Hooks::player_bundle_item_select is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerChangeBeaconEffectEvent
What Hooks::player_change_beacon_effect is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerChangedDimensionEvent
What Hooks::player_changed_dimension is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerClientLoadedWorldEvent
What Hooks::player_client_loaded_world is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerCloneEvent
What Hooks::player_clone is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerCommandEvent
What Hooks::player_command is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerCommandsSentEvent
What Hooks::player_commands_sent is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerContainerCloseEvent
What Hooks::player_container_close is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerContainerOpenEvent
What Hooks::player_container_open is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerDeepSleepEvent
What Hooks::player_deep_sleep is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerDestroyItemEvent
What Hooks::player_destroy_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerDiedEvent
What Hooks::player_died is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerEditBookEvent
What Hooks::player_edit_book is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerEggThrowEvent
What Hooks::player_egg_throw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerElytraBoostEvent
What Hooks::player_elytra_boost is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerEnchantItemEvent
What Hooks::player_enchant_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerExpCooldownChangeEvent
What Hooks::player_exp_cooldown_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerExperience
A player’s experience (Player.experienceLevel, experienceProgress, totalExperience).
PlayerFishEvent
What Hooks::player_fish is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerFlowerPotManipulateEvent
What Hooks::player_flower_pot_manipulate is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerFlyableFallEvent
What Hooks::player_flyable_fall is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerFood
A player’s food data.
PlayerGameModeChangedEvent
What Hooks::player_game_mode_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerHarvestCheckEvent
What Hooks::player_harvest_check is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerHeartTypeEvent
What Hooks::player_heart_type is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerInput
One tick of a bot’s keys for native_simulate_player_move, as a client’s input is (ClientInput, LocalPlayer.aiStep).
PlayerInputEvent
What Hooks::player_input is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerInsertLecternBookEvent
What Hooks::player_insert_lectern_book is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerInventoryChangedEvent
What Hooks::player_inventory_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerItemCooldownEvent
What Hooks::player_item_cooldown is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerItemFrameChangeEvent
What Hooks::player_item_frame_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerItemMendEvent
What Hooks::player_item_mend is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerItemSmithedEvent
What Hooks::player_item_smithed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerJumpEvent
What Hooks::player_jump is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerKickedEvent
What Hooks::player_kicked is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLaunchProjectileEvent
What Hooks::player_launch_projectile is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLecternPageChangeEvent
What Hooks::player_lectern_page_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLevelChangeEvent
What Hooks::player_level_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLoadFromFileEvent
What Hooks::player_load_from_file is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLoggedInEvent
What Hooks::player_logged_in is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLoggedOutEvent
What Hooks::player_logged_out is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLoginEvent
What Hooks::player_login is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerLoomPatternSelectEvent
What Hooks::player_loom_pattern_select is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerMapFilledEvent
What Hooks::player_map_filled is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerNameEntityEvent
What Hooks::player_name_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerNameFormatEvent
What Hooks::player_name_format is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerOpenSignEvent
What Hooks::player_open_sign is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerPickItemEvent
What Hooks::player_pick_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerPickupArrowEvent
What Hooks::player_pickup_arrow is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerReadyArrowEvent
What Hooks::player_ready_arrow is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRecipeBookClickEvent
What Hooks::player_recipe_book_click is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRecipeBookSettingsChangeEvent
What Hooks::player_recipe_book_settings_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRecipeDiscoveredEvent
What Hooks::player_recipe_discovered is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRef
An online player in one open server world, keyed by UUID. A nested guest turn cannot re-enter a player active in an outer turn; operations requiring that player’s swapped state report them unavailable.
PlayerRender
Which player a MobRender is, for native_player_submit and native_mob_layer.
PlayerRenderListenedEvent
What Hooks::player_render_listened is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRespawnConfig
A player’s respawn point (ServerPlayer.RespawnConfig): the block they come back at, the way they face there and whether it is forced (/spawnpoint) rather than a bed or anchor that must still be there.
PlayerRespawnPositionEvent
What Hooks::player_respawn_position is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRespawnedEvent
What Hooks::player_respawned is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerRiptideEvent
What Hooks::player_riptide is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSaveToFileEvent
What Hooks::player_save_to_file is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSetSpawnEvent
What Hooks::player_set_spawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerShearEntityEvent
What Hooks::player_shear_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerShieldDisableEvent
What Hooks::player_shield_disable is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSpawnPhantomsEvent
What Hooks::player_spawn_phantoms is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSprintEvent
What Hooks::player_sprint is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStartTrackingEvent
What Hooks::player_start_tracking is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStatAwardEvent
What Hooks::player_stat_award is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStaysOnGroundSurfaceEvent
What Hooks::player_stays_on_ground_surface is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStonecutterRecipeSelectEvent
What Hooks::player_stonecutter_recipe_select is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStopSpectatingEntityEvent
What Hooks::player_stop_spectating_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStopTrackingEvent
What Hooks::player_stop_tracking is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerStopUsingItemEvent
What Hooks::player_stop_using_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSubmitEvent
What Hooks::player_submit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSwapHandsEvent
What Hooks::player_swap_hands is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSwapWithEquipmentSlotEvent
What Hooks::player_swap_with_equipment_slot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSwitchHotbarSlotPostEvent
What Hooks::player_switch_hotbar_slot_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerSwitchHotbarSlotPreEvent
What Hooks::player_switch_hotbar_slot_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTabListNameFormatEvent
What Hooks::player_tab_list_name_format is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTakeLecternBookEvent
What Hooks::player_take_lectern_book is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTeleportEndGatewayEvent
What Hooks::player_teleport_end_gateway is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTeleportedEvent
What Hooks::player_teleported is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTickPostEvent
What Hooks::player_tick_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTickPreEvent
What Hooks::player_tick_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerToggleEntityAgeLockEvent
What Hooks::player_toggle_entity_age_lock is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerToggleFlightEvent
What Hooks::player_toggle_flight is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerToggleSneakEvent
What Hooks::player_toggle_sneak is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTotemEvent
What Hooks::player_totem is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerTradeEvent
What Hooks::player_trade is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerUnleashEntityEvent
What Hooks::player_unleash_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerVelocityEvent
What Hooks::player_velocity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerXpChangeEvent
What Hooks::player_xp_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PlayerXpLevelChangeEvent
What Hooks::player_xp_level_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PoiTypeExtensionRegistry
Engine-owned storage behind the registrar.
PortalCreateEvent
What Hooks::portal_create is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PortalShape
The empty frame a fire is about to fill with a nether portal, for portal_spawn (BlockEvent.PortalSpawnEvent.getPortalSize).
PortalSpawnEvent
What Hooks::portal_spawn is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PosedPart
One humanoid part as posed this frame: its pose relative to its parent, and whether it draws (ModelPart.visible as the body drew it: after Skin Customization and the parts player_submit hid).
PosedParts
The humanoid parts of a model, posed this frame: a fixed-size snapshot, nothing allocated.
PotentialSpawnsEvent
What Hooks::potential_spawns is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PotionBrewPostEvent
What Hooks::potion_brew_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PotionBrewPreEvent
What Hooks::potion_brew_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PotionSplashEvent
What Hooks::potion_splash is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PreRemoveSideEffectsEvent
What BlockEntityPart::pre_remove_side_effects is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PrepareHopperTransferEvent
What Hooks::prepare_hopper_transfer is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PrepareItemCraftEvent
What Hooks::prepare_item_craft is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PrepareItemEnchantEvent
What Hooks::prepare_item_enchant is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PrepareSmithingEvent
What Hooks::prepare_smithing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
PresetEditor
A client screen used to customize a data-pack world preset.
ProjectileImpactEvent
What Hooks::projectile_impact is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ProjectileLaunchEvent
What Hooks::projectile_launch is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ProjectileRef
A projectile of the open world (vanilla’s Projectile), narrowed with host.projectile: arrows, tridents (a player’s too), firework rockets, thrown items, fireballs, wind charges, skulls, shulker bullets and mods’ thrown types.
RaidRef
A raid of a level (Raid), by the id Raids keeps it under, which the raids file saves. level.raid_at(host, pos), level.raids(host), level.raid(host, id) and mob.raid(host) make one. A handle resolves again on each call: it reads as None or false once the raid is gone, for a handle of an earlier open, for a closed level, and on a client. Reads and writes reach parked server levels without moving them into place.
RaidSpawnWaveEvent
What Hooks::raid_spawn_wave is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RaidStateChangeEvent
What Hooks::raid_state_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RandomTickEvent
What BlockPart::random_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Recipe
A recipe in force (RecipeManager.getAllRecipesFor), whatever its type (vanilla’s or a mod’s own): its typed parts, and its file for whatever a mod’s own type keeps there. json is the data-pack file’s JSON, read by a mod at reload; host parsing helpers accept JSON text. Plain data.
RecipeBookCategoriesEvent
What Hooks::recipe_book_categories is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RecipeBookCategory
A mod’s book category and displays for one custom recipe type.
RecipeBookDisplayEntry
Displays supplied by a recipe type for one recipe. A recipe may have several displays. Declarations are evaluated once per recipe-table load, not per frame.
RecipeBookSettings
Open and craftable-only state, independent of categories and vanilla books. Client intent must not be saved until the server accepts it.
RecipeBookTypeKey
A namespaced custom recipe book identity returned during registration. This owns no settings; player settings and synchronization are separate.
RecipeMatch
What the matched recipe assembles; lookup never consumes the input.
RecipePropertyAddition
Items a mod adds to one of the recipe property sets: the items a furnace, blast furnace, smoker, campfire, smithing table slot or brewing stand slot accepts (RecipeManager.RECIPE_PROPERTY_SETS), or a mod-created menu input set. New keys must belong to a namespace owned by the listener’s manifest; later listeners may extend sets created by earlier listeners.
RecipePropertySetsEvent
What Hooks::recipe_property_sets is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RecipeTemplate
An ItemStackTemplate in a crafting rule, not an assembled result. The rule decides which input supplies inherited components and, when item is absent, the result item. Use crate::LevelRef::recipe_for for an actual grid’s output and remainders.
RecipeTransferCheck
The server’s answer to transfer_recipe_check: what the transfer would do, and with Missing, the recipe’s cells nothing fills.
RecipesReceivedEvent
What Hooks::recipes_received is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterBlockTintSourcesEvent
What Hooks::register_block_tint_sources is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterCauldronFluidContentEvent
What Hooks::register_cauldron_fluid_content is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterCauldronInteractionEvent
What Hooks::register_cauldron_interaction is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterClientCommandsEvent
What Hooks::register_client_commands is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterColorResolversEvent
What Hooks::register_color_resolvers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterCommandsEvent
What Hooks::register_commands is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterConfigsEvent
What Hooks::register_configs is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterDebugEntriesEvent
What Hooks::register_debug_entries is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterDebugRenderersEvent
What Hooks::register_debug_renderers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterDimensionTransitionScreenEvent
What Hooks::register_dimension_transition_screen is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterEnchantmentDamageEffectsEvent
What Hooks::register_enchantment_damage_effects is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterEntitySpectatorShadersEvent
What Hooks::register_entity_spectator_shaders is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterFluidModelsEvent
What Hooks::register_fluid_models is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterGameTestsEvent
What Hooks::register_game_tests is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterGuiLayersEvent
What Hooks::register_gui_layers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterItemModelsEvent
What Hooks::register_item_models is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterItemTintSourcesEvent
What Hooks::register_item_tint_sources is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterLayerDefinitionsEvent
What Hooks::register_layer_definitions is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterModelLoadersEvent
What Hooks::register_model_loaders is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterParticleGroupsEvent
What Hooks::register_particle_groups is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterParticleProvidersEvent
What Hooks::register_particle_providers is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterPresetEditorsEvent
What Hooks::register_preset_editors is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterRangeSelectItemModelPropertyEvent
What Hooks::register_range_select_item_model_property is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterRenderPipelinesEvent
What Hooks::register_render_pipelines is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterRuntimeSpritesEvent
What Hooks::register_runtime_sprites is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterSelectItemModelPropertyEvent
What Hooks::register_select_item_model_property is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterSpriteSourcesEvent
What Hooks::register_sprite_sources is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegisterTextureAtlasesEvent
What Hooks::register_texture_atlases is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RegistrarMob
The entity a GoalRegistrar is building goals for, at construction: its type id, the datum vanilla’s per-species registerGoals branches on.
RegistrationContext
A registration phase’s view. Declarations go on the hook’s event; there is no world, handle constructor, transaction or game Host at this point.
ReleaseUsingEvent
What ItemPart::release_using is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ReloadResourceError
An error loading a resource, including the resource that caused it.
RemoveBlockEvent
What BlockPart::remove_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderArmEvent
What Hooks::render_arm is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderFogEvent
What Hooks::render_fog is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderFramePostEvent
What Hooks::render_frame_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderFramePreEvent
What Hooks::render_frame_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderGuiPostEvent
What Hooks::render_gui_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderGuiPreEvent
What Hooks::render_gui_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderHandEvent
What Hooks::render_hand is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderItemInFrameEvent
What Hooks::render_item_in_frame is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderLevelStageEvent
What Hooks::render_level_stage is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderNameTagEvent
What Hooks::render_name_tag is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderPipeline
A pipeline registered by Hooks::register_render_pipelines: a fragment shader from the mod’s assets and the fixed state it draws with. This is a restricted form: the mod supplies the fragment stage and the host fixes the rest. Vanilla requires a vertex shader and a primitive type; this API fixes both. The engine builds every GPU object.
RenderPipelineRef
A registered pipeline as the current resources built it, resolved through crate::RenderAssets::render_pipeline. Retain it between frames; resolve it again after a successful resource reload.
RenderTooltipGatherComponentsEvent
What Hooks::render_tooltip_gather_components is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderTooltipPreEvent
What Hooks::render_tooltip_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RenderTooltipTextureEvent
What Hooks::render_tooltip_texture is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ResolverBiome
A biome as a colour resolver reads it: vanilla’s Biome in ColorResolver.getColor.
ResourcePackStatusEvent
What Hooks::resource_pack_status is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RespawnData
The world’s respawn data (LevelData.RespawnData): where a player without a spawn point of their own appears, and facing which way. Horizon keeps it in the Overworld.
RetainedListeners
The game’s ServerReloadResources.
RightClickBlockEvent
What Hooks::right_click_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RightClickEmptyEvent
What Hooks::right_click_empty is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RightClickItemEvent
What Hooks::right_click_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RunModCommandEvent
What Hooks::run_mod_command is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
RuntimeSprite
A mod-generated PNG to stitch into the next client resource generation.
SceneBlock
One block of a scene a mod draws in a screen: its local position and state, and the optional mod block entity drawn by its Part as in the world.
SceneBlockEntity
A mod block entity’s type and public fields supplied to a screen’s drawing Part. This is not a live entity: internal cache and revision identities never cross the API.
SceneView
How a scene is seen: its center, vertical rotation and top tilt in degrees, and the number of GUI pixels a block spans.
ScheduledTaskEvent
What Hooks::scheduled_task is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScopedActionResult
A scoped action’s result. The returned stacks belong to the caller, not to the fake’s restored inventory. World changes and normal action hooks have already run.
Screen
A mod block’s screen over its menu (native_screen): its size, where each of the container’s slots is (Slot.x, Slot.y; none hides the slot, and so do slots past the list; the server’s menu does not have a hidden slot either, so clicks and shift-clicks skip it), and the player inventory’s first row (vanilla’s is 84; the hotbar is 58 below it) and left column, from its top left.
ScreenCharTypedPostEvent
What Hooks::screen_char_typed_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenCharTypedPreEvent
What Hooks::screen_char_typed_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenClickEvent
What BlockEntityPart::screen_click is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenClosingEvent
What Hooks::screen_closing is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenDrawEvent
What BlockEntityPart::screen_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenEvent
What BlockEntityPart::screen is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenExclusionAreasEvent
What Hooks::screen_exclusion_areas is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenId
The stable identifier reported by screen hooks for an observed screen.
ScreenInitPostEvent
What Hooks::screen_init_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenKeyPressedPostEvent
What Hooks::screen_key_pressed_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenKeyPressedPreEvent
What Hooks::screen_key_pressed_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenKeyReleasedPostEvent
What Hooks::screen_key_released_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenKeyReleasedPreEvent
What Hooks::screen_key_released_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseButtonPressedPostEvent
What Hooks::screen_mouse_button_pressed_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseButtonPressedPreEvent
What Hooks::screen_mouse_button_pressed_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseButtonReleasedPostEvent
What Hooks::screen_mouse_button_released_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseButtonReleasedPreEvent
What Hooks::screen_mouse_button_released_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseDraggedPostEvent
What Hooks::screen_mouse_dragged_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseDraggedPreEvent
What Hooks::screen_mouse_dragged_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseScrolledPostEvent
What Hooks::screen_mouse_scrolled_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenMouseScrolledPreEvent
What Hooks::screen_mouse_scrolled_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenOpeningEvent
What Hooks::screen_opening is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenPreeditPostEvent
What Hooks::screen_preedit_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenPreeditPreEvent
What Hooks::screen_preedit_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenRenderBackgroundEvent
What Hooks::screen_render_background is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenRenderForegroundEvent
What Hooks::screen_render_foreground is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenRenderInventoryMobEffectsEvent
What Hooks::screen_render_inventory_mob_effects is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenRenderPostEvent
What Hooks::screen_render_post is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenRenderPreEvent
What Hooks::screen_render_pre is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenTooltipEvent
What BlockEntityPart::screen_tooltip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenTransparentBackgroundEvent
What Hooks::screen_transparent_background is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenView
The open screen, for the screen hooks (native_screen_render_post, the mouse ones native_screen_mouse_button_pressed_pre, ..._released_pre and native_screen_mouse_scrolled_pre, and the key ones native_screen_key_pressed_pre and native_screen_char_typed_pre): what it is, its menu and title, where its container panel is, how many slots its menu has, and where the mouse and the frame’s partial tick are.
ScreenshotEvent
What Hooks::screenshot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ScreenshotImage
The in-memory F2 frame (ScreenshotEvent.getImage), before either file is written.
SculkBloomEvent
What Hooks::sculk_bloom is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SectionGeometryRegistry
The game’s SectionGeometryRenderers: the renderers in registration order.
SectionQuad
One quad a SectionGeometry adds. Its corners go counter-clockwise seen from the side it faces; a solid quad is culled from behind, as a block’s faces are, so a quad seen from both sides is two quads.
ServerAboutToStartEvent
What Hooks::server_about_to_start is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerChatEvent
What Hooks::server_chat is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerListenerRegistry
The game’s ServerReloadListeners.
ServerPlayer
A player on the server, as a server hook sees them.
ServerReloadContext
Selected server data files for one converter, with pack overrides resolved. Keys have their directory and extension removed. This cannot read assets or filesystem paths. Its fields are private so the view can grow.
ServerStartedEvent
What Hooks::server_started is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerStartingEvent
What Hooks::server_starting is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerStoppedEvent
What Hooks::server_stopped is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerStoppingEvent
What Hooks::server_stopping is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerTickEvent
What Hooks::server_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerTickRateChangedEvent
What Hooks::server_tick_rate_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ServerboundPlayPacket
A serverbound play packet encoded in the connected game’s vanilla protocol.
SettingChangedEvent
What Hooks::setting_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SettingSpec
A setting a mod registers with Registrar::register_setting: its key (unique within the mod), the translation keys of its label and tooltip, and what it is.
ShaderParamsEvent
What Hooks::shader_params is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Shake
The camera shake native mods ask for (native_camera_shake): turns in degrees, and an offset in blocks along the camera’s right, up and back.
ShieldBlock
What a player’s raised blocking item does to a hit, as native_living_shield_block may change it (LivingShieldBlockEvent).
ShouldApplyEffectTickThisTickEvent
What Hooks::should_apply_effect_tick_this_tick is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ShouldCheckWeakPowerEvent
What BlockPart::should_check_weak_power is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ShouldRedstoneWireConnectToEvent
What BlockPart::should_redstone_wire_connect_to is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SignChangedEvent
What Hooks::sign_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SimulatedMove
Where a bot’s tick took it (native_simulate_player_move).
SizedFluidIngredient
A FluidIngredient with the amount it asks, as NeoForge’s SizedFluidIngredient: the fluids the ingredient accepts, and how many millibuckets of them (a bucket is 1000).
SleepFinishedTimeEvent
What Hooks::sleep_finished_time is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SmokeSourceEvent
What BlockPart::smoke_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SoundEngineLoadEvent
What Hooks::sound_engine_load is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SoundPlay
A sound about to play, for play_sound (SoundInstance’s own settings: vanilla’s getIdentifier, getSource, getVolume, getPitch, getX/Y/Z, isLooping, getDelay, getAttenuation and isRelative).
SoundRef
A sound a client mod started with play_local_sound, to follow and control: state, stop and fade. Each handle names one play and is never reused. Once the sound has ended, been stopped or been cleared (leaving or changing levels stops every sound), the handle is stale: it reads SoundState::Stopped and its writes do nothing. It stays valid across a change of output device, which keeps the sounds playing.
SpawnChangeEvent
What Hooks::spawn_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SpawnEntry
SpawnFlags
Which categories a level’s natural spawning (NaturalSpawner.spawnForChunk) may spawn at all, read and set through LevelRef::spawn_flags and set_spawn_flags. A flag only takes away, for its level alone: monsters still need the spawn_monsters game rule, and nothing spawns naturally with spawn_mobs off. Spawners, patrols, sieges, phantoms, a new chunk’s creatures and other custom spawners don’t read the flags.
SpawnLimits
How many mobs of each spawning category a level’s natural spawning allows (MobCategory.getMaxInstancesPerChunk), read and set through LevelRef::spawn_limits and set_spawn_limits. Each limit counts twice, as vanilla’s own does: the level spawns a category only while its count of that category’s mobs stays under limit * spawnable chunks / 289 (one player’s 17 by 17 chunks hold the vanilla value), and only in a chunk with a player near it who has fewer than limit of them around. A limit of 0 stops the category’s natural spawning. MobCategory::Misc never spawns naturally, so it has no limit.
SpawnPlacementRule
A mod entity type’s spawn rule, declared with Registrar::declare_spawn_placement: the arguments of NeoForge’s RegisterSpawnPlacementsEvent.register as data, so one rule serves native and wasm mods. Every field must hold for a spawn to pass; a trial spawner ignores light, as for vanilla types.
SpawnerKey
The identity of a mod’s spawner, namespace:path (mymod:rat_swarm), checked once where a mod names it: what CustomSpawners::add takes and custom_spawner_tick hands back.
SpongeAbsorbEvent
What Hooks::sponge_absorb is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SpreadPlayersTeleportEvent
What Hooks::spread_players_teleport is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
SpriteRef
A sprite: its array (0 for every vanilla texture on most GPUs; past the first array’s layers in 1 to 7) and its layer in that array.
SpriteSourceEvent
What Hooks::sprite_source is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Stack
An item the panel shows (panel_items): its id (minecraft:diamond), a count (1 draws none) and its components beyond the item’s own, in vanilla’s item syntax, or “”.
StackSplit
The two nonempty portions of a consuming split. Either portion can be absent.
StackedOnOther
A pickup click’s slot and cursor, including empty stacks.
StandaloneModelsEvent
What Hooks::standalone_models is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
StateConstraint
A property constraint used when matching a state.
StateForPlacementEvent
What BlockPart::state_for_placement is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
StatePredicate
A block or tag filter, with unspecified properties left as wildcards. An unknown or missing property on a tag member never matches.
StateProperty
One property and its legal values in a state definition.
StatefulBlockEntityEvent
What BlockEntityPart::stateful_block_entity is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
StructureError
A piece’s placement failed; the generation of that piece stops there, as a piece’s own Result does in the engine.
StructureSearch
Search parameters for LevelRef::find_nearest_structure.
StructureSearchResult
The nearest structure start a search found.
StructureTemplateBlock
A transformed block and its optional block-entity data.
StructureTemplateSnapshot
The transformed template size and blocks in vanilla placement order.
SubmitCustomGeometryEvent
What Hooks::submit_custom_geometry is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Suggestion
A command completion replacing a byte range of the input.
SweepAttackEvent
What Hooks::sweep_attack is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TabCompleteEvent
What Hooks::tab_complete is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TagKey
A process-lifetime tag name resolved once through Tags::key. Membership belongs to the current authoritative data reload, not to the key.
TagsUpdatedEvent
What Hooks::tags_updated is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TargetHitEvent
What Hooks::target_hit is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TaskId
A task a mod scheduled: unique in the running world, never reused.
TeleportCommandEvent
What Hooks::teleport_command is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TerrainModelOptions
How BlockEntityDrawContext::terrain_model draws a model. The default is the model’s own materials and shading, its baked UVs and no tint.
TerrainUvShift
Faces textured by source_sprite drawn with target_sprite instead, their unit UVs multiplied by scale then moved by offset: a belt’s or a scrolling screen’s texture. Only faces of that exact sprite change.
Text
A component tree, retaining translation keys, styles and ordered children.
TextEdit
The text of a field and where its cursor and selection are, in characters (EditBox.value, cursorPos, highlightPos, maxLength).
TextFieldLayout
What DrawContext::widget_text_field drew: the first character shown (after scrolling to the cursor) and the GUI x of each shown character boundary, from the start of the shown text to its end, so a press maps to the character it is on.
TextFieldView
A text field as DrawContext::widget_text_field draws it: the game’s EditBox look, filled in by Widgets.
TextureAtlasRegistration
An atlas a client mod adds beside the game’s (RegisterTextureAtlasesEvent), as register_texture_atlases declares it: its id and the atlas definition listing its sprites. Horizon stitches its sprites into the GUI atlas, each under Self::sprite_name.
TextureAtlasStitchedEvent
What Hooks::texture_atlas_stitched is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ThunderChangeEvent
What Hooks::thunder_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TickBlockEvent
What BlockPart::tick_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TickId
Non-paused authoritative server ticks since open (not game or frame time).
TickTargetMillisEvent
What Hooks::tick_target_millis is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TicketController
A ticket controller a mod registered with Registrar::register_ticket_controller: the handle chunk.set_mod_forced and level.mod_forced_chunks take. Only the registrar makes one, resolved once there, and it is Copy: keep it from register, for example in a OnceLock. Another mod’s controller does not work.
TicketSet
The chunks one owner holds, the two kinds apart (NeoForge’s TicketSet).
TimeSkipEvent
What Hooks::time_skip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TntPrimedEvent
What Hooks::tnt_primed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ToClient
The token of a payload of T a server sends a client. Only the clientbound send service takes it, so sending it the other way does not compile.
ToServer
The token of a payload of T a client sends its server. Only the serverbound send service takes it, so sending it the other way does not compile.
ToastAddEvent
What Hooks::toast_add is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ToolUse
Read-only context for a tool modification.
TooltipAppendContext
What a tooltip is about, as its appender gets it: the local player and the tooltip’s flags.
TooltipComponentDrawEvent
What ItemPart::tooltip_component_draw is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TooltipComponentEvent
What ItemPart::tooltip_component is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TooltipDisplay
The minecraft:tooltip_display component applied by ItemStack while it builds a hover tooltip.
TooltipEvent
What ItemPart::tooltip is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TooltipImage
An image component of a tooltip: size GUI pixels, drawn by the tooltip_component_draw part of stack’s item, with stack’s data. An item’s own tooltip_component part answers the one it starts with.
TooltipPlace
Where a tooltip hangs from, in GUI pixels: what render_tooltip_pre lets a mod move.
TradeSelectEvent
What Hooks::trade_select is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
TradeWithVillagerEvent
What Hooks::trade_with_villager is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Transaction
An open transaction, as NeoForge’s TransactionContext: what every write of a handler or a place takes. host.transaction gets one from the game and lends it to its closure alone.
TransactionSeal
What ends a transaction: transaction_open gives it to whoever opened the transaction (host.transaction’s guard), and transaction_close takes it. A write handler lent only the Transaction cannot end the transaction around it, the game’s own (a hopper’s move) or another mod’s.
Transformation
A display’s Transformation: a translation, a left rotation, a scale and a right rotation. Quaternions are [x, y, z, w].
TropicalVariant
A tropical fish’s look, as a school shares it (TropicalFish.TropicalFishGroupData), by the names vanilla saves (kob, orange, white).
UnknownFluid
A fluid requested by a mod but absent from the completed registry.
UnresolvedFluid
A saved fluid name retained for the lifetime of the process.
UnspawnedMobRef
A mob the game has made but not yet added to a level (finalize_spawn’s and mob_spawn_position_check’s mob), lent to one hook call. It is not an EntityRef: the mob is in no level yet, so no entity lookup finds it. Reads take &dyn Host (mob.kind(host)); where a hook hands out an UnspawnedMobEdits with it, that makes the edits. Every read and edit after the hook returns, or with another lend’s handle, is refused with UnspawnedMobError::Expired, so a copy kept past the call changes nothing.
UpdateShapeEvent
What BlockPart::update_shape is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseAnimationEvent
What ItemPart::use_animation is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseDurationEvent
What ItemPart::use_duration is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseItemEvent
What ItemPart::use_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseItemOnBlockEvent
What Hooks::use_item_on_block is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseItemOnEvent
What BlockPart::use_item_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseOnEvent
What ItemPart::use_on is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
UseWithoutItemEvent
What BlockPart::use_without_item is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
ValidateTicketsEvent
What Hooks::validate_tickets is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VanillaClientListeners
Horizon’s vanilla client reload listeners and ordering boundaries, from the 26.3 Minecraft resource-manager registration order: language, textures, shaders, sounds, the atlas, fonts, the grass and foliage colour listeners, the model manager, equipment assets, paletted textures, then the entity and block-entity render dispatchers, particles, the game renderer, the level extractor, clouds, the GPU warnlist, regional compliance and the GUI.
VanillaGameEventEvent
What Hooks::vanilla_game_event is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VanillaServerListeners
Horizon’s vanilla server reload listeners and ordering boundaries.
VarInt
An i32 written as a VarInt.
VarLong
An i64 written as a VarLong.
VaultChangeStateEvent
What Hooks::vault_change_state is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VaultLootEvent
What Hooks::vault_loot is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Vec3
A vector of doubles, as vanilla’s Vec3.
VehicleCreateEvent
What Hooks::vehicle_create is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VehicleDamageEvent
What Hooks::vehicle_damage is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VehicleDestroyEvent
What Hooks::vehicle_destroy is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VehicleMovedEvent
What Hooks::vehicle_moved is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Victim
Where the entity a hit lands on stands and looks (getViewVector), for HURT_SERVER.
VillageSiegeEvent
What Hooks::village_siege is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
VisualTextCharacter
One character accepted by vanilla’s FormattedCharSink in visual order.
VisualsEvent
What Hooks::visuals is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WeakChangesEvent
What BlockPart::weak_changes is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WeatherChangeEvent
What Hooks::weather_change is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WhitelistStateUpdateEvent
What Hooks::whitelist_state_update is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WindBurstEvent
What Hooks::wind_burst is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WindowResizeEvent
What Hooks::window_resize is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WorldBorderBoundsChangeFinishEvent
What Hooks::world_border_bounds_change_finish is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WorldBorderBoundsChangedEvent
What Hooks::world_border_bounds_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WorldBorderCenterChangedEvent
What Hooks::world_border_center_changed is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WorldDrawUsage
Queued primitive counts and fixed capacities, shared across both depth modes.
WorldEpoch
One server world open or client level; it rejects a previous world’s handles.
WorldFluid
Simulation and bucket settings for a declared world fluid.
WorldLifecycleEvent
What Hooks::world_lifecycle is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
WorldLine
A world-space line, colored with 0xAARRGGBB and measured in screen pixels.
WorldQuad
A two-sided, unlit quad. Corners run top left, bottom left, bottom right, top right as seen from the front; alpha blends without writing depth.
WorldRenderView
Immutable, minimal extracted state for custom world geometry submission. This initial view does not expose NeoForge’s full level state or visible sections.
WorldSavedEvent
What Hooks::world_saved is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
XpOrbTargetingEvent
What Hooks::xp_orb_targeting is told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Zoom
The zoom a native mod asks for (native_zoom): the factor (1 is none), eased through the field of view like the spyglass when smooth, and the scale of mouse turning.
ZoomEvent
What Hooks::zoom is told. Each field is that hook’s argument of the same name, described in the hook’s doc.

Enums§

ActionOutcome
What a fake player’s action did once it ran.
ActionRefused
Why a fake player’s perform_action did nothing at all: it was refused before any of the action ran.
Activity
Activity: the named lanes a brain’s behaviors start in. Only the ones this port’s brains keep; a species’ own brain has its own subset, and an activity its brain has no slot for refuses at registration.
AnimationTarget
What a channel moves (AnimationChannel.Targets): its sampled value is added to the part’s position, rotation or scale (ModelPart.offsetPos, offsetRotation, offsetScale).
ArmPose
HumanoidModel.ArmPose’s constants, the arm poses a humanoid model has.
ArrowPickup
AbstractArrow.Pickup: who may pick an arrow up.
AttachmentError
An attachment operation could not be completed.
AttachmentHolder
A holder’s existing scoped handle, without retaining or loading the holder.
AttachmentRowError
A failed row read or write through a retained batch.
AttachmentWrite
Why a value is stored, which decides what else changes.
AttributeOperation
How an attribute modifier changes its attribute (AttributeModifier.Operation). The value is the base plus every AddValue, then grows by that sum times each AddMultipliedBase, then is multiplied by one plus each AddMultipliedTotal.
AttributeRegistrationError
Why a mod’s attribute type declaration was refused (Registrar::declare_attribute).
Authority
Which Game observes the phase; a mirror Game never fires.
BehaviorRefusal
Why BehaviorRegistrar::add refused.
Billboard
Display.BillboardConstraints.
BiomeColourChange
A change to a colour that 26.3 treats as an optional override of the biome’s effects.
BiomeModifierError
Why a biome modifier was refused (Registrar::declare_biome_modifier).
BiomeModifierOperation
What a biome modifier does to its biomes.
BiomeSourceKind
How a dimension chooses its biomes (BiomeSource): the level stem’s biome_source.
BlockBreakingState
The local player’s current block-breaking operation. An unavailable player returns None from the handle, distinct from Self::Idle.
BlockEntityDataError
Why a mod block entity’s menu data slots could not be sized.
BlockEntityError
Why a block-entity operation could not resolve its target.
BlockEntityItemError
Why a mod block entity’s internal item slot could not be read or written.
BlockEntityPartError
A native Part cannot be attached to this type during registration.
BlockFace
A block face for a level support query.
BlockInteraction
What an explosion does to blocks (Explosion.BlockInteraction).
BlockScreenEffect
Which of ScreenEffectRenderer’s overlays a block puts over the first-person view (NeoForge’s RenderBlockScreenEffectEvent.OverlayType).
BlockShapeKind
The empty-context block shape requested from a level.
BlockStateError
A refused metadata read or state operation.
BlockStateProperty
BlockStateProperty in a load-time content declaration.
BonemealSource
What used bone meal on a block (BonemealSource), for bonemeal.
BossBarColor
BossEvent.BossBarColor.
BossBarOverlay
BossEvent.BossBarOverlay.
BrainMemory
A memory the ported brains keep, as BrainMemoryType names vanilla’s. What a species’ brain does not keep answers absent.
CameraType
CameraType: where the camera sits for the local player. key.togglePerspective (F5) cycles it first person, third person behind, third person in front.
CauldronDecision
Selection result; a consuming result prevents subsequent normal item use.
CauldronFire
Authoritative callback outcome; runtime refusal and traps refuse the action.
CauldronRegistrationError
A registration refused before the immutable dispatcher is published.
ChatVisibility
ChatVisiblity: which chat a client shows.
ChunkStatus
The status of a loaded chunk that Horizon can expose.
ChunkTicketLevel
A chunk’s ticket level (ChunkLevel), as the server holds it: how much of the level the chunk is kept alive for. Lower is more active. Horizon keeps no level for a chunk partway through generating, so past FULL a chunk is Unloaded.
ClipBlock
Block shape used by an empty-context level ray.
ClipFluid
Fluid mode for a level ray. More modes are a follow-up.
ColorResolver
The colour calculations block tints blend over the biomes around a block (vanilla’s BiomeColors resolvers, ColorResolver): vanilla’s four, and the ones mods register in register_color_resolvers.
CommandArgumentError
Why a custom argument’s parser refused the text a player wrote.
CommandArgumentKind
How much of the command line a custom argument’s value takes.
CommandArgumentValue
One validated native command argument, resolved against its command source.
CommandSource
The origin of a registered mod command, independent of execute as’s executor.
ConfigEntryKind
What a path holds.
ConfigFileError
Why a config file call was refused.
ConfigKind
Which side reads a config and when (NeoForge’s ModConfig.Type).
ConnectionKind
Which vanilla rule a connection query comes from: the block asking is a fence, a wall, or iron bars or a pane, and vanilla’s own answer is that rule’s.
ConnectionPhase
The protocol phase a connection is in.
Corner
A screen corner for an overlay.
CriterionTestError
Why the mod’s criterion test could not answer.
CrosshairTarget
The client’s ordinary crosshair hit (Minecraft.hitResult), within the current interaction ranges. Entity handles belong to the current client level’s epoch, including dragon parts; a replacement level invalidates them.
DataLoadOrigin
The owning boundary that starts a data load.
DataMapError
Why a data map read has no answer. An entry the map gives no value is Ok(None), not one of these.
DataMapsUpdateCause
What made a data_maps_updated notice fire (DataMapsUpdatedEvent.UpdateCause).
DatapackDecodeError
Why an entry file did not decode. field names the offending JSON key.
DatapackFieldKind
What a schema field holds, with the bounds the game enforces.
DatapackGenerationExhausted
Why a set could not move to a new generation.
DatapackLoadReason
Why a candidate was refused. The whole candidate fails, never one entry.
DatapackNegotiationError
Why a server refuses to send a client its registries: a registry the server declared as required is not one the client offered with the same schema.
DatapackReadError
Why a handle or a lookup failed.
DatapackRegistrationError
Why a mod’s datapack registry declaration was refused (Registrar::declare_datapack_registry).
DatapackRegistrySync
How a registry’s entries reach joining clients.
DatapackSnapshotError
Why a snapshot was refused. A refused snapshot activates nothing.
DatapackValue
A decoded field value. Ids and references are Text, normalised to namespace:path.
DebugGroup
The vanilla groups a debug entry’s lines can join (DebugScreenDisplayer.addToGroup).
Deflection
ProjectileDeflection: how ProjectileRef::deflect turns a projectile.
Despawn
What a mod answers a despawn check (MobDespawnEvent.Result).
DimensionTransition
NeoForge’s incoming, outgoing and conditional registration variants.
DimensionTransitionReason
Why the client is displaying its level-loading screen.
Direction
DisplayKind
Which Display subclass an entity is.
DragKind
How a complete drag distributes the carried stack.
DragonPhase
An ender dragon phase (EnderDragonPhase), in vanilla’s order.
DrawError
Why a whole geometry batch was refused; nothing from that batch was appended.
EffectApplicable
The answer to mob_effect_applicable: whether an effect can land on an entity. An unanswered hook defers to the vanilla tag check; Allow and Deny override it, as NeoForge’s MobEffectEvent.Applicable.Result does.
EffectCategory
Vanilla MobEffectCategory, read from a registered effect’s type.
EntityAttributeError
Why an entity type’s attribute declaration or addition was refused (Registrar::declare_entity_attributes, Registrar::modify_entity_attributes).
EquipmentSlot
EquipmentSlotGroup
The slots an item’s attribute modifier applies in (vanilla’s EquipmentSlotGroup).
ExplosionInteraction
What an explosion a mod sets off does to blocks (Level.ExplosionInteraction).
FakeEffect
An effect a fake player’s action is stopped from starting. Kinds may be added.
FileToIdConverterError
An invalid directory or extension passed to FileToIdConverter.
FireworkShape
The explosion shape selected by a firework recipe.
Flow
Whether a mod claims a cancellable hook.
FluidBoxError
Why BlockEntityDrawContext::fluid_box drew nothing. A refused box appends no geometry.
FluidDefinition
A registered fluid’s world-state definition, or an identity used only in tanks.
FluidIdentity
A registered fluid, or an opaque retained name from unavailable content.
FluidIngredientError
Why a fluid ingredient could not be parsed.
FluidStateError
Why fluid-state constraints could not be validated.
FogType
FogType of the camera position.
GameMode
A player’s game mode (vanilla’s GameType).
GameRuleError
Why a game rule category declaration was refused.
GameRuleValue
A registered game rule’s typed value. Case order is part of the wasm link contract.
GameTestResult
The outcome of a function invocation. Pending keeps the runner’s timeout active.
GoalSpec
A vanilla AI goal, as a mob’s add_goal and add_target_goal give one: only the kinds Horizon’s own species code runs, with the vanilla constructor’s parameters (MeleeAttackGoal(speed, followUnseen)). Goals with behavior of their own (a MoveToBlockGoal subclass’s block test) stay out: they take code, not parameters.
GroundProvider
The provider a tree decorator places its ground with: AlterGroundEvent.getStateProvider.
GroupError
Why a persistent group operation was refused. Errors leave storage and view unchanged.
GuiDraw
One GuiGraphicsExtractor call. Text deeper than 512 nodes refuses the whole command buffer at the game boundary.
GuiLayerPlacement
Where a mod’s HUD layer goes, the four orderings of RegisterGuiLayersEvent.
Hand
InteractionHand.
Heightmap
Which of a column’s heights (Heightmap.Types) a run’s y counts from.
HeightmapType
The vanilla heightmap opacity predicates used by structure queries.
Holder
A server holder in the host’s current dimension.
HostSide
The logical side of a hook’s host.
HudMode
HUD and first-person hand visibility. Other hand-render restrictions still apply.
HumanoidPart
A part of a humanoid model, by the name vanilla’s PlayerModel gives it. The outer skin layer’s parts (Hat, Jacket, the sleeves and the pants) are children of the part they cover.
IngredientKeysError
Why an ingredient cannot be retained as an exact, component-independent key set.
InstanceDirectory
The game’s instance directory, captured before registration begins.
InstanceError
Why a whole instance batch was refused. Nothing from that batch is drawn.
InteractionAttempt
What caused a client interaction mapping to act on this tick.
InteractionKey
The key of InteractionKeyMappingTriggered: what the player’s click was about to do.
InteractionResult
Vanilla’s InteractionResult, as a hook answers it.
Interpolation
How a channel reaches a keyframe from the one before (AnimationChannel.Interpolations).
ItemDisplayContext
ItemDisplayContext.
ItemPlace
Where a stack lives.
ItemRarity
The effective rarity of an item stack, after its enchantment upgrade.
JarInputsError
An accepted root’s original-jar inputs could not be checked.
KeyAction
What a key did in an input_key event (GLFW’s action: release 0, press 1, repeat 2).
KeyConflictContext
The screens in which two mappings can conflict.
LandingWrite
A write at the block an entity landed on (Block.fallOn).
LeashHolder
The resolved holder of a mob’s or a boat’s leash, or its absence.
LevelDimension
LevelReadError
Why a LevelRef read cannot return its requested state.
LevelSide
The logical side of a hook’s host.
LevelWriteError
Why a block write cannot reach its authoritative level. Ok(false) instead means vanilla refused an otherwise valid write, for example an unloaded or out-of-height position or an unchanged block.
LightLayer
A kind of light (LightLayer).
LogicalSide
The logical side on which a menu click runs.
LoopSide
The side that owns a resource-generation loop.
MainHand
HumanoidArm: a player’s main hand.
MemoryStatus
MemoryStatus: what an entry condition asks of a memory.
MenuClick
One click on the local player’s open menu, submitted with MenuRef::click.
MenuSlotBacking
What a menu slot shows: where MenuRef::slot_backing says its stack lives.
MinecartKind
Which minecart an entity is: one per vanilla AbstractMinecart subclass.
MobCategory
The category of an entity’s type (MobCategory, EntityType.getCategory): what natural spawning counts it as. Every kind that isn’t a mob is Misc, except the ender dragon, a Monster.
MobFilter
The player, or mobs of the given species: the class filter of a GoalSpec::NearestTarget and of a GoalSpec::AvoidEntity. The species ids are namespaced (minecraft:zombie); a bare id reads as minecraft:‘s, like the effects’ ids.
ModEvent
What happened to a mod’s claimed item, oldest first.
ModelError
Why a standalone model could not be resolved or drawn. Errors append no geometry.
ModifierLifetime
Whether an attribute modifier is saved with its entity (AttributeInstance.addPermanentModifier) or lasts until the entity unloads (addTransientModifier), as the modifiers of worn items and effects do.
MouseButton
The mouse button used to pick up or place a stack.
NeighbourUpdate
A neighbour update a block asks for when it is removed, each the one vanilla’s own removal uses (Level.updateNeighborsAt, updateNeighborsAtExceptFromFacing, updateNeighbourForOutputSignal).
NoiseBlock
A noise-column block, classified by the questions structures ask.
NoteInstrument
A note block’s instrument (NoteBlockInstrument), for note_block_play, in the instrument property’s order.
PackFinderError
A registration that the repository could not accept. No partial pack is added.
PackPosition
Where an always-active pack enters a selection that does not already name it.
PackSource
How a pack is labelled in the selection screen. Feature packs also appear among the world’s experiments when their metadata declares feature flags.
PackType
Which repository is being discovered.
PackageKind
Whether a package contains compiled code or content alone.
PanelEvent
What the player did on a native mod’s panel (native_panel_event).
ParticleBlend
How a ParticleGroup’s particles blend: the layer they draw on, which decides their order against the translucent terrain (SingleQuadParticle.Layer).
ParticleStatus
ParticleStatus: how many particles a client shows.
PathComputationType
PathComputationType: what a path is computed for.
PathType
PathType: what a pathfinding node is for a mob, each with a default malus a mob may override (Mob.setPathfindingMalus). Vanilla 26.3’s set.
PayloadDecodeError
Why a payload body is not a value of its type. The value is dropped and its handler does not run.
PayloadDirection
Which way a payload travels.
PayloadEncodeError
Why a value was not encoded. Nothing is sent.
PayloadPhase
The phases a payload is declared for.
PayloadSendError
Why a typed payload was not accepted for sending. Nothing was sent.
PeerPolicy
Whether a peer must know a payload to be admitted.
PermissionLevel
PermissionLevel: how much a player may do, as op-permission-level and the operator list name it.
PhantomSpawnResult
PlayerSpawnPhantomsEvent.Result: whether the phantom spawner tries a spawn near a player.
PierceLevelError
Why a projectile’s pierce level is unavailable.
PipelineBlend
How a pipeline’s fragments join the frame.
PipelineDrawError
Why a whole pipeline batch was refused; nothing from that batch was appended.
PipelineVertexFormat
The vertex data a pipeline’s draws carry.
Placement
What an entity_place writes: one block, or the blocks of a multi-block placement (EntityMultiPlaceEvent).
PlayerAction
What a fake player does in PlayerRef::perform_action: a player’s own action, run through the game’s path for it, as a client’s packet is. Its answer is an ActionOutcome, or an ActionRefused when none of it ran.
Pose
Pose: the stance a living entity’s box follows (Entity.setPose), vanilla 26.3’s set. A species’ own box reads its state where its getDefaultDimensions does; a stance a species never takes answers its standing box.
ProgressType
How a criterion’s advancement progress changed.
PushReaction
PushReaction in a load-time content declaration.
RaidStatus
Where a raid stands (Raid.RaidStatus).
RandomTicks
RandomTicks in a load-time content declaration.
Rarity
Rarity in a load-time content declaration.
RecipeBookDisplay
Vanilla’s five recipe display layouts, independent of the recipe’s JSON.
RecipeBookIdentity
Typed identity reported at the one settings-change moment.
RecipeBookLayout
Menu-owned roles, never indices into the appended player inventory.
RecipeInput
Typed input to the engine’s matched recipe lookup. Slot order is significant.
RecipeJsonError
Refusal when decoding a recipe-file field.
RecipeLookupError
A refusal distinct from a valid input with no matching recipe.
RecipeRule
The parsed rule of a stonecutting, smithing or special crafting recipe. These are the same resolved ingredients and rules the game uses, not a second recipe implementation. Only Stonecutting has a fixed output; every other variant depends on the grid or smithing inputs (components, counts, dyes, trim material, damage or map state). Special crafting results are assembled by crate::LevelRef::recipe_for, not by treating the template as a fixed stack. A mod-defined recipe type keeps its raw JSON instead of inventing a vanilla rule.
RecipeSlotDisplay
What one slot in a recipe display shows. Resource references use names, never process-local registry ordinals. The host resolves these at recipe load.
RecipeTransferResult
What a recipe viewer’s transfer into the open crafting grid does or would do (RecipesClientHost::transfer_recipe, transfer_recipe_check).
RecipeTrimPattern
A trim pattern registry reference or an inline pattern definition.
Reduction
What took a share of a hit before the health, as NeoForge’s DamageContainer.Reduction names it.
ReductionChange
How a modifier changes what a reduction took (NeoForge’s IReductionsModifier, as plain data so it also crosses into a wasm mod).
RegistrationReadError
Why a registration read was refused.
ReloadOrderError
A problem registering or ordering reload listeners.
RemovalReason
Why a mod removes an entity (Entity.RemovalReason): the two reasons that destroy it. The unloading and dimension-change reasons belong to the game.
RenderLevelStage
Where in the world’s frame a stage’s geometry is drawn: NeoForge 26.3’s RenderLevelStageEvent stages Horizon draws, in the order the frame reaches them.
RenderPipelineError
Why a pipeline could not be resolved or drawn with.
RenderShape
RenderShape in a load-time content declaration.
ScheduleError
Why a task was not scheduled.
ScreenOpening
What a mod answers to screen_opening (ScreenEvent.Opening): the screen that was about to open does not. The first mod to answer wins.
SendPacketError
Why the client could not submit a play packet.
Sentiment
Tooltip color semantics for an attribute change.
ServerTickPhase
The tick phases carry whether the world runs, including frozen steps.
SettingError
Why a setting was refused at registration.
SettingKind
What a setting is, with its default.
SettingValue
A setting’s value, as the game keeps it and the mod reads it.
ShapeEntityKind
Entity category selecting a load-time shape override.
Side
Which installations must carry a package, not the executing host’s side.
SleepProblem
Player.BedSleepingProblem as CanContinueSleepingEvent.getProblem reports it.
SoundAttenuation
How a sound fades with distance (SoundInstance.Attenuation).
SoundSource
The mixer group a sound plays on (SoundSource), in vanilla’s order.
SoundState
Where a mod’s sound is (SoundRef’s state).
SpawnCheck
What a mod answers a spawn check (MobSpawnEvent.PositionCheck.Result and MobSpawnEvent.SpawnPlacementCheck.Result, one type for both).
SpawnGroup
SpawnGroupData: what the mobs of one pack share, handed from one member’s finalization to the next. Variants are named as vanilla saves them (creamy, snow, lucy); a name the game does not know drops the group.
SpawnLight
How bright a spot a mod entity type needs to spawn.
SpawnPlacementError
Why a spawn placement declaration was refused (Registrar::declare_spawn_placement).
SpawnPlacementType
Where a mod entity type stands to spawn (SpawnPlacementType): SpawnPlacements.isSpawnPositionOk’s first check.
SpawnReason
Why a mob spawns (EntitySpawnReason).
SpawnSource
What spawned a mob, where EntitySpawnReason alone does not say (FinalizeSpawnEvent.getSpawner).
Spawner
The spawner block that asked for a spawn check (MobSpawnEvent.PositionCheck.getSpawner): what mob_spawn_placement_check and mob_spawn_position_check get when a block spawns the mob. Natural spawning, chunk generation, patrols, sieges, reinforcements and a spawner minecart have none.
SpawnerEntry
One entry of a level’s custom spawner list.
SpawnerError
A list of spawners could not be made.
SpawnerKind
A spawner vanilla runs for every level (MinecraftServer’s custom spawners).
SpriteSourceOutput
One step a mod’s sprite source takes on the atlas it is listed in, as vanilla’s SpriteSource.Output takes them. Hooks::sprite_source pushes them in order, and they apply under the built-in sources’ rule: a sprite of an id listed already replaces the earlier one.
StackError
A stack operation could not represent the requested count.
StackWriteError
Why the game refused to accept an owned stack at a write boundary.
StatType
A statistic type (BuiltInRegistries.STAT_TYPE), for a player’s statistics: what the stat’s key names (a block, an item, an entity type, or a minecraft:custom stat).
StateMatchError
An invalid constraint, identifying its index in the supplied list.
StructureMirror
Mirror applied before rotating a template.
StructureRotation
Rotation of a template about its origin.
SupportType
The support area tested on a block face.
SwapWith
The inventory location exchanged with a menu slot.
Tag
Float and double variants hold their IEEE bit patterns. Java’s disk output canonicalizes NaNs (DataOutputStream.writeFloat); its network output keeps their bits (Netty’s ByteBuf.writeFloat). Loading, like vanilla’s valueOf factories, normalizes negative zero to positive zero.
TagsUpdateCause
What made a tags_updated notice fire (TagsUpdatedEvent’s two subclasses).
TerrainMaterial
Which terrain material a TerrainModelOptions draw uses.
TerrainModelError
Why BlockEntityDrawContext::terrain_model drew nothing. A refused draw appends no geometry.
TerrainShade
How a TerrainModelOptions draw shades faces by their direction. Light never changes it: a full-bright model stays shaded.
TextAlignment
Display.TextDisplay.Align.
TextFormError
A refused Text crossing. No partially converted fields are written.
TextHover
A text component’s hover action.
TextureAtlas
An atlas the client stitches its sprites into (vanilla’s TextureAtlas), as texture_atlas_stitched names it. Horizon packs vanilla’s many atlases into these two.
TicketOwner
What a ticket belongs to: a block (a machine) or an entity.
TintLayer
One layer of a block’s tint list: one of vanilla’s sources or a mod’s own.
TintSource
A face’s tint source as the game colours it (BlockColors.createDefault), for drawing a block elsewhere ([crate::block::block_sprites]): the biome’s grass, foliage, dry foliage or water colour where the block is, or a fixed colour (0xRRGGBB).
ToastKind
The family of a client notification entering the toast queue.
ToolAbility
Tool action requested by a block interaction.
TooltipElement
One element of an item’s tooltip as render_tooltip_gather_components hands it over, before any wrapping (Either<FormattedText, TooltipComponent>). Text deeper than 512 nodes refuses tooltip conversion before any changed element is drawn.
TooltipPlacement
Where a component’s lines go among the other components’ lines (NeoForge’s registerComponentAppenderBeforeAll, Before, After and AfterAll). Before and After name a component detail the game lists (minecraft:lore, minecraft:enchantments…); any other id refuses the mods at startup. Only the 23 vanilla details are anchors; the registerAppender(TooltipLocation, ...) overload is not represented.
TriState
NeoForge’s TriState: force a part of an action off or on, or leave it to vanilla.
TriggerCriterionError
Why PlayerRef::trigger_criterion was refused.
UnspawnedMobError
Why a read or an edit of an unspawned mob was refused.
UseAnimation
UsePhase
The behaviour about to run in UseItemOnBlockEvent.
VanillaTint
One of vanilla’s tint sources (BlockTintSources), as the game colours its own blocks with it.
WorldDepth
Whether world geometry is hidden by nearer world surfaces.
WorldPhase
The world phases (native_world_lifecycle’s phase). The phase names are the hook log’s stable vocabulary (the Debug text the mixins write); keep them despite the shared prefix.

Constants§

CLIENTBOUND_PAYLOAD_CAPACITY
Vanilla’s clientbound discard-fallback body limit, in both phases. Registered payloads are limited by their codec and packet framing, not this value.
CONFIG_FILE_MAX
Bytes a config file may hold, read or written.
CONFIG_LIST_MAX
Entries one list answers at most.
ENERGY
Energy, as NeoForge 26.3’s Capabilities.Energy.BLOCK: a block entity’s energy as one side reaches it. The game answers it for a mod block entity’s buffer (block_entity_energy, as SimpleEnergyHandler): its capacity, the most one insert and one extract move, and the sides a fill comes through and a drain leaves by.
ENTITY_AUTOMATION
An entity’s items as automation reaches them, as NeoForge 26.3’s Capabilities.Item.ENTITY_AUTOMATION, asked for the side of the entity a hopper reaches it from. The game answers it for a chest or hopper minecart and a chest boat, the container entities EntitySelector.CONTAINER_ENTITY_SELECTOR picks, with the slots ENTITY_ITEMS gives them; a player and a chested mount are not reached by automation.
ENTITY_ENERGY
An entity’s energy, as NeoForge 26.3’s Capabilities.Energy.ENTITY, asked for the side of the entity a lookup reaches it from, or none for no particular side. Vanilla has no entity that holds energy, so only mods answer it.
ENTITY_FLUIDS
An entity’s fluids, as NeoForge 26.3’s Capabilities.Fluid.ENTITY, asked for the side of the entity a lookup reaches it from, or none for no particular side. Vanilla has no entity that holds a fluid, so only mods answer it.
ENTITY_ITEMS
An entity’s items, as NeoForge 26.3’s Capabilities.Item.ENTITY. The game answers it for a player with their inventory (PlayerInventoryWrapper): indices as vanilla’s Inventory numbers them, 0..36 the main inventory (0..9 the hotbar), 36..40 the armour from feet to head, 40 the off hand. For a chest or hopper minecart, a chest boat, or a chested donkey, mule or llama, it answers with their container’s slots (ItemPlace::EntitySlot).
FLUIDS
Fluid tanks, as NeoForge 26.3’s Capabilities.Fluid.BLOCK: a block’s tanks as one side reaches them, numbered from 0 for that side, as ITEMS’ slots. The game answers it for a mod block’s tanks (block_entity_fluids) and for a cauldron: one tank holding the content its block has, vanilla’s water (a bucket in thirds) and lava (a bucket only whole) or a content a mod registered through register_cauldron_fluid_content, filled and drained by whole levels; an empty cauldron takes any fluid that has a content. A cauldron has no block entity, so it is answered by position. Powder snow is no fluid: its cauldron has no content and no answer.
IDENTITY_TRANSFORM
Row-major 3×4 identity, local to a copy’s origin.
ITEMS
Item slots, as NeoForge 26.3’s Capabilities.Item.BLOCK: a block entity’s slots as one side reaches them. The game answers it for every block entity with slots: chests (a double chest’s two halves as one), furnaces, hoppers and the other vanilla containers, by their WorldlyContainer sides, and a mod block entity’s block_entity_container.
ITEM_ENERGY
Energy held by an item, as NeoForge 26.3’s Capabilities.Energy.ITEM: a handler for the item at one place, found with ItemPlace::capability, whose changes rewrite the item there with an exchange of one, so from a stack of more than one the changed item splits off. Vanilla has no energy items, so only mods answer it.
ITEM_FLUIDS
Fluid held by an item, as NeoForge 26.3’s Capabilities.Fluid.ITEM: a handler for the item at one place, whose changes rewrite the item there with an exchange of one, so from a stack of more than one the changed item splits off. The game answers it for vanilla’s buckets (NeoForge’s BucketResourceHandler): one tank of a bucket, filled and drained whole, an empty bucket taking plain water or lava.
ITEM_ITEMS
Items held by an item, as NeoForge 26.3’s Capabilities.Item.ITEM: a handler for the item at one place, whose changes rewrite the item there with an exchange of one, so from a stack of more than one the changed item splits off. The game answers it for an item with item_container slots, kept in its minecraft:container.
MAX_PENDING_TASKS
How many tasks one mod may have waiting at once.
MAX_RESOURCE_BYTES
The largest resource ResourcesHost::resource returns, in bytes. A larger winning file reads as None rather than as a truncated or unbounded value.
MAX_SNAPSHOT_BYTES
The most bytes an encoded snapshot may take.
MAX_SNAPSHOT_ENTRIES
The most entries one registry of a snapshot may carry.
MAX_SNAPSHOT_REGISTRIES
The most registries a snapshot may carry.
NETWORK_NBT_QUOTA
Vanilla 26.3 NbtAccounter.defaultQuota, used by ByteBufCodecs.TAG.
PAYLOAD_DECODE_BUDGET
The most bytes one payload value may make its decoder allocate: lists reserve against it by their decoded size, strings and byte arrays by their length, and boxes by the size of their inner value. The budget equals the largest uncompressed packet; structured values can require more allocation than their encoded body and are refused when they exhaust it.
PAYLOAD_MAX_DEPTH
The deepest a payload value nests: each box, each list, each present option and each PayloadReader::nested level counts one.
PAYLOAD_MAX_LIST_ENTRIES
The most entries of a list read through PayloadCodec for Vec<T>.
PAYLOAD_MAX_STRING_BYTES
The most UTF-8 bytes of a string read with PayloadReader::string.
PREVENT_ARMOR_CHANGE
EnchantmentEffectComponents.PREVENT_ARMOR_CHANGE: worn armour with it stays on outside creative (Curse of Binding’s effect, and any data pack enchantment’s that carries it).
SERVERBOUND_PAYLOAD_CAPACITY
Vanilla’s serverbound discard-fallback body limit, in both phases. Registered payloads are limited by their codec and packet framing, not this value.
SETTING_KEY_MAX
Longest setting key, in bytes.

Traits§

ArmPosesRegistrar
Client humanoid pose registrations, shared by native and wasm mods.
AttachmentHost
The game’s access to each holder’s map: every AttachmentStore answers through it.
AttachmentQueries
Read queries available on either host side.
AttachmentQueriesMut
Explicit write-through queries, available only on server hosts.
AttachmentStore
The current server’s holders’ values, erased to what crosses any boundary: the typed AttachmentType methods are built on it, for a native mod and a wasm mod alike.
AttributesRegistrar
Registration of new attribute types (Registrar::declare_attribute).
Behavior
A mod’s own brain behavior, run by the species’ brain beside vanilla’s: started by Brain.tick’s start pass when its activity is active and its entry condition holds, ticking until its duration runs out or can_still_use fails, stopped with vanilla’s own stopAll. One object per mob, built in crate::EntityPart::register_behaviors wherever the brain is built, so nothing of it is saved and a rebuilt brain starts fresh.
BiomeColorResolver
A mod’s colour resolver: vanilla’s ColorResolver, which the game blends over the biomes around a block as it blends its own (ClientLevel.calculateBlockTint, over the biome blend radius) and caches per section while it meshes. Held by the game and asked on the meshing workers, so it keeps no mutable state and gets no Host.
BiomeModifiersRegistrar
Registrar operations for biome modifiers.
BlockAndTintGetter
What a tint source reads of the world around the block it colours: vanilla’s BlockAndTintGetter, over the region a section is meshed from (RenderSectionRegion: the section’s chunk and its eight neighbours). A position outside that region reads as air, no fluid and the light of an unloaded chunk. Block entities are not part of the region.
BlockCapabilityProvider
What answers a capability for a block entity of one type: given the block entity and the side asked about, its handler, or none to leave it to the next provider. A closure |host, at| Some(Box::new(Tank(at))) is one.
BlockEntitiesRegistrar
Registrar operations for block entities.
BlockEntityDrawContext
What a block entity, mob or player submit hook draws with, in blocks under a pose stack (PoseStack): one per hook call.
BlockEntityPart
A block’s part that also answers for its block entity, and for the block like a BlockPart.
BlockPart
A block’s part: code attached through Registrar to one block, a mod’s own or vanilla’s. Its methods are the scoped hooks’, asked only for the blocks it is attached to: a scoped hook has no Hooks method. They may run on the window’s thread or the server thread. Annotate each part trait implementation with horizon_part to derive its subscriptions.
BlockTintSource
A mod’s block tint source: vanilla’s BlockTintSource. Colours are ARGB, and a face it colours is multiplied by their RGB, as vanilla’s block renderer does. Implemented once, held by the game, asked on the meshing workers, so it keeps no mutable state.
BlockTintSources
The block tint registry register_block_tint_sources hands out: NeoForge’s RegisterColorHandlersEvent.BlockTintSources.
BlocksRegistrar
Registrar operations for blocks.
CameraDrawContext
What block_screen_effect_draw draws with, one per hook call: quads in camera space, in blocks, with +x right, +y up and the camera at the origin looking down -z. It is the space of ScreenEffectRenderer’s own quads, whose whole-view quad has corners at (±1, ±1, -0.5), under the first-person hand’s projection. Quads draw in the order given, after the level and the hand and before the GUI, alpha-blended with no depth test; give corners in order round the quad.
CauldronFluidContents
Registrar of the fluid a cauldron block holds (register_cauldron_fluid_content), as NeoForge’s RegisterCauldronFluidContentEvent.
CauldronInteractions
Prepared dispatcher registration, corresponding to NeoForge’s documented Dispatcher phase.
ChunkAccess
The chunk a generator fills: vanilla’s ChunkAccess, as far as terrain needs it. Positions are world blocks.
ChunkGenerator
A mod’s chunk generator: vanilla’s ChunkGenerator, whose code answers for a level stem with "generator": {"type": "modid:void"}. Implemented once, kept by the game; deterministic and stateless.
ClientHost
What only the client’s hooks are given: the client’s own services.
ClientReloadListener
A client-side SimplePreparableReloadListener, as ServerReloadListener reads data: prepare reads the new pack view without changing live state; its returned apply publishes the result. All prepares finish before any apply, including vanilla’s, runs. Prepare cannot see another listener’s new published state. Dependencies order both phases deterministically; they do not remove the barrier. On any error all pending applies are dropped, keeping every listener’s previous assets.
ClientReloadListeners
The client reload’s listener registry, as add_client_reload_listeners hands it out: its registration methods and a read-only view of names and edges, rebuilt on each client reload. Listener names need not belong to the registering mod.
ClientSession
The client_session service, reached through its host.
ClientboundPayloads
The server’s send service: encoded payloads to one player’s client. Object-safe; the typed send helper encodes a value and delegates to this one erased operation.
ColorResolvers
The colour resolver registry register_color_resolvers hands out: NeoForge’s RegisterColorHandlersEvent.ColorResolvers.
CommandArgumentType
A command argument type a mod registers: how one kind of argument is validated and completed.
CommandArgumentsRegistrar
Registrar operations for command argument types.
Commands
The commands service, reached through its host.
Component
A typed descriptor for one component in an item’s component patch. Implementations own the conversion between their value and Minecraft NBT.
ConfigFiles
The calling mod’s files in config/: read, write, list and stat. Every call takes &self, so reads and writes work through &dyn Host on both sides; a write changes the file, not the host. The game’s reload poll (config_reloading) sees a written registered config as any edit.
CriterionContext
One open criterion being tested during PlayerRef::trigger_criterion.
CriterionTest
A mod’s predicate for its advancement trigger, supplied as an Arc<dyn CriterionTest> to PlayerRef::trigger_criterion.
DataLoadContext
A data load’s read-only view. The owning loader supplies its origin and metadata; reading already-loaded data never creates this context.
DataMap
A data map a mod registers and reads, typed (NeoForge’s DataMapType<R, T>): its id, the registry its entries are in (through DataMap::Entry), and how a value decodes.
DataMapEntry
A registry entry a data map can attach a value to: ItemKey (minecraft:item) and BlockKey (minecraft:block). Sealed: the game holds maps for these registries only.
DatapackRegistriesRegistrar
Registration of mod-owned datapack registries (Registrar::declare_datapack_registry).
DimensionsRegistrar
Registrar operations for dimensions.
DrawContext
What the HUD, screen and tooltip hooks draw with, in GUI pixels: one per hook call.
EffectsRegistrar
Registrar operations for effects.
EnchantmentDamageEffect
A registered value transformation. Called only for nodes naming this effect. The host is read-only; callbacks may be nested and must not retain hit context.
EnchantmentDamageEffects
Startup registrar for namespaced enchantment damage effects.
EnergyHandler
A block’s energy (NeoForge’s EnergyHandler): stateless, given the host, and written only in a transaction, as a ResourceHandler is.
EntitiesRegistrar
Registrar operations for entities.
EntityAttributesRegistrar
Registrar operations for entity attributes.
EntityCapabilityProvider
What answers an entity capability for one entity type: given the entity and the lookup’s context (its EntityCapabilityKey’s C), its handler, or none to leave it to the next provider. A closure is one.
EntityPart
An entity type’s part (arismoko/horizon#1077): code attached through RegistrationContext::entity_part to one entity type, a mod’s own or vanilla’s (minecraft:zombie). Its register_goals runs at every Mob construction of that type, spawned or loaded, right after the species’ own goals — vanilla’s registerGoals moment — and the goals it adds join the mob’s two selectors beside vanilla’s, same priorities and interruption. Its register_behaviors runs wherever a brain-driven species’ brain is built (#824). Its spawn_cluster_size answers how large a spawn group of the type may grow. Annotate each part trait implementation with horizon_part to derive its subscriptions; entity parts carry no scoped hook yet, so their subscriptions stay empty whatever they override.
FluidPart
A mod world fluid’s part.
FluidsRegistrar
Registrar operations for fluids.
GameRulesRegistrar
Registrar operations for game rules.
GameTestFunction
A function run once at the start of each attempt, with the owning server level.
GameTests
Registration service supplied to the registration hook.
GenerationContext
The start context a type’s find_generation_point sees: vanilla’s GenerationContext over one chunk, on the worker thread; deterministic for the seed.
Goal
A mod’s own mob goal, run by the mob’s goal selector beside vanilla’s: the same priorities and interruption, its state its own (one object per mob, built in crate::EntityPart::register_goals at every Mob construction, so a mob loaded from a chunk gets fresh goals and nothing of them is saved).
GroundLevel
What a ground provider reads while the decorator asks it: vanilla’s WorldGenLevel as far as ground needs it, and the decorator’s random.
GroundStateProvider
A mod’s ground provider: NeoForge’s AlterGroundEvent.StateProvider. Implemented once, kept by the game, deterministic and stateless.
Hooks
The hooks a trait mod implements: one method per catalog hook, each documented from its doc field. Annotate the impl with #[mod_api::horizon_mod], which subscribes the mod to just the methods it implements.
Host
Services supplied by the game to trait mods. Each method’s default panics with its name, so a test double implements only what its test calls; the game implements every one. The backend accessors are the exception: they default to None, so a double without a backend answers every handle’s typed refusal. Its methods are declared by area in host/<area>.rs; use mod_api::prelude::* names every area trait.
HostBlockStates
Reaches BlockStates from any host.
HostFluidStates
Reaches fluid-state facts from any host.
HostTransaction
Transactions are available only on the logical server and preserve the receiver type.
InstanceGroups
Client-side persistent copies of resolved models.
Interaction
NeoForge’s documented RegisterCauldronInteractionEvent.Interaction counterpart. Uses the shared transaction and runtime limits; no cauldron-specific budget. Custom handlers are server-only: clients suppress prediction and wait for the server result. Vanilla handlers still predict locally. Matching custom builds and resource generations are not established by the current handshake.
ItemCapabilityProvider
What answers an item capability for one item: given where the stack lives, its handler, or none to leave it to the next provider. A closure is one.
ItemPart
An item’s part.
ItemsRegistrar
Registrar operations for items.
KeyMappingsRegistrar
Registrar operations for key mappings.
LevelHost
Read-only level services, like vanilla’s LevelReader.
LevelRandomHost
Access vanilla’s Level.random, so draws come in vanilla’s order.
LevelTicksHost
A LevelReader with vanilla’s ScheduledTickAccess. Shape updates cannot write blocks.
LevelWriteHost
Mutable level services, like vanilla’s ServerLevel.
Levels
The levels service, reached through its host.
LoadReader
Immutable resource-generation reads supplied by an owning loader.
LoopContext
The view of a hook fired inside a menu, recipe or player-list loop, where no game is at hand: the side, the registries, the settings and the mod list. The side that owns the loop builds it once per resource generation; a hook never builds one, and its answers never change while it is held.
LoopReader
Immutable resource-generation reads supplied by an owning loop.
MenuPart
A mod menu type’s part.
MenusRegistrar
Registrar operations for menus.
Messages
The messages service, reached through its host.
NoBackend
An error a handle method answers when its host has no game behind it (a mod’s test double): what a Result-returning helper refuses with, as None and false are for the others.
PackFinders
The typed builder handed to add_pack_finders, rebuilt for each discovery. Registration performs no resource reload and does not select optional packs.
ParticleProvider
A mod’s particle provider: NeoForge’s ParticleProvider, held by the game for every particle of its type. Particles of a type share one provider, so per-particle data lives in ModParticle::state, not in the provider.
ParticleProviders
The particle provider registry register_particle_providers hands out: NeoForge’s RegisterParticleProvidersEvent.
ParticlesRegistrar
Load-owned particle key requests, resolved before any world can emit particles.
PayloadCodec
A value with a payload form: the pure codec of a typed payload. Both functions see only the buffer, never a Host; decode must leave the reader just past the value and must not keep any of its input.
PieceContext
The placement context a piece’s post_process and a type’s after_place see: the blocks and entities of one chunk, the piece’s random and what the blocks around it are made of.
PlaceProvider
A mod’s own places (ItemPlace::Mod), registered with Registrar::place_provider: NeoForge’s own ItemAccesss. Like a handler, it holds no borrow: its stacks live where the mod keeps them (a player’s attachments). While its mod is disabled, lookups refuse both reads and writes through its places; re-enabling the mod makes the same registrations available again.
Players
The players service, reached through its host.
PoiTypeExtensions
Registrar of the block states a mod adds to vanilla POI types (extend_poi_types).
RandomSource
RecipeBooksRegistrar
Operations available during the existing shared mod registration phase.
Registrar
What a mod’s Hooks::register attaches its parts with, and declares its block entity types and ticket controllers on. A thing takes one part of each kind: the same kind twice on one thing refuses the mods at startup, naming both.
ReloadApply
Infallible publication, run once, only after every listener prepared successfully: what a listener’s prepare hands back. A later server table refusal leaves the old engine generation in place, but cannot undo this callback’s own effects. One per listener per reload, never per tick; <dyn ReloadApply>::new(move || ...) makes one from a closure.
RenderAssets
The render_assets service, reached through its host.
ResourceHandler
The contents of one holder (a block entity as one side reaches it, an item where it lives), numbered from 0, as NeoForge’s ResourceHandler: a provider makes one for its holder, so it knows where its contents live. It holds no borrow of the game: each call is given the host, and its state is the game’s (slots, a saved compound, attachments, a stack’s components), so the transaction tx a write runs in puts it back on an abort. Amounts never exceed what was asked; a handler answering more is a mod bug, and the move it was part of is aborted.
SectionGeometry
A mod’s extra section geometry: NeoForge’s AdditionalSectionGeometryRenderer.
SectionGeometryContext
One section a SectionGeometry adds quads to. The section’s quads, its own blocks’ and every renderer’s together, share one budget: 262144 quads and 32 MiB of mesh data. All sections meshing at once share another, 128 MiB of added quads not yet in their meshes. A quad is checked against them before it is kept.
SectionGeometryRenderers
The renderer registry add_section_geometry hands out.
ServerHost
What only the server’s hooks are given: writes to the world.
ServerReloadListener
A server-side SimplePreparableReloadListener: prepare reads the new pack view without changing live state; its returned apply publishes the result. All prepares finish before any apply, including vanilla’s, runs. Prepare cannot see another listener’s new published state. Dependencies order both phases deterministically; they do not remove the barrier. On any error all pending applies are dropped, keeping the previous data and function library.
ServerReloadListeners
The server reload’s listener registry, as add_server_reload_listeners hands it out: its registration methods and a read-only view of names and edges, rebuilt on each server reload. Listener names need not belong to the registering mod.
ServerReloadResources
The retained server reload listeners of the last successful reload, as NeoForge’s ReloadableServerResources, reached from ServerHost::reload_resources. A new reload replaces the whole store.
ServerboundPayloads
The client’s send service: encoded payloads to the server. Object-safe; the typed send helper encodes a value and delegates to this one erased operation.
SettingsRegistrar
Registrar operations for settings.
SpawnPlacementsRegistrar
Registrar operations for spawn placements.
StructurePiece
One piece of a mod’s structure: vanilla’s StructurePiece. Its save is the engine’s (StructurePiece.createTag: the type id, BB, O, GD) around add_additional_save_data.
StructureRandom
The random a structure type or piece draws from, in vanilla’s order: the chunk’s WorldgenRandom for a start, the piece’s RandomSource for a piece.
StructureType
A mod’s structure type: vanilla’s StructureType, whose code answers for a data pack structure with "type": "modid:tower". Implemented once, kept by the game; deterministic and stateless.
StructuresRegistrar
Registrar operations for structures.
Tags
Read merged block, item and fluid tags without borrowing the game’s registry structs. Unknown tags answer false or an empty member list. A client reads the tags its server sent. Membership reads answer None before authoritative tags are loaded, on a client before its server’s are applied, or while their key table is unavailable.
TicketValidation
The tickets one controller loaded, as validate_tickets hands them out (NeoForge’s TicketHelper, one for each controller). Every call acts as the mod marked as running, and only the controller’s owning mod sees or removes anything, block owners and entity owners apart. The game releases what was removed once the hook returns.
TicketsRegistrar
Registrar operations for tickets.
TooltipAppender
The lines a data component adds to its stack’s tooltip. Kept by the game from registration on; asked only for a stack that carries the component and whose tooltip_display shows it, and only while its mod is enabled. Multiple registrations for the same component all run.
UnspawnedMobEdits
The edits a hook may make to the mob it was lent, beside the handle’s reads.
WorldDrawContext
Per-view untextured geometry, cleared even without listeners; usage reports fixed setup-time limits shared across listeners and depth modes.
WorldgenHost
The view of a hook fired while a feature generates, where no game is at hand: on a worldgen worker thread, or on the server thread when a sapling grows. It carries the server’s registries, its settings and the mod list; the server builds it once per resource generation, a hook never builds one, and its answers never change while it is held. There are no writes, no level or entity handles and no transaction: what the generating region holds is the hook’s own arguments.

Functions§

block_entity_providers
The providers mods registered for capability key and the type of the block entity at at, for the game’s own lookups (a hopper’s): none where no mod registered one, so a vanilla container’s lookup costs one table check and allocates nothing, and the game needn’t work out its own answer. BlockEntityProviders::ask then asks them.
decode_payload
Decodes the whole of body as one T: a byte left over is PayloadDecodeError::Trailing.
encode_payload
Encodes value as a whole payload body of at most limit bytes.
entity_providers
The providers mods registered for key and the type of entity, for the game’s own lookups (a hopper’s): none where no mod registered one, so a vanilla container entity’s lookup costs one table check and allocates nothing, and the game needn’t work out its own answer. EntityProviders::ask then asks them, as the game’s lookups for block entities do.
has_entity_providers
Whether any mod registered a provider of entity capability key, for any entity type: one table lookup, no allocation, so the game’s own lookups skip all their work where none did.
move_energy
Moves up to max energy out of from into to (NeoForge’s EnergyHandlerUtil.move), in transaction tx: how much moved. As one step of move_resources: all or nothing in a transaction of its own, a move to takes only part of tried again with that part, and a handler answering more than it was asked ending it with Overanswered.
move_resources
Moves up to max of what filter accepts out of from into wherever to takes it, index by index from 0 (NeoForge’s ResourceHandlerUtil.move), in transaction tx: how much moved. Each move is all or nothing, in a transaction of its own: what to won’t take stays in from, and a move to takes only part of is tried again with that part (a cauldron gives whole thirds). A handler answering more than it was asked has its move undone and ends the moving with Overanswered.
run_transaction
host.transaction for a host of a known type, which f gets back: the game’s own moves (a hopper’s) run in one through this.

Type Aliases§

AttachmentQuery
A typed snapshot whose iterator borrows values from its captured bindings. get(holder) returns an owned clone with an expected O(1) probe before decode. Missing or not yet synced holders return Ok(None); no default is created. None does not mean the holder is alive: absent and not-live holders alike return Ok(None) when absent from the snapshot, without a host liveness check. Only scoped residency probes report StaleHolder.
AttachmentResult
Result of accessing or decoding an attachment.
AttachmentValue
A value of a mod’s own type, as the holder keeps it: shared, so a copy of the holder’s map copies no value.
BlockProvider
A block capability provider, as the registrar keeps it.
Compound
Dispensed
A dispenser hook’s answer: the slot’s remainder (None empties it) and the level event to play, CLICK (1000), FAIL (1001) or 0 for none.
EntityProvider
An entity capability provider, as the registrar keeps it.
ItemProvider
An item capability provider, as the registrar keeps it.
Mods
The ordered list of named mods shared by the client and server.

Attribute Macros§

__point
#[point(side = "server" | "client" | "both", name = "…", table = "…", raw, free, mirror(…))] on a function: an injection point (#589), a slot the launcher fills at load for the mods that listen there. The staging pass that builds the prebuilt game (and the launcher’s source builds) puts it on every function [point_shape::eligible] admits; the source tree carries none. Its head checks the slot (one atomic load and a branch while nothing listens). An API listener, native or wasm, gets the side’s host (on a Game method) and a record holding a copy of every parameter as an API value (an engine type mirror(…) names as its mod_api mirror): the function runs with the record’s by-value and &T values, and a &mut T parameter’s place gets the record’s value back. A raw listener (raw, native only) gets the receiver and a &mut to every parameter itself. Its return does the same with the value returned; a value that borrows reaches only raw listeners, as itself. free marks a free function, whose body moves to a sibling function. table names the slot table the point is in: the game’s mod_points by default, or a mod crate’s own generated table for a mod point (#2339). A replace listener (mod_points::replace!) owns the head’s outcome: it runs after the other API listeners, and on a point with both forms the head keeps its value and cancel through the raw listeners after it.
horizon_mod
Mark a trait mod and derive its hook subscriptions.
horizon_part
Mark a part implementation and derive the scoped hooks it overrides.
no_point
#[no_point] (as mod_api::no_point) on a function of a mod crate: cargo horizon-mod build gives it no injection point, so no addon can listen at it (#2339). It changes nothing else: the function compiles as written. An addon declaring a listener there is refused at load, the function named as opted out.

Derive Macros§

Wire
Derive the shared native/wasm owned-value encoding.