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 dependencyother_modis installed. A native mod is built with the Cargo featureother_modonly 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§
- Active
Effect - A living entity’s active effect (vanilla’s
MobEffectInstance), asLivingRefreads its effects and asadd_effectgives one: the effect’s id, anIdentifiernamespaced as the registry has it (minecraft:speed, a content mod’smod: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) andshow_icon(whether the HUD and inventory list it). - AddAttribute
Tooltips Event - What
Hooks::add_attribute_tooltipsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - AddClient
Reload Listeners Event - What
Hooks::add_client_reload_listenersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - AddPack
Finders Event - What
Hooks::add_pack_findersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - AddSection
Geometry Event - What
Hooks::add_section_geometryis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - AddServer
Reload Listeners Event - What
Hooks::add_server_reload_listenersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Advancement
Progress - An owned, read-only snapshot of one advancement’s complete progress.
- Affect
Neighbors After Removal Event - What
BlockPart::affect_neighbors_after_removalis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Ageable
Group AgeableMob.AgeableMobGroupData: whether the pack’s later members may be babies.- Alter
Ground Event - What
Hooks::alter_groundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Analog
Output Event - What
BlockPart::analog_outputis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Animal
Tame Event - What
Hooks::animal_tameis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Animation
Channel - One bone’s keyframes for one target (
AnimationChannel), in time order. - Animation
Holder - An animation as its file gives it, bones by name (vanilla’s
AnimationDefinition; NeoForge’sAnimationHolder): whatRenderAssets::animationanswers. Bake it against a model withAnimationHolder::bakebefore playing it. - Animation
State - 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. - Anvil
Craft Post Event - What
Hooks::anvil_craft_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Anvil
Craft PreEvent - What
Hooks::anvil_craft_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Anvil
Damaged Event - What
Hooks::anvil_damagedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Anvil
Update Event - What
Hooks::anvil_updateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Apply
Effect Tick Event - What
Hooks::apply_effect_tickis 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.
- ArmPose
Transform Event - What
Hooks::arm_pose_transformis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Armor
Hurt - One armor slot of an
ArmorHurtEvent: the piece inslot, 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). - Armor
Hurt Event - What
Hooks::armor_hurtis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Armor
Stand Manipulate Event - What
Hooks::armor_stand_manipulateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Arrow
Loose Event - What
Hooks::arrow_looseis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Arrow
Nock Event - What
Hooks::arrow_nockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Atlas
Region - Where a sprite lies in the GUI atlas, as
gui_spriteanswers it: plain data, a snapshot of the atlas built last. It stays right until the nexttexture_atlas_stitchedforTextureAtlas::Gui, when a mod reads it again. - Attached
- A part, with the mod that attached it.
- Attachment
Batch - 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.
- Attachment
Codec - The optional on-disk representation of an attachment.
- Attachment
Form - What comes with a stored value: its saved form (
Nonefor a type with no codec), its type’s policy, and why it is stored. - Attachment
Policy - How a policy-checked type declared its value: what saving, respawning and syncing do with it.
- Attachment
Query Mut - A server write-through snapshot. Values and membership remain captured.
- Attachment
RowMut - A borrowed snapshot row with explicit journaled replacement/removal.
- Attachment
Type - A mod-defined attachment key and its value’s behavior.
- Attachment
Write Token - A private-field scoped residency identity, not an access authorization token.
- Attachments
- The data held by one entity, block entity, chunk or level.
- Attack
Entity Event - What
Hooks::attack_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Attribute
Modifier - An attribute modifier (vanilla’s
AttributeModifier): its id, which is unique on one attribute of one entity, the amount and the operation. - Baby
Entity Spawn Event - What
Hooks::baby_entity_spawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Bake
Model Loader Event - What
Hooks::bake_model_loaderis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Beacon
State Change Event - What
Hooks::beacon_state_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Behavior
Cx - What a
Behaviorruns with: its mob and the tick’s read view — the same mob-tick viewcrate::GoalContextis (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. - Behavior
Registrar - What the game hands an
crate::EntityPartwhere the species’ brain is built: the behaviors that join it, asBrain.addActivityfills vanilla’s. - Bell
Ring Event - What
Hooks::bell_ringis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Biome
Ambient Addition - A random ambient sound of a biome (
additionsofminecraft:audio/ambient_sounds). - Biome
Ambient Mood - The cave mood sound of a biome (
moodofminecraft:audio/ambient_sounds). - Biome
Ambient Particle - One ambient particle of a biome (
minecraft:visual/ambient_particles). - Biome
Colors - 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. - Biome
Colors Event - What
Hooks::biome_colorsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Biome
Effects - Biome colours read by
level_biome_effects, each 0xRRGGBB. Sky and fog preserve omitted declarations asNone; 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.
- Biome
Modifier - A biome modifier: the biomes it applies to and what it does to them.
- Biome
Modifier Spawner - One mob spawner entry of a
BiomeModifierOperation::AddSpawns(SpawnerData). - Biome
Music - The default background music of a biome (
defaultofminecraft:audio/background_music). - Biome
Point - 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, withminnot abovemax; a single value is(v, v). The biome nearest to the level’s climate at a position wins, andoffset(0 to 1) makes this one count as farther away. - Biome
Properties - A biome’s climate, as its worldgen file declares it (
Biome.ClimateSettings): whatlevel_biome_propertiesreads. The temperature is the biome’s base one; the height and frozen-ocean adjustments ofBiome.getHeightAdjustedTemperatureare not applied. - Biome
Search - Sampling parameters for
LevelRef::find_closest_biome, in blocks. - Biome
Search Result - The first matching sample in vanilla’s closest-biome search order.
- Biome
Spawners - One spawn category of a biome’s natural spawns (
MobSpawnSettings): whatlevel_biome_spawnersreads. - Block
- An unvalidated draft;
Content::declarevalidates it at load. Refused drafts are reported by the content admission path asnative blocks and items of <namespace>: <reason>, without admitting part of that namespace. - Block
Break Progress Update Event - What
Hooks::block_break_progress_updateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Burn Event - What
Hooks::block_burnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Changed Event - What
Hooks::block_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Click - 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. - Block
Cook Event - What
Hooks::block_cookis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Damage Abort Event - What
Hooks::block_damage_abortis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Dispense Armor Event - What
Hooks::block_dispense_armoris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Drops Event - What
Hooks::block_dropsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Edit - A bulk edit of complete typed states and partial predicates, named by run indices; NBT is not supported.
- Block
Entity Container Event - What
Hooks::block_entity_containeris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Energy Event - What
Hooks::block_entity_energyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Event - What
BlockEntityPart::block_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Fluids Event - What
Hooks::block_entity_fluidsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Providers - A block entity’s providers of one capability (
block_entity_providers). - Block
Entity Ref - 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 reportStale. - Block
Entity Render Bounding BoxEvent - What
BlockEntityPart::block_entity_render_bounding_boxis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Submit Event - What
BlockEntityPart::block_entity_submitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Tick Event - What
BlockEntityPart::block_entity_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Ticks Event - What
BlockEntityPart::block_entity_ticksis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Type AddBlocks Event - What
Hooks::block_entity_type_add_blocksis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity Type Builder - Builds one native block entity type during mod registration.
- Block
Entity Type Decl - A declared block entity type and the block identifiers it supports.
- Block
Entity Type Key - A block entity type requested at registration. Its slot remains stable for the process.
- Block
Entity Update TagEvent - What
BlockEntityPart::block_entity_update_tagis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Entity View Distance Event - What
BlockEntityPart::block_entity_view_distanceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Face Texture - A model face’s texture name and tint selector, as block drawing helpers accept them.
- Block
Fade Event - What
Hooks::block_fadeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Failed Dispense Event - What
Hooks::block_failed_dispenseis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Form Event - What
Hooks::block_formis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Grow Feature Event - What
Hooks::block_grow_featureis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Highlight Event - What
Hooks::block_highlightis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Hit - Where a block use clicked, as vanilla’s
BlockHitResultsays it. Fields may be added: build one withBlockHit::new. - Block
Ignite Event - What
Hooks::block_igniteis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Jump Factor Event - What
BlockPart::block_jump_factoris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Key - A block requested once through
Registrar::block_key. Its load-owned slot survives reload. - Block
Lock Check Event - What
Hooks::block_lock_checkis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Placement - One block a placement writes (
entity_place’sPlacement::Multi). - Block
Pos - Block
Properties - BlockProperties in a load-time content declaration.
- Block
Receive Game Event - What
Hooks::block_receive_gameis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Render Visibility Event - What
BlockPart::block_render_visibilityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Rim - A depth-tested outline of the client’s block selection shape.
- Block
Run - A run:
heightblocks up a column fromy(from the column’ssurfaceheight when one is given), set to palette entryblock, only where filteronlymatches when one is given. - Block
Screen Effect Draw Event - What
Hooks::block_screen_effect_drawis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Shapes - BlockShapes in a load-time content declaration.
- Block
Shear Entity Event - What
Hooks::block_shear_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Side - 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.
- Block
Signal Event - What
BlockPart::block_signalis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Sound Type - A block state’s sounds (
BlockState.getSoundType(), vanilla’sSoundType): the sound events, asLevelRef::play_soundnames them, and the volume and pitch they play at. - Block
Speed Factor Event - What
BlockPart::block_speed_factoris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Spread Event - What
Hooks::block_spreadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Sprites - What a block draws on each side, in
Direction::ALL’s order (down, up, north, south, west, east). - Block
State - A block and its local state ordinal. Persist canonical names and properties, not this value.
- Block
State Id - 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. - Block
State Range - States of one block in immutable definition order, not world numeric ID order.
- Block
States - The block-state facts service:
host.block_states(). - Block
Step OnEvent - What
Hooks::block_step_onis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Tint Registry - The game’s
BlockTintSources: the registrations in order. - Block
Tool Modification Event - What
Hooks::block_tool_modificationis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Block
Transform Preview - The result of previewing a tool’s block transformation. Applying it is a separate action.
- Block
Update Flags - Supported vanilla
Block.UPDATE_*flags for a level block write. - Blocks
Event - What
Hooks::blocksis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Bonemeal
Event - What
Hooks::bonemealis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Bool
Game Rule Key - A boolean game rule declared by a mod.
- Boss
BarRef - A custom boss bar (vanilla’s
CustomBossEvent, the/bossbarones) 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 asNoneand changes nothing. Mob and raid bars are not custom boss events and have no handle. - Bounce
OnEvent - What
BlockPart::bounce_onis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Bounding
Box - Inclusive integer box (vanilla BoundingBox). The default is the one block at the origin.
- Brain
Walk Target - A brain’s
WALK_TARGETmemory as a behavior reads it. - Break
Block Event - What
Hooks::break_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Brewing
Complete Event - What
Hooks::brewing_completeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Brewing
Fuel Event - What
Hooks::brewing_fuelis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Brewing
Start Event - What
Hooks::brewing_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Broadcast
Message Event - What
Hooks::broadcast_messageis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Bucket
Empty Event - What
Hooks::bucket_emptyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Build
Creative Mode TabContents Event - What
Hooks::build_creative_mode_tab_contentsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Calculate
Player Turn Event - What
Hooks::calculate_player_turnis 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.
- Camera
Distance Event - What
Hooks::camera_distanceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Camera
Entity - The camera entity as
Camera.alignWithEntityand the field-of-view death and hurt effects see it. - Camera
Pose Event - What
Hooks::camera_poseis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Camera
Shake Event - What
Hooks::camera_shakeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Camera
Type Cycle Event - What
Hooks::camera_type_cycleis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Campfire
Start Event - What
Hooks::campfire_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanContinue
Sleeping Event - What
Hooks::can_continue_sleepingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanEat
Event - What
Hooks::can_eatis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanHarvest
Block Event - What
BlockPart::can_harvest_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanPerform
Action Event - What
ItemPart::can_perform_actionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanPlayer
Sleep Event - What
Hooks::can_player_sleepis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanSurvive
Event - What
BlockPart::can_surviveis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - CanSustain
Plant Event - What
BlockPart::can_sustain_plantis 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.
- Capability
Key - A capability: its name (
horizon:items,mymod:chemicals), the handler traitTit answers with, and the game’s own provider, if the game has one. - Cauldron
Fluid Content Registry - Engine-owned storage behind the registrar.
- Cauldron
Level Changed Event - What
Hooks::cauldron_level_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Cauldron
Plan - A bounded proposal, validated against the captured local resource snapshot.
- Cauldron
Use - Immutable inputs captured for one selected interaction.
- Channel
Ref - A playing sound’s channel, for
play_sound_sourceandplay_streaming_source: an id only, to tell sounds apart across the two hooks. It gives no control over the channel. - Chat
Suggestion Applied Event - What
Hooks::chat_suggestion_appliedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Load Event - What
Hooks::chunk_loadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Pos - Chunk
Ref - A chunk position in an open level. A handle may be kept after unloading;
reads resolve it again, returning
falseorNonewhen it is no longer loaded. - Chunk
Sent Event - What
Hooks::chunk_sentis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Ticket Level Updated Event - What
Hooks::chunk_ticket_level_updatedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Unload Event - What
Hooks::chunk_unloadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Unwatch Event - What
Hooks::chunk_unwatchis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Chunk
Watch Event - What
Hooks::chunk_watchis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Attack Target Event - What
Hooks::client_attack_targetis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Audio Options - A snapshot of the client’s audio preferences.
- Client
Boss Bar - One boss bar the client shows (vanilla’s
LerpingBossEvent), ascustomize_boss_event_progressreads it. Any bar the server sends: mob, raid and/bossbarones alike. - Client
Chat Event - What
Hooks::client_chatis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Chat Options - A snapshot of the client’s chat preferences.
- Client
Chat Received Event - What
Hooks::client_chat_receivedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Disconnecting Event - What
Hooks::client_disconnectingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Frame Stats - Existing local frame counters, sampled only when requested by a mod.
- Client
Graphics Options - A snapshot of the client’s graphics preferences.
- Client
GuiOptions - A snapshot of the client’s GUI and accessibility preferences.
- Client
Info - A player’s client options, as
ServerboundClientInformationPacketcarries them (vanilla’sClientInformation). Raw ids map as vanilla’sByIdMapdoes: chat visibility and particle status wrap (floorMod(id, 3)), the main hand reads an unknown id as left. - Client
Information Updated Event - What
Hooks::client_information_updatedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Input Options - A snapshot of the client’s input preferences.
- Client
Level Load Event - What
Hooks::client_level_loadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Level Unload Event - What
Hooks::client_level_unloadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Listener Registry - The game’s
ClientReloadListeners. - Client
Mining Predict Event - What
Hooks::client_mining_predictis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Mining Prediction - A proposed window-side block mining operation.
- Client
Modifiers - A snapshot of the client window’s modifier keys.
- Client
Packet - The metadata of a server play packet observed by
Hooks::client_packet. - Client
Packet Event - What
Hooks::client_packetis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Packet Send Event - What
Hooks::client_packet_sendis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Pause Change Post Event - What
Hooks::client_pause_change_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Pause Change PreEvent - What
Hooks::client_pause_change_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Payload - The channel and uninterpreted bytes of a server custom payload.
- Client
Player Change Game Type Event - What
Hooks::client_player_change_game_typeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Player Clone Event - What
Hooks::client_player_cloneis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Player Logging InEvent - What
Hooks::client_player_logging_inis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Player Logging OutEvent - What
Hooks::client_player_logging_outis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Reload Context - 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.
- Client
Resources Reloaded Event - What
Hooks::client_resources_reloadedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Server - The connected server, not the reconnect target of an earlier session.
- Client
Setup Event - What
Hooks::client_setupis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Stopped Event - What
Hooks::client_stoppedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Stopping Event - What
Hooks::client_stoppingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Targeting - Per-window targeting controls. Defaults preserve vanilla picking. Reach remains backed
by
minecraft:block_interaction_rangeandminecraft:entity_interaction_range; a server mod changes those through the player’s living attribute handle, not these client controls. - Client
Tick Post Event - What
Hooks::client_tick_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Client
Tick PreEvent - What
Hooks::client_tick_preis 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). - Clone
Item Stack Event - What
BlockPart::clone_item_stackis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Color
Resolver Registry - The game’s
ColorResolvers: the registered resolvers, each at the index its handle names. - Colored
Light - A camera-local visual light, with no gameplay light or shadow writes.
- Column
Blocks - What
read_columnsread: the blocks round each column’s height (bases, none where it isn’t loaded), as indexes intopalette, 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 withRegistrar::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 publicfoo barlets everyone traversefoo, but does not make an operator-onlyfooexecutable. Optional arguments also allow execution at their preceding prefixes, at that usage’s level. - Command
Argument - An argument’s registered name and its validated value.
- Command
Event - What
Hooks::commandis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Command
Invocation - A native command parsed once by the server’s dispatcher, never a raw line.
- Command
Suggestion - One completion a custom argument offers for the text being typed.
- Component
Hover Event - What
Hooks::component_hoveris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Component
Id - A data component’s id,
namespace:path(minecraft:damage,mymod:charge), checked once where a mod names it: whatItemResource’s component methods take, as NeoForge’s take aDataComponentType. - Component
Types Event - What
Hooks::component_typesis 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.
- Compost
Item Event - What
Hooks::compost_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Compute
FogColor Event - What
Hooks::compute_fog_coloris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Compute
FovEvent - What
Hooks::compute_fovis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Compute
FovModifier Event - What
Hooks::compute_fov_modifieris 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. - Config
Entry - One entry of a folder.
- Config
File - A config’s file as the game read it.
- Config
Loading Event - What
Hooks::config_loadingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Config
Path - 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. - Config
Reloading Event - What
Hooks::config_reloadingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Config
Stat - A file’s or folder’s size and age (
java.io.File.length/lastModified). - Config
Unloading Event - What
Hooks::config_unloadingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Connects
ToEvent - What
BlockPart::connects_tois told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Consume
Effect Event - What
Hooks::consume_effectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Container
Opened Event - What
Hooks::container_openedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Contents
Changed Event - What
BlockPart::contents_changedis 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.
- Crafter
Craft Event - What
Hooks::crafter_craftis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Crafting
Remainder Event - What
ItemPart::crafting_remainderis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Create
Fluid Source Event - What
Hooks::create_fluid_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Create
Spawn Position Event - What
Hooks::create_spawn_positionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Creative
Slot Event - What
Hooks::creative_slotis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Creeper
Ignite Event - What
Hooks::creeper_igniteis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Creeper
Power Event - What
Hooks::creeper_poweris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Criterion
Progress - One criterion in an advancement, including criteria not yet obtained.
- Critical
HitEvent - What
Hooks::critical_hitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Crop
Grow Post Event - What
Hooks::crop_grow_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Crop
Grow PreEvent - What
Hooks::crop_grow_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Cube
Definition - One box of a part (
CubeDefinition), as aCubeListBuilderadds it. - Cube
Deformation 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.- Cube
Face - One face of a
native_draw_cubebox: its sprite (mymod:entity/cog,mymod:block/casing) and its UVs in texels of 16 per side, as a model face’suv(none takes the box’s own, as a model’s default). - Cube
List Builder CubeListBuilder: the boxes of one part, each placed on the texture from the lasttex_offsand mirrored aftermirror.- Custom
ArmPose - A load-owned custom pose slot. Invalid or stale slots are ignored by rendering.
- Custom
Click Action Event - What
Hooks::custom_click_actionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Custom
Spawner Tick Event - What
Hooks::custom_spawner_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Custom
Spawners - A level’s custom spawners, in the order they tick: what
ModifyCustomSpawnersEventedits. It starts with vanilla’s, and a spawner a mod adds goes at the end. - Customize
Boss Event Progress Event - What
Hooks::customize_boss_event_progressis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Customize
Chat Overlay Event - What
Hooks::customize_chat_overlayis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Damage
Container - A plain snapshot of one hit. Sequencing and normalization remain owned by the game.
- Damage
Item Event - What
ItemPart::damage_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Damage
Values - 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.
- Data
MapType - A data map type a mod registers (
RegisterDataMapTypesEvent). - Data
MapTypes Event - What
Hooks::data_map_typesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Data
Maps Updated Event - What
Hooks::data_maps_updatedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Data
Pack Files Event - What
Hooks::data_pack_filesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Datapack
Candidate - Every entry of every declared registry, decoded and checked, not yet published.
- Datapack
Entry - A decoded entry: one value per schema field, in the schema’s order.
- Datapack
Field - One field of a registry’s entry record.
- Datapack
Handle - 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.
- Datapack
Load Error - A refused candidate: which registry, entry and file, and why.
- Datapack
Registry Declaration - A registry the mod declared, as the game reads it.
- Datapack
Registry Set - The published entries of a world session at one generation.
- Datapack
Snapshot - The synchronized registries of a set at one generation, as a server sends them.
- Datapack
Snapshot Entry - One entry of a snapshot: its id and one value per field of the registry, in schema order.
- Datapack
Snapshot Registry - One registry of a snapshot: its key, the schema the server decoded it with, and its entries sorted by id.
- Datapack
Sync Event - What
Hooks::datapack_syncis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Debug
Entry - A debug entry a native mod registers: its id and the vanilla group its lines are drawn in.
- Debug
Entry Lines Event - What
Hooks::debug_entry_linesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Debug
Renderer - A world-space debug renderer a native mod pushes at each renderer list refresh.
- Debug
Renderer Draw Event - What
Hooks::debug_renderer_drawis 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): whatfinalize_spawnreads and may change before the mob is finalized. - Difficulty
Changed Event - What
Hooks::difficulty_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Dimension
Key - A dimension (
minecraft:the_nether), as the game’s table numbers it: aLevelRef’s identity. A key stays the same dimension until the game exits;key.id(host)gives the name. - Dimension
Settings - 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.
- Dimension
Transition Screen - A screen registered by
Hooks::register_dimension_transition_screen. - Dimension
Transition Screen Draw Event - What
Hooks::dimension_transition_screen_drawis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Dispense
Item Event - What
ItemPart::dispense_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Dispense
Method Event - What
BlockPart::dispense_methodis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Display
Ref - A display entity of the open world (
block_display,item_displayortext_display), narrowed withhost.display. - Dragon
EggForm Event - What
Hooks::dragon_egg_formis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Dragon
Ref - The ender dragon of the open world, narrowed with
host.dragon(entity). It is also aMobRefand aLivingRef. - Effect
Key - An effect requested once through
Registrar::effect_key. The registry is fixed until restart. - Effect
Particle Modification Event - What
Hooks::effect_particle_modificationis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Emissive
Event - What
Hooks::emissiveis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enchant
Effect Event - What
Hooks::enchant_effectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enchant
Item Event - What
Hooks::enchant_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enchanted
Block Loot Event - What
Hooks::enchanted_block_lootis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enchanted
Entity Loot Event - What
Hooks::enchanted_entity_lootis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enchantment
Damage Context - Context of one value node in ordinary enchantment damage computation.
- Enchantment
Damage Registry - Engine-owned storage behind the startup registrar.
- Enchantment
Effect - An enchantment effect component type (
EnchantmentEffectComponents): what an enchantment’seffectsare keyed by, and whatItemResource::has_enchantment_effectasks for. - Enchantment
Info - The registry facts a recipe viewer needs for an enchantment.
- Enchantment
Key - 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. - Enchantment
Level SetEvent - What
Hooks::enchantment_level_setis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Ender
Entity Teleport Event - What
Hooks::ender_entity_teleportis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Ender
Pearl Teleport Event - What
Hooks::ender_pearl_teleportis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Enderman
Anger Event - What
Hooks::enderman_angeris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entities
Load Event - What
Hooks::entities_loadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entities
Unload Event - What
Hooks::entities_unloadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Break Door Event - What
Hooks::entity_break_dooris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Breed Event - What
Hooks::entity_breedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Capability Key - An entity capability: its name, the handler trait
Tit answers with, the contextCa lookup passes its providers (NeoForge’sEntityCapability<T, C>:()where NeoForge’s isVoid, the side asked about where it is@Nullable Direction), and the game’s own provider, if the game has one. - Entity
Change Block Event - What
Hooks::entity_change_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Change Block PreEvent - What
Hooks::entity_change_block_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Constructing Event - What
Hooks::entity_constructingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Drop Item Event - What
Hooks::entity_drop_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Enter Block Event - What
Hooks::entity_enter_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Enter Love Mode Event - What
Hooks::entity_enter_love_modeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Inside Event - What
BlockPart::entity_insideis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Interact Event - What
Hooks::entity_interactis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Interact Specific Event - What
Hooks::entity_interact_specificis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Invulnerability Check Event - What
Hooks::entity_invulnerability_checkis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Join Level Event - What
Hooks::entity_join_levelis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Leave Level Event - What
Hooks::entity_leave_levelis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
MobGriefing Event - What
Hooks::entity_mob_griefingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Mount Event - What
Hooks::entity_mountis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Outline Event - What
Hooks::entity_outlineis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Place Event - What
Hooks::entity_placeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Portal Event - What
Hooks::entity_portalis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Pose Change Event - What
Hooks::entity_pose_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Providers - An entity’s providers of one capability (
entity_providers). - Entity
RayHit - One entity a level ray passes through (
LevelRef::ray_trace_entities): whatProjectileUtil.getEntityHitResulttests for each candidate. - Entity
Ref - An entity of the open world, for the
Hostmethods 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::entitymakes a server handle from an event’s entity id;ClientHost::crosshair_targetsupplies a client handle for an entity hit. - Entity
Shoot BowEvent - What
Hooks::entity_shoot_bowis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Size Event - What
Hooks::entity_sizeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Spectator Shader - A post effect registered by
Hooks::register_entity_spectator_shaders: the screen effect spectating an entity of typeentityputs on, as vanilla’s creeper, spider and enderman do. - Entity
Struck ByLightning Event - What
Hooks::entity_struck_by_lightningis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Tame Event - What
Hooks::entity_tameis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Teleport Event - What
Hooks::entity_teleportis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Tick Listened Event - What
Hooks::entity_tick_listenedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Tick Post Event - What
Hooks::entity_tick_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Tick PreEvent - What
Hooks::entity_tick_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Toggle Glide Event - What
Hooks::entity_toggle_glideis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Travel ToDimension Event - What
Hooks::entity_travel_to_dimensionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Entity
Type Key - A mob entity type (
minecraft:zombie) in the built-in entity-type registry, in registration order. A key stays valid until the game exits. - Entity
Unleash Event - What
Hooks::entity_unleashis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - ExpBottle
Event - What
Hooks::exp_bottleis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - ExpDrop
Event - What
BlockPart::exp_dropis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Experience
Orb - An experience orb as a server mod reads it (
experience_orbs). Read by mods only. - Experience
OrbCan Merge Event - What
Hooks::experience_orb_can_mergeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Experience
OrbMerge Event - What
Hooks::experience_orb_mergeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Explosion
Detonate Event - What
Hooks::explosion_detonateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Explosion
Knockback Event - What
Hooks::explosion_knockbackis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Explosion
Prime Event - What
Hooks::explosion_primeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Explosion
Start - A server explosion about to happen, for
explosion_start(ServerLevel.explode’sServerExplosion). - Explosion
Start Event - What
Hooks::explosion_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Extend
PoiTypes Event - What
Hooks::extend_poi_typesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Extract
Block Screen Effect Event - What
Hooks::extract_block_screen_effectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Face
Sprite - One face of a block’s model on one of its sides.
- Fall
OnEvent - What
BlockPart::fall_onis 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.
- Farmland
Trample Event - What
Hooks::farmland_trampleis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Feature
Flags - 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 enablesminecraft:vanillaalone, as vanilla’s default does. Getting and reading it allocates nothing. - File
ToId Converter - Maps
data/<namespace>/<directory>/<path><extension>tonamespace:path, preserving subdirectories. Any namespace may add entries for a listener. The same converter can be used for client assets. - Fill
Bucket Event - What
Hooks::fill_bucketis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Finalize
Spawn Event - What
Hooks::finalize_spawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fire
Odds Event - What
BlockPart::fire_oddsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Firework
Explode Event - What
Hooks::firework_explodeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Firework
Shape Ingredient - An ingredient that chooses a firework star’s explosion shape.
- Fishing
Hook Ref - A cast fishing hook of the open world (vanilla’s
FishingHook), narrowed from an entity withhost.fishing_hook(entity). It does not narrow to aProjectileRef: a hook’s owner is always the player who cast it. - Flip
Frame Event - What
Hooks::flip_frameis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
BoxOptions - How
BlockEntityDrawContext::fluid_boxdraws a still fluid: a machine’s tank, a basin’s contents. - Fluid
Flow Event - What
Hooks::fluid_flowis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Ingredient - 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 itemIngredientparses its own with, over the fluid tags the load’sDataLoadContextholds. 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. - Fluid
Key - A load-owned fluid identity requested through
Registrar::fluid_keyor resolved throughDataLoadContext::fluid_key. - Fluid
Level Change Event - What
Hooks::fluid_level_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Model - Atlas sprites to use for a world fluid during this resource load.
- Fluid
Place Block Event - What
Hooks::fluid_place_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Resource - A fluid and its components, without an amount, as NeoForge’s
FluidResource: what a tank holds. An empty tank holds none. - Fluid
Rules Event - What
FluidPart::fluid_rulesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Stack - An amount of one fluid, as NeoForge’s
FluidStack: its registered or unresolvedFluidIdentity, millibuckets, and data components, kept as an item stack’s are (a potion fluid’sminecraft:potion_contents). Water and lava have none. - Fluid
State - 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.
- Fluid
States - The fluid-state facts service, available in setup, reload and world callbacks after keys resolve.
- Fluid
Tick Event - What
Hooks::fluid_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Tooltip Event - What
Hooks::fluid_tooltipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Fluid
Type Properties - What a registered fluid is, apart from any level or entity. Vanilla reads the entity
behaviours off
FluidTags.WATERandFluidTags.LAVA, sominecraft:flowing_wateranswers asminecraft: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). - Food
Level Changed Event - What
Hooks::food_level_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Found
Structure - What
StructureType::find_generation_pointfound: the start’s position (vanilla’sStructure.findGenerationPointanswer) and its pieces (Structure.generatePieces), at least one. - FovPlayer
- What
AbstractClientPlayer.getFieldOfViewModifierreads. - Framerate
Limit Event - What
Hooks::framerate_limitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Furnace
Burn Event - What
Hooks::furnace_burnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Furnace
Extract Event - What
Hooks::furnace_extractis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Furnace
Smelt Event - What
Hooks::furnace_smeltis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Furnace
Start Smelt Event - What
Hooks::furnace_start_smeltis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Game
Event Context - Vanilla’s
GameEvent.Context: optional source and affected block state. Source facts used by vibration listeners are captured when the event is emitted. - Game
Rule Actor - The player responsible for a game rule change.
- Game
Rule Changed Event - What
Hooks::game_rule_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Game
Rule Decl - A boolean rule declared by a mod during registration.
- Game
Shutting Down Event - What
Hooks::game_shutting_downis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Game
Test Context - API-owned coordinates for one attempt, valid only during its callback.
- Game
Test Definition - Metadata for a function test added to the world’s test-instance registry.
- Game
Test Functions - Load-owned function registry. Duplicate and invalid identifiers are refused.
- Gather
Effect Screen Tooltips Event - What
Hooks::gather_effect_screen_tooltipsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Gather
Skipped Attribute Tooltips Event - What
Hooks::gather_skipped_attribute_tooltipsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GetArm
Pose Event - What
Hooks::get_arm_poseis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GetEnchantment
Level Event - What
Hooks::get_enchantment_levelis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GetEquipment
Drop Chance Event - What
Hooks::get_equipment_drop_chanceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Global
Pos - 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. - Goal
Context - What a
Goalruns 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. - Goal
Flags - The MOVE, LOOK, JUMP and TARGET bits a
Goalclaims, as vanilla’sGoal.Flagset does: at most one goal holding each flag runs at a time, and a goal’s flags are what a higher priority interrupts. - Goal
Registrar - What the game hands an
crate::EntityPart: the two selectors of the mob being built, as vanilla’sregisterGoalsfills them. - Grindstone
Place Event - What
Hooks::grindstone_placeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Grindstone
Take Event - What
Hooks::grindstone_takeis 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.
- GuiLayer
Draw Event - What
Hooks::gui_layer_drawis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GuiLayer
Post Event - What
Hooks::gui_layer_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GuiLayer
PreEvent - What
Hooks::gui_layer_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - GuiRender
Post Event - What
Hooks::gui_render_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Hand
Render - Context and adjustable pose for a first-person hand render.
- Hanging
Break Event - What
Hooks::hanging_breakis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Hanging
Place Event - What
Hooks::hanging_placeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - HasAnalog
Output Event - What
BlockPart::has_analog_outputis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Health
HudEvent - What
Hooks::health_hudis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Health
Inputs - Hears
Projectile Impacts Event - What
Hooks::hears_projectile_impactsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Held
Item Slot - A stack as a client mod’s use events carry it.
- Hidden
Parts - The humanoid parts a mod hid from the vanilla player model this frame (
player_submit): a set overHumanoidPart::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.
- Hopper
Inventory Search Event - What
Hooks::hopper_inventory_searchis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Hopper
Pickup Item Event - What
Hooks::hopper_pickup_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Humanoid
Render State - 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.
- Hurt
Enemy Event - What
ItemPart::hurt_enemyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Hurt
Source - A hit’s
DamageSourceforHURT_SERVER: its type (minecraft:fall), the entity ids ofgetEntity(causing) andgetDirectEntity(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
HolderSetorder (Ingredient.display’sTagSlotDisplay). - Ingredient
Event - What
Hooks::ingredientis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Ingredient
Test Event - What
Hooks::ingredient_testis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Input
KeyEvent - What
Hooks::input_keyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Instance
Group Ref - 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. - Interaction
KeyMapping Triggered Event - What
Hooks::interaction_key_mapping_triggeredis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Inventory
Block Start Event - What
Hooks::inventory_block_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Inventory
Move Item Event - What
Hooks::inventory_move_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Inventory
Tick Event - What
ItemPart::inventory_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - IsBonemeal
Success Event - What
BlockPart::is_bonemeal_successis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - IsLadder
Event - What
BlockPart::is_ladderis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - IsPathfindable
Event - What
BlockPart::is_pathfindableis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - IsSignal
Source Event - What
BlockPart::is_signal_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - IsValid
Bonemeal Target Event - What
BlockPart::is_valid_bonemeal_targetis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
- An unvalidated draft;
Content::declarevalidates it at load. Refused drafts are reported by the content admission path asnative blocks and items of <namespace>: <reason>, without admitting part of that namespace. - Item
After Vertical Collision Event - What
BlockPart::item_after_vertical_collisionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Attack Range - Effective attack range for an actor, including the component’s hitbox margin.
- Item
Attribute Modifier - One attribute modifier an item stack grants (vanilla’s
ItemAttributeModifiers.Entry): the attribute (minecraft:armor), the modifier, and the slots it applies in. - Item
Attribute Modifier Event - What
Hooks::item_attribute_modifieris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Attribute Modifiers - The attribute modifiers of one item stack, as
item_attribute_modifieredits them (ItemAttributeModifierEvent’s list). It starts as the stack’s ownminecraft:attribute_modifiers, or its item’s, in order. - ItemBar
- A visible item bar: its width out of thirteen pixels and its RGB colour.
- Item
BarEvent - What
ItemPart::item_baris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Capability Key - An item capability: its name, the handler trait
Tit answers with, and the game’s own provider, if the game has one. - Item
Click - A player’s item use, including after target fallthrough (
RightClickItem). - Item
Consumption Teleport Event - What
Hooks::item_consumption_teleportis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Container Event - What
Hooks::item_containeris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Cooldown - One item cooldown a player waits on (
ItemCooldowns.cooldowns). - Item
Cost - An item payment, with an optional exact component predicate.
- Item
Crafted Event - What
Hooks::item_craftedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Damage Source - Owned damage source information for a stack attack or a source-specific item query.
- Item
Decorations Event - What
ItemPart::item_decorationsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Despawn Event - What
Hooks::item_despawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Drop - An item that drops where a living entity died, before it is an item entity
in the level (
living_drops): whatItemEntity’s constructor was given. - Item
Enchantments - The enchantments
get_enchantment_level(GetEnchantmentLevelEvent) hands a mod: NeoForge’sItemEnchantments.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. - Item
Entity Ref - A dropped item entity of the open world, narrowed with
host.item_entity. - Item
Expire Event - What
Hooks::item_expireis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Fished - A fishing catch, for
item_fished(ItemFishedEvent). - Item
Fished Event - What
Hooks::item_fishedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Interact MobEvent - What
ItemPart::item_interact_mobis 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.
- Item
Model Level - The level an item is drawn in (
ClientLevel), as the item model reads it. - Item
Model Owner - The living entity holding the item (
ItemOwner), as the item model reads it. - Item
Model Property Event - What
Hooks::item_model_propertyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Model Range Property Event - What
Hooks::item_model_range_propertyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Model Select Property Event - What
Hooks::item_model_select_propertyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Model Update Event - What
Hooks::item_model_updateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Picked UpEvent - What
Hooks::item_picked_upis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Resource - An item and its components, without a count, as NeoForge’s
ItemResource: what a slot holds. An empty slot holds none. - Item
Smelted Event - What
Hooks::item_smeltedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Spawn Event - What
Hooks::item_spawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Stack - 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:
Clonecounts 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. - Item
Stacked OnOther Event - What
Hooks::item_stacked_on_otheris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Tint Source Event - What
Hooks::item_tint_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Tooltip Event - What
Hooks::item_tooltipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Item
Toss Event - What
Hooks::item_tossis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Items
Event - What
Hooks::itemsis 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). - KeyMapping
PreEvent - What
Hooks::key_mapping_preis 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 inhorizon-mods.txt. Its default iskeywithmodifiersheld; shift, control and alt are bound, super is not. - Keyframe
- One keyframe (
Keyframe): attimeseconds, the value arriving (pre) and the value leaving (post), and how the channel moves into it. - Keyframe
Animation - An animation baked against a model (
KeyframeAnimation): each channel holds the path to its part, so playing it walks no names. - Layer
Definition LayerDefinition: a mesh and the size of the texture its boxes are on.- Leaves
Decay Event - What
Hooks::leaves_decayis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Left
Click Block Event - What
Hooks::left_click_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Left
Click Empty Event - What
Hooks::left_click_emptyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Legacy
Random - Level
Dimension Shape - Build range and sky properties of a loaded level’s dimension type.
- Level
Dimension Type - A level’s dimension type as the game uses it (
Level.dimensionType()and the gameplay attributes of its environment), aslevel.dimension_type(host)reads it: the fields ofDimensionSettingsthat apply, plus the type’s id. - Level
Key - A level’s full
namespace:pathid, cheap to copy and hash. - Level
Load Event - What
Hooks::level_loadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Level
Ref - A level of the open world, by its dimension (
minecraft:the_nether).Host::levelmakes one, andentity.level(host)gives an entity’s. - Level
Save Event - What
Hooks::level_saveis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Level
Tick Post Event - What
Hooks::level_tick_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Level
Tick PreEvent - What
Hooks::level_tick_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Level
Unload Event - What
Hooks::level_unloadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Lifecycle
Context - Context for every world lifecycle phase.
authorityis the server role. LocalAuthoritative and RemoteClient never fire today.epochidentifies the open attempt, including failed opens; the same epoch identifies its ready, final-close, or failed-close event.tickcounts non-paused server ticks since the world opened. - Light
Coords - Block and sky light, each
0..=15, in vanilla’s convention. - Lightning
Strike Event - What
Hooks::lightning_strikeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Listener
Key - A typed key to a retained reload listener, built by the registering mod
and read back through
ReloadResources.ListenerKey::newaccepts any id; a key whose id does not match a registration, or whose type differs from the registered object, reads back asNone. - Living
Breathe Event - What
Hooks::living_breatheis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Change Target Event - What
Hooks::living_change_targetis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Conversion Post Event - What
Hooks::living_conversion_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Conversion PreEvent - What
Hooks::living_conversion_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Damage Post Event - What
Hooks::living_damage_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Damage PreEvent - What
Hooks::living_damage_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Death Event - What
Hooks::living_deathis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Death Post Event - What
Hooks::living_death_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Destroy Block Event - What
Hooks::living_destroy_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Drops Event - What
Hooks::living_dropsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Drown Event - What
Hooks::living_drownis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Entity UseItem Finish Event - What
Hooks::living_entity_use_item_finishis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Entity UseItem Start Event - What
Hooks::living_entity_use_item_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Entity UseItem Stop Event - What
Hooks::living_entity_use_item_stopis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Entity UseItem Tick Event - What
Hooks::living_entity_use_item_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Equipment Change Event - What
Hooks::living_equipment_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Equipment Listened Event - What
Hooks::living_equipment_listenedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Experience Drop Event - What
Hooks::living_experience_dropis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Fall Event - What
Hooks::living_fallis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Flying Speed Event - What
Hooks::living_flying_speedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
GetProjectile Event - What
Hooks::living_get_projectileis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Heal Event - What
Hooks::living_healis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Incoming Damage Event - What
Hooks::living_incoming_damageis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Jump Event - What
Hooks::living_jumpis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Jump Power Event - What
Hooks::living_jump_poweris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Knockback Event - What
Hooks::living_knockbackis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Ref - 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 anEntityRefof such an entity, andLivingRef::entitygoes back, so the entity’s methods work on it too. Stale handles read asNone, as anEntityRef’s do. - Living
Shield Block Event - What
Hooks::living_shield_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Speed Event - What
Hooks::living_speedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
UseTotem Event - What
Hooks::living_use_totemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Living
Visibility Event - What
Hooks::living_visibilityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Loaded
Mods - Read-only view of the startup package inventory, shared: cloning it copies no package.
- Loot
Condition Event - What
Hooks::loot_conditionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Loot
Context - An owned view of the parameters supplied to a mod’s loot kind. The game fills it only when that kind has subscribed listeners.
- Loot
Drops - What dropped the items heard by the
loot_dropshook. - Loot
Drops Event - What
Hooks::loot_dropsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Loot
Function Event - What
Hooks::loot_functionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Loot
Stack - 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. - Loot
Table Load Event - What
Hooks::loot_table_loadis 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). - MapDecoration
Type - A map decoration type a mod registers once at start: the id a
minecraft:map_decorationsentry names it by, and how it is drawn. - MapDecoration
Types Event - What
Hooks::map_decoration_typesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MapDecorations
Event - What
Hooks::map_decorationsis 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_decorationsis 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. - MayPlace
OnEvent - What
BlockPart::may_place_onis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Mending
Repair Event - What
Hooks::mending_repairis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Menu
Background Event - What
Hooks::menu_backgroundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Menu
Button Event - What
BlockEntityPart::menu_buttonis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Menu
Clicked Event - What
Hooks::menu_clickedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Menu
Closed Event - What
Hooks::menu_closedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Menu
Extra Data Event - What
Hooks::menu_extra_datais 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. - Menu
Quick Move Event - What
BlockEntityPart::menu_quick_moveis 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.
- Menu
Slot Rules Event - What
MenuPart::menu_slot_rulesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Merchant
Offer - A merchant offer copied at an API boundary, not a reference into the game’s trade table.
- Merchant
Ref - A villager or wandering trader (vanilla’s
AbstractVillager, aMerchant), narrowed from an entity withhost.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. - Mesh
Definition MeshDefinition: a model’s parts, from a root part with no boxes.- Minecart
Pass Event - What
BlockPart::minecart_passis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Minecart
Ref - A vanilla
AbstractMinecart, narrowed from an entity withhost.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. - Minimap
Event - What
Hooks::minimapis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Missing
Jar - One missing original file and its owners.
- MobDespawn
Event - What
Hooks::mob_despawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobEffect
Added Event - What
Hooks::mob_effect_addedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobEffect
Applicable Event - What
Hooks::mob_effect_applicableis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobEffect
Expired Event - What
Hooks::mob_effect_expiredis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobEffect
Remove Event - What
Hooks::mob_effect_removeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobGoal
Entry - One goal of a mob’s selector, as
goalsandtarget_goalsread it. - MobKilled
Event - What
Hooks::mob_killedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobLayer
Event - What
Hooks::mob_layeris 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 withhost.mob(entity). - MobRender
- One mob’s frame, as
EntityRenderer.extractRenderStatefills aLivingEntityRenderState: what a model reads to pose and animate itself. Angles are in degrees, interpolated to the frame’s partial tick. - MobSpawn
Placement Check Event - What
Hooks::mob_spawn_placement_checkis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobSpawn
Position Check Event - What
Hooks::mob_spawn_position_checkis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobSpawned
Event - What
Hooks::mob_spawnedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobSplit
Event - What
Hooks::mob_splitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - MobSubmit
Event - What
Hooks::mob_submitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - ModBlock
Entity - A mod’s block entity, read and changed through its fields
(
ModBlockEntityFields) as a struct’s:entity.nbt. Each change goes throughDerefMutand gives it a newrevision, 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. - ModBlock
Entity View - 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.
- ModColor
Resolver - A mod’s colour resolver, as the game keeps it: what
ColorResolvers::registerreturns, to pass toBlockAndTintGetter::block_tint. Process-local; do not persist it. - ModContainer
- The container of a mod block’s block entity, as a
WorldlyContainersays it: its slot count, the slots each face reaches (getSlotsForFace, byDirection: 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). - ModContainer
Viewers Event - What
Hooks::mod_container_viewersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - ModEnergy
Buffer - 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, underenergy, so it survives restarts and the block’s own tick reads it. - ModEntry
- One native mod, with its bundle’s
[mod] idand hook implementation. - ModFluid
Tanks - 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’sMismatchedVersionInfo). - ModMismatch
Event - What
Hooks::mod_mismatchis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - ModMismatch
Resolution - 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
Particleatickmoves. Plain numbers, so a tick allocates nothing, and one value for native and wasm mods alike. - Model
Baking Completed Event - What
Hooks::model_baking_completedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Model
Instance - One copy.
originis world blocks;transformis row-major 3×4 in that local space. - Model
Loader Quad - One quad a model loader adds to a model whose
loaderit registered (register_model_loaders), baked with the model’s elements: turned with the blockstate variant, culled and shaded as element faces are. - Model
Part 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).- Model
Polygon - A baked face (
ModelPart.Polygon), with the normal it faces in its part’s frame. - Model
Ref - A baked standalone model resolved through
RenderAssets::model. Retain it between frames; reacquire it after a successful resource reload. - Model
Vertex - 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. - Modify
Custom Spawners Event - What
Hooks::modify_custom_spawnersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Modify
Default Components Event - What
Hooks::modify_default_componentsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Moisture
Change Event - What
Hooks::moisture_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Mouse
Button Post Event - What
Hooks::mouse_button_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Mouse
Button PreEvent - What
Hooks::mouse_button_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Mouse
Scrolling Event - What
Hooks::mouse_scrollingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Movement
Input Event - What
Hooks::movement_inputis 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.- Music
Event - What
Hooks::musicis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Music
Layer - A track a native mod plays over or instead of the music
(
native_music_layers): a sound event and its volume, 0 to 1. - Music
Layers Event - What
Hooks::music_layersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - NbtError
- Neighbor
Changed Event - What
BlockPart::neighbor_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Neighbor
Notify Event - What
Hooks::neighbor_notifyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - NetFrom
Client Event - What
Hooks::net_from_clientis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - NetFrom
Server Event - What
Hooks::net_from_serveris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Noise
Column - A noise column from its minimum Y upward; reads outside it are air.
- Note
Block Change - Context for a player tuning a note block.
- Note
Block Change Event - What
Hooks::note_block_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Note
Block Play Event - What
Hooks::note_block_playis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnBlock
Exploded Event - What
BlockPart::on_block_explodedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnEffect
Added Event - What
Hooks::on_effect_addedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnEntity
Item Update Event - What
ItemPart::on_entity_item_updateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnEntity
Swing Event - What
ItemPart::on_entity_swingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnEquip
Event - What
Hooks::on_equipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnItem
UseFirst Event - What
ItemPart::on_item_use_firstis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnLeft
Click Entity Event - What
ItemPart::on_left_click_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnNeighbor
Change Event - What
BlockPart::on_neighbor_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - OnUse
Tick Event - What
ItemPart::on_use_tickis 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 ahost.transactionclosure 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.
- Pack
Registration - A pack bundled with a mod.
locationnames the mod and a directory beneath its package root, e.g.example:assets/example/resourcepacks/high_contrast. That directory must containpack.mcmeta. Packages may be folders or archives; discovery and reload read the same logical directory without extracting it. - Package
Info - Read-only package metadata available during registration.
- Panel
Event Event - What
Hooks::panel_eventis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - PartId
- A part of a
MeshDefinition, asadd_or_replace_childgives it (PartDefinition): a handle into that mesh only. - Part
Pose 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, asModelPart.translateAndRotateturns it) and its scale.- Particle
Group - A render group a native mod registers: vanilla’s
ParticleRenderTypeand theParticleGroupthe 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. - Particle
Key - A particle requested at registration, resolved once when providers load.
- Particle
Options ParticleOptionswith the parameters of the option classes used here.- Particle
Provider Registry - 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.
- Payload
Reader - A payload body being read. It borrows the body and never reads past it.
- Payload
Token - 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.
- Payload
Writer - 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.
- Perform
Bonemeal Event - What
BlockPart::perform_bonemealis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Permissions
Changed Event - What
Hooks::permissions_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Pickup
XpEvent - What
Hooks::pickup_xpis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Pipeline
Quad - A two-sided quad drawn by a mod pipeline. Corners run top left, bottom left, bottom right, top right as seen from the front.
- Piston
Post Event - What
Hooks::piston_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Piston
PreEvent - What
Hooks::piston_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Placement
Context - Inputs to selecting a block’s placement state.
- Placement
Info - 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. - Play
Level Sound AtEntity Event - What
Hooks::play_level_sound_at_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Play
Level Sound AtPosition Event - What
Hooks::play_level_sound_at_positionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Play
Sound Event - What
Hooks::play_soundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Play
Sound Source Event - What
Hooks::play_sound_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Play
Streaming Source Event - What
Hooks::play_streaming_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Abilities - A player’s server-side abilities (
Abilities). - Player
Action Setup - Temporary state for
PlayerRef::perform_action_scoped. The existing fake acts in survival with a fresh standing body, holding onlystackin its main hand; its persistent body, items, look, secondary-use state and action timers are restored afterwards. - Player
Advancement Done Event - What
Hooks::player_advancement_doneis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Advancement Progress Event - What
Hooks::player_advancement_progressis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
ArmSwing Event - What
Hooks::player_arm_swingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Attack Cooldown Reset Event - What
Hooks::player_attack_cooldown_resetis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
BedEnter Event - What
Hooks::player_bed_enteris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
BedLeave Event - What
Hooks::player_bed_leaveis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Break Speed Event - What
Hooks::player_break_speedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Brewed Potion Event - What
Hooks::player_brewed_potionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Bucket Entity Event - What
Hooks::player_bucket_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Bundle Item Select Event - What
Hooks::player_bundle_item_selectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Change Beacon Effect Event - What
Hooks::player_change_beacon_effectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Changed Dimension Event - What
Hooks::player_changed_dimensionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Client Loaded World Event - What
Hooks::player_client_loaded_worldis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Clone Event - What
Hooks::player_cloneis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Command Event - What
Hooks::player_commandis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Commands Sent Event - What
Hooks::player_commands_sentis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Container Close Event - What
Hooks::player_container_closeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Container Open Event - What
Hooks::player_container_openis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Deep Sleep Event - What
Hooks::player_deep_sleepis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Destroy Item Event - What
Hooks::player_destroy_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Died Event - What
Hooks::player_diedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Edit Book Event - What
Hooks::player_edit_bookis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
EggThrow Event - What
Hooks::player_egg_throwis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Elytra Boost Event - What
Hooks::player_elytra_boostis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Enchant Item Event - What
Hooks::player_enchant_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
ExpCooldown Change Event - What
Hooks::player_exp_cooldown_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Experience - A player’s experience (
Player.experienceLevel,experienceProgress,totalExperience). - Player
Fish Event - What
Hooks::player_fishis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Flower PotManipulate Event - What
Hooks::player_flower_pot_manipulateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Flyable Fall Event - What
Hooks::player_flyable_fallis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Food - A player’s food data.
- Player
Game Mode Changed Event - What
Hooks::player_game_mode_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Harvest Check Event - What
Hooks::player_harvest_checkis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Heart Type Event - What
Hooks::player_heart_typeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Input - One tick of a bot’s keys for
native_simulate_player_move, as a client’s input is (ClientInput,LocalPlayer.aiStep). - Player
Input Event - What
Hooks::player_inputis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Insert Lectern Book Event - What
Hooks::player_insert_lectern_bookis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Inventory Changed Event - What
Hooks::player_inventory_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Item Cooldown Event - What
Hooks::player_item_cooldownis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Item Frame Change Event - What
Hooks::player_item_frame_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Item Mend Event - What
Hooks::player_item_mendis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Item Smithed Event - What
Hooks::player_item_smithedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Jump Event - What
Hooks::player_jumpis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Kicked Event - What
Hooks::player_kickedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Launch Projectile Event - What
Hooks::player_launch_projectileis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Lectern Page Change Event - What
Hooks::player_lectern_page_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Level Change Event - What
Hooks::player_level_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Load From File Event - What
Hooks::player_load_from_fileis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Logged InEvent - What
Hooks::player_logged_inis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Logged OutEvent - What
Hooks::player_logged_outis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Login Event - What
Hooks::player_loginis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Loom Pattern Select Event - What
Hooks::player_loom_pattern_selectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
MapFilled Event - What
Hooks::player_map_filledis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Name Entity Event - What
Hooks::player_name_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Name Format Event - What
Hooks::player_name_formatis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Open Sign Event - What
Hooks::player_open_signis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Pick Item Event - What
Hooks::player_pick_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Pickup Arrow Event - What
Hooks::player_pickup_arrowis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Ready Arrow Event - What
Hooks::player_ready_arrowis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Recipe Book Click Event - What
Hooks::player_recipe_book_clickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Recipe Book Settings Change Event - What
Hooks::player_recipe_book_settings_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Recipe Discovered Event - What
Hooks::player_recipe_discoveredis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Ref - 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.
- Player
Render - Which player a
MobRenderis, fornative_player_submitandnative_mob_layer. - Player
Render Listened Event - What
Hooks::player_render_listenedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Respawn Config - 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. - Player
Respawn Position Event - What
Hooks::player_respawn_positionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Respawned Event - What
Hooks::player_respawnedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Riptide Event - What
Hooks::player_riptideis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Save ToFile Event - What
Hooks::player_save_to_fileis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
SetSpawn Event - What
Hooks::player_set_spawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Shear Entity Event - What
Hooks::player_shear_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Shield Disable Event - What
Hooks::player_shield_disableis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Spawn Phantoms Event - What
Hooks::player_spawn_phantomsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Sprint Event - What
Hooks::player_sprintis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Start Tracking Event - What
Hooks::player_start_trackingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stat Award Event - What
Hooks::player_stat_awardis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stays OnGround Surface Event - What
Hooks::player_stays_on_ground_surfaceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stonecutter Recipe Select Event - What
Hooks::player_stonecutter_recipe_selectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stop Spectating Entity Event - What
Hooks::player_stop_spectating_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stop Tracking Event - What
Hooks::player_stop_trackingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Stop Using Item Event - What
Hooks::player_stop_using_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Submit Event - What
Hooks::player_submitis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Swap Hands Event - What
Hooks::player_swap_handsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Swap With Equipment Slot Event - What
Hooks::player_swap_with_equipment_slotis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Switch Hotbar Slot Post Event - What
Hooks::player_switch_hotbar_slot_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Switch Hotbar Slot PreEvent - What
Hooks::player_switch_hotbar_slot_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
TabList Name Format Event - What
Hooks::player_tab_list_name_formatis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Take Lectern Book Event - What
Hooks::player_take_lectern_bookis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Teleport EndGateway Event - What
Hooks::player_teleport_end_gatewayis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Teleported Event - What
Hooks::player_teleportedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Tick Post Event - What
Hooks::player_tick_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Tick PreEvent - What
Hooks::player_tick_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Toggle Entity AgeLock Event - What
Hooks::player_toggle_entity_age_lockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Toggle Flight Event - What
Hooks::player_toggle_flightis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Toggle Sneak Event - What
Hooks::player_toggle_sneakis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Totem Event - What
Hooks::player_totemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Trade Event - What
Hooks::player_tradeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Unleash Entity Event - What
Hooks::player_unleash_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
Velocity Event - What
Hooks::player_velocityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
XpChange Event - What
Hooks::player_xp_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Player
XpLevel Change Event - What
Hooks::player_xp_level_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - PoiType
Extension Registry - Engine-owned storage behind the registrar.
- Portal
Create Event - What
Hooks::portal_createis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Portal
Shape - The empty frame a fire is about to fill with a nether portal, for
portal_spawn(BlockEvent.PortalSpawnEvent.getPortalSize). - Portal
Spawn Event - What
Hooks::portal_spawnis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Posed
Part - One humanoid part as posed this frame: its pose relative to its parent, and whether it draws
(
ModelPart.visibleas the body drew it: after Skin Customization and the partsplayer_submithid). - Posed
Parts - The humanoid parts of a model, posed this frame: a fixed-size snapshot, nothing allocated.
- Potential
Spawns Event - What
Hooks::potential_spawnsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Potion
Brew Post Event - What
Hooks::potion_brew_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Potion
Brew PreEvent - What
Hooks::potion_brew_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Potion
Splash Event - What
Hooks::potion_splashis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - PreRemove
Side Effects Event - What
BlockEntityPart::pre_remove_side_effectsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Prepare
Hopper Transfer Event - What
Hooks::prepare_hopper_transferis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Prepare
Item Craft Event - What
Hooks::prepare_item_craftis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Prepare
Item Enchant Event - What
Hooks::prepare_item_enchantis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Prepare
Smithing Event - What
Hooks::prepare_smithingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Preset
Editor - A client screen used to customize a data-pack world preset.
- Projectile
Impact Event - What
Hooks::projectile_impactis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Projectile
Launch Event - What
Hooks::projectile_launchis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Projectile
Ref - A projectile of the open world (vanilla’s
Projectile), narrowed withhost.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 idRaidskeeps it under, which the raids file saves.level.raid_at(host, pos),level.raids(host),level.raid(host, id)andmob.raid(host)make one. A handle resolves again on each call: it reads asNoneorfalseonce 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. - Raid
Spawn Wave Event - What
Hooks::raid_spawn_waveis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Raid
State Change Event - What
Hooks::raid_state_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Random
Tick Event - What
BlockPart::random_tickis 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.jsonis the data-pack file’s JSON, read by a mod at reload; host parsing helpers accept JSON text. Plain data. - Recipe
Book Categories Event - What
Hooks::recipe_book_categoriesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Recipe
Book Category - A mod’s book category and displays for one custom recipe type.
- Recipe
Book Display Entry - 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.
- Recipe
Book Settings - Open and craftable-only state, independent of categories and vanilla books. Client intent must not be saved until the server accepts it.
- Recipe
Book Type Key - A namespaced custom recipe book identity returned during registration. This owns no settings; player settings and synchronization are separate.
- Recipe
Match - What the matched recipe assembles; lookup never consumes the input.
- Recipe
Property Addition - 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. - Recipe
Property Sets Event - What
Hooks::recipe_property_setsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Recipe
Template - An
ItemStackTemplatein a crafting rule, not an assembled result. The rule decides which input supplies inherited components and, whenitemis absent, the result item. Usecrate::LevelRef::recipe_forfor an actual grid’s output and remainders. - Recipe
Transfer Check - The server’s answer to
transfer_recipe_check: what the transfer would do, and withMissing, the recipe’s cells nothing fills. - Recipes
Received Event - What
Hooks::recipes_receivedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Block Tint Sources Event - What
Hooks::register_block_tint_sourcesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Cauldron Fluid Content Event - What
Hooks::register_cauldron_fluid_contentis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Cauldron Interaction Event - What
Hooks::register_cauldron_interactionis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Client Commands Event - What
Hooks::register_client_commandsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Color Resolvers Event - What
Hooks::register_color_resolversis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Commands Event - What
Hooks::register_commandsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Configs Event - What
Hooks::register_configsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Debug Entries Event - What
Hooks::register_debug_entriesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Debug Renderers Event - What
Hooks::register_debug_renderersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Dimension Transition Screen Event - What
Hooks::register_dimension_transition_screenis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Enchantment Damage Effects Event - What
Hooks::register_enchantment_damage_effectsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Entity Spectator Shaders Event - What
Hooks::register_entity_spectator_shadersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Fluid Models Event - What
Hooks::register_fluid_modelsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Game Tests Event - What
Hooks::register_game_testsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
GuiLayers Event - What
Hooks::register_gui_layersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Item Models Event - What
Hooks::register_item_modelsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Item Tint Sources Event - What
Hooks::register_item_tint_sourcesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Layer Definitions Event - What
Hooks::register_layer_definitionsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Model Loaders Event - What
Hooks::register_model_loadersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Particle Groups Event - What
Hooks::register_particle_groupsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Particle Providers Event - What
Hooks::register_particle_providersis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Preset Editors Event - What
Hooks::register_preset_editorsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Range Select Item Model Property Event - What
Hooks::register_range_select_item_model_propertyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Render Pipelines Event - What
Hooks::register_render_pipelinesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Runtime Sprites Event - What
Hooks::register_runtime_spritesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Select Item Model Property Event - What
Hooks::register_select_item_model_propertyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Sprite Sources Event - What
Hooks::register_sprite_sourcesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Register
Texture Atlases Event - What
Hooks::register_texture_atlasesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Registrar
Mob - The entity a
GoalRegistraris building goals for, at construction: its type id, the datum vanilla’s per-speciesregisterGoalsbranches on. - Registration
Context - 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.
- Release
Using Event - What
ItemPart::release_usingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Reload
Resource Error - An error loading a resource, including the resource that caused it.
- Remove
Block Event - What
BlockPart::remove_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
ArmEvent - What
Hooks::render_armis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
FogEvent - What
Hooks::render_fogis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Frame Post Event - What
Hooks::render_frame_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Frame PreEvent - What
Hooks::render_frame_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
GuiPost Event - What
Hooks::render_gui_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
GuiPre Event - What
Hooks::render_gui_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Hand Event - What
Hooks::render_handis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Item InFrame Event - What
Hooks::render_item_in_frameis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Level Stage Event - What
Hooks::render_level_stageis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Name TagEvent - What
Hooks::render_name_tagis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Pipeline - 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. - Render
Pipeline Ref - 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. - Render
Tooltip Gather Components Event - What
Hooks::render_tooltip_gather_componentsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Tooltip PreEvent - What
Hooks::render_tooltip_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Render
Tooltip Texture Event - What
Hooks::render_tooltip_textureis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Resolver
Biome - A biome as a colour resolver reads it: vanilla’s
BiomeinColorResolver.getColor. - Resource
Pack Status Event - What
Hooks::resource_pack_statusis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Respawn
Data - 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. - Retained
Listeners - The game’s
ServerReloadResources. - Right
Click Block Event - What
Hooks::right_click_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Right
Click Empty Event - What
Hooks::right_click_emptyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Right
Click Item Event - What
Hooks::right_click_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - RunMod
Command Event - What
Hooks::run_mod_commandis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Runtime
Sprite - A mod-generated PNG to stitch into the next client resource generation.
- Scene
Block - 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.
- Scene
Block Entity - 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.
- Scene
View - How a scene is seen: its center, vertical rotation and top tilt in degrees, and the number of GUI pixels a block spans.
- Scheduled
Task Event - What
Hooks::scheduled_taskis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Scoped
Action Result - 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. - Screen
Char Typed Post Event - What
Hooks::screen_char_typed_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Char Typed PreEvent - What
Hooks::screen_char_typed_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Click Event - What
BlockEntityPart::screen_clickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Closing Event - What
Hooks::screen_closingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Draw Event - What
BlockEntityPart::screen_drawis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Event - What
BlockEntityPart::screenis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Exclusion Areas Event - What
Hooks::screen_exclusion_areasis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Id - The stable identifier reported by screen hooks for an observed screen.
- Screen
Init Post Event - What
Hooks::screen_init_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
KeyPressed Post Event - What
Hooks::screen_key_pressed_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
KeyPressed PreEvent - What
Hooks::screen_key_pressed_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
KeyReleased Post Event - What
Hooks::screen_key_released_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
KeyReleased PreEvent - What
Hooks::screen_key_released_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Button Pressed Post Event - What
Hooks::screen_mouse_button_pressed_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Button Pressed PreEvent - What
Hooks::screen_mouse_button_pressed_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Button Released Post Event - What
Hooks::screen_mouse_button_released_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Button Released PreEvent - What
Hooks::screen_mouse_button_released_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Dragged Post Event - What
Hooks::screen_mouse_dragged_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Dragged PreEvent - What
Hooks::screen_mouse_dragged_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Scrolled Post Event - What
Hooks::screen_mouse_scrolled_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Mouse Scrolled PreEvent - What
Hooks::screen_mouse_scrolled_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Opening Event - What
Hooks::screen_openingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Preedit Post Event - What
Hooks::screen_preedit_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Preedit PreEvent - What
Hooks::screen_preedit_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Render Background Event - What
Hooks::screen_render_backgroundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Render Foreground Event - What
Hooks::screen_render_foregroundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Render Inventory MobEffects Event - What
Hooks::screen_render_inventory_mob_effectsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Render Post Event - What
Hooks::screen_render_postis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Render PreEvent - What
Hooks::screen_render_preis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Tooltip Event - What
BlockEntityPart::screen_tooltipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
Transparent Background Event - What
Hooks::screen_transparent_backgroundis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screen
View - The open screen, for the screen hooks (
native_screen_render_post, the mouse onesnative_screen_mouse_button_pressed_pre,..._released_preandnative_screen_mouse_scrolled_pre, and the key onesnative_screen_key_pressed_preandnative_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. - Screenshot
Event - What
Hooks::screenshotis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Screenshot
Image - The in-memory F2 frame (
ScreenshotEvent.getImage), before either file is written. - Sculk
Bloom Event - What
Hooks::sculk_bloomis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Section
Geometry Registry - The game’s
SectionGeometryRenderers: the renderers in registration order. - Section
Quad - One quad a
SectionGeometryadds. 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. - Server
About ToStart Event - What
Hooks::server_about_to_startis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Chat Event - What
Hooks::server_chatis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Listener Registry - The game’s
ServerReloadListeners. - Server
Player - A player on the server, as a server hook sees them.
- Server
Reload Context - 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.
- Server
Started Event - What
Hooks::server_startedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Starting Event - What
Hooks::server_startingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Stopped Event - What
Hooks::server_stoppedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Stopping Event - What
Hooks::server_stoppingis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Tick Event - What
Hooks::server_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Server
Tick Rate Changed Event - What
Hooks::server_tick_rate_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Serverbound
Play Packet - A serverbound play packet encoded in the connected game’s vanilla protocol.
- Setting
Changed Event - What
Hooks::setting_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Setting
Spec - 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. - Shader
Params Event - What
Hooks::shader_paramsis 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. - Shield
Block - What a player’s raised blocking item does to a hit, as
native_living_shield_blockmay change it (LivingShieldBlockEvent). - Should
Apply Effect Tick This Tick Event - What
Hooks::should_apply_effect_tick_this_tickis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Should
Check Weak Power Event - What
BlockPart::should_check_weak_poweris told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Should
Redstone Wire Connect ToEvent - What
BlockPart::should_redstone_wire_connect_tois told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Sign
Changed Event - What
Hooks::sign_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Simulated
Move - Where a bot’s tick took it (
native_simulate_player_move). - Sized
Fluid Ingredient - A
FluidIngredientwith the amount it asks, as NeoForge’sSizedFluidIngredient: the fluids the ingredient accepts, and how many millibuckets of them (a bucket is 1000). - Sleep
Finished Time Event - What
Hooks::sleep_finished_timeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Smoke
Source Event - What
BlockPart::smoke_sourceis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Sound
Engine Load Event - What
Hooks::sound_engine_loadis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Sound
Play - A sound about to play, for
play_sound(SoundInstance’s own settings: vanilla’sgetIdentifier,getSource,getVolume,getPitch,getX/Y/Z,isLooping,getDelay,getAttenuationandisRelative). - Sound
Ref - A sound a client mod started with
play_local_sound, to follow and control:state,stopandfade. 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 readsSoundState::Stoppedand its writes do nothing. It stays valid across a change of output device, which keeps the sounds playing. - Spawn
Change Event - What
Hooks::spawn_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Spawn
Entry - Spawn
Flags - Which categories a level’s natural spawning (
NaturalSpawner.spawnForChunk) may spawn at all, read and set throughLevelRef::spawn_flagsandset_spawn_flags. A flag only takes away, for its level alone: monsters still need thespawn_monstersgame rule, and nothing spawns naturally withspawn_mobsoff. Spawners, patrols, sieges, phantoms, a new chunk’s creatures and other custom spawners don’t read the flags. - Spawn
Limits - How many mobs of each spawning category a level’s natural spawning allows
(
MobCategory.getMaxInstancesPerChunk), read and set throughLevelRef::spawn_limitsandset_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 underlimit * 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 thanlimitof them around. A limit of 0 stops the category’s natural spawning.MobCategory::Miscnever spawns naturally, so it has no limit. - Spawn
Placement Rule - A mod entity type’s spawn rule, declared with
Registrar::declare_spawn_placement: the arguments of NeoForge’sRegisterSpawnPlacementsEvent.registeras data, so one rule serves native and wasm mods. Every field must hold for a spawn to pass; a trial spawner ignoreslight, as for vanilla types. - Spawner
Key - The identity of a mod’s spawner,
namespace:path(mymod:rat_swarm), checked once where a mod names it: whatCustomSpawners::addtakes andcustom_spawner_tickhands back. - Sponge
Absorb Event - What
Hooks::sponge_absorbis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Spread
Players Teleport Event - What
Hooks::spread_players_teleportis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Sprite
Ref - 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.
- Sprite
Source Event - What
Hooks::sprite_sourceis 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 “”. - Stack
Split - The two nonempty portions of a consuming split. Either portion can be absent.
- Stacked
OnOther - A pickup click’s slot and cursor, including empty stacks.
- Standalone
Models Event - What
Hooks::standalone_modelsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - State
Constraint - A property constraint used when matching a state.
- State
ForPlacement Event - What
BlockPart::state_for_placementis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - State
Predicate - A block or tag filter, with unspecified properties left as wildcards. An unknown or missing property on a tag member never matches.
- State
Property - One property and its legal values in a state definition.
- Stateful
Block Entity Event - What
BlockEntityPart::stateful_block_entityis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Structure
Error - A piece’s placement failed; the generation of that piece stops there, as a
piece’s own
Resultdoes in the engine. - Structure
Search - Search parameters for
LevelRef::find_nearest_structure. - Structure
Search Result - The nearest structure start a search found.
- Structure
Template Block - A transformed block and its optional block-entity data.
- Structure
Template Snapshot - The transformed template size and blocks in vanilla placement order.
- Submit
Custom Geometry Event - What
Hooks::submit_custom_geometryis 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.
- Sweep
Attack Event - What
Hooks::sweep_attackis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - TabComplete
Event - What
Hooks::tab_completeis 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. - Tags
Updated Event - What
Hooks::tags_updatedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Target
HitEvent - What
Hooks::target_hitis 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.
- Teleport
Command Event - What
Hooks::teleport_commandis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Terrain
Model Options - How
BlockEntityDrawContext::terrain_modeldraws a model. The default is the model’s own materials and shading, its baked UVs and no tint. - Terrain
UvShift - Faces textured by
source_spritedrawn withtarget_spriteinstead, their unit UVs multiplied byscalethen moved byoffset: 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.
- Text
Edit - The text of a field and where its cursor and selection are, in characters
(
EditBox.value,cursorPos,highlightPos,maxLength). - Text
Field Layout - What
DrawContext::widget_text_fielddrew: 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. - Text
Field View - A text field as
DrawContext::widget_text_fielddraws it: the game’sEditBoxlook, filled in byWidgets. - Texture
Atlas Registration - An atlas a client mod adds beside the game’s (
RegisterTextureAtlasesEvent), asregister_texture_atlasesdeclares it: its id and the atlas definition listing its sprites. Horizon stitches its sprites into the GUI atlas, each underSelf::sprite_name. - Texture
Atlas Stitched Event - What
Hooks::texture_atlas_stitchedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Thunder
Change Event - What
Hooks::thunder_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Tick
Block Event - What
BlockPart::tick_blockis 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).
- Tick
Target Millis Event - What
Hooks::tick_target_millisis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Ticket
Controller - A ticket controller a mod registered with
Registrar::register_ticket_controller: the handlechunk.set_mod_forcedandlevel.mod_forced_chunkstake. Only the registrar makes one, resolved once there, and it isCopy: keep it fromregister, for example in aOnceLock. Another mod’s controller does not work. - Ticket
Set - The chunks one owner holds, the two kinds apart (NeoForge’s
TicketSet). - Time
Skip Event - What
Hooks::time_skipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - TntPrimed
Event - What
Hooks::tnt_primedis 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
Ta 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
Ta client sends its server. Only the serverbound send service takes it, so sending it the other way does not compile. - Toast
AddEvent - What
Hooks::toast_addis 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.
- Tooltip
Append Context - What a tooltip is about, as its appender gets it: the local player and the tooltip’s flags.
- Tooltip
Component Draw Event - What
ItemPart::tooltip_component_drawis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Tooltip
Component Event - What
ItemPart::tooltip_componentis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Tooltip
Display - The
minecraft:tooltip_displaycomponent applied byItemStackwhile it builds a hover tooltip. - Tooltip
Event - What
ItemPart::tooltipis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Tooltip
Image - An image component of a tooltip:
sizeGUI pixels, drawn by thetooltip_component_drawpart ofstack’s item, withstack’s data. An item’s owntooltip_componentpart answers the one it starts with. - Tooltip
Place - Where a tooltip hangs from, in GUI pixels: what
render_tooltip_prelets a mod move. - Trade
Select Event - What
Hooks::trade_selectis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Trade
With Villager Event - What
Hooks::trade_with_villageris 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.transactiongets one from the game and lends it to its closure alone. - Transaction
Seal - What ends a transaction:
transaction_opengives it to whoever opened the transaction (host.transaction’s guard), andtransaction_closetakes it. A write handler lent only theTransactioncannot 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]. - Tropical
Variant - A tropical fish’s look, as a school shares it (
TropicalFish.TropicalFishGroupData), by the names vanilla saves (kob,orange,white). - Unknown
Fluid - A fluid requested by a mod but absent from the completed registry.
- Unresolved
Fluid - A saved fluid name retained for the lifetime of the process.
- Unspawned
MobRef - A mob the game has made but not yet added to a level (
finalize_spawn’s andmob_spawn_position_check’s mob), lent to one hook call. It is not anEntityRef: 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 anUnspawnedMobEditswith it, that makes the edits. Every read and edit after the hook returns, or with another lend’s handle, is refused withUnspawnedMobError::Expired, so a copy kept past the call changes nothing. - Update
Shape Event - What
BlockPart::update_shapeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseAnimation
Event - What
ItemPart::use_animationis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseDuration
Event - What
ItemPart::use_durationis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseItem
Event - What
ItemPart::use_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseItem
OnBlock Event - What
Hooks::use_item_on_blockis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseItem
OnEvent - What
BlockPart::use_item_onis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseOn
Event - What
ItemPart::use_onis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - UseWithout
Item Event - What
BlockPart::use_without_itemis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Validate
Tickets Event - What
Hooks::validate_ticketsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vanilla
Client Listeners - Horizon’s vanilla client reload listeners and ordering boundaries, from the
26.3
Minecraftresource-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. - Vanilla
Game Event Event - What
Hooks::vanilla_game_eventis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vanilla
Server Listeners - Horizon’s vanilla server reload listeners and ordering boundaries.
- VarInt
- An
i32written as a VarInt. - VarLong
- An
i64written as a VarLong. - Vault
Change State Event - What
Hooks::vault_change_stateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vault
Loot Event - What
Hooks::vault_lootis 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. - Vehicle
Create Event - What
Hooks::vehicle_createis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vehicle
Damage Event - What
Hooks::vehicle_damageis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vehicle
Destroy Event - What
Hooks::vehicle_destroyis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Vehicle
Moved Event - What
Hooks::vehicle_movedis 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), forHURT_SERVER. - Village
Siege Event - What
Hooks::village_siegeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Visual
Text Character - One character accepted by vanilla’s
FormattedCharSinkin visual order. - Visuals
Event - What
Hooks::visualsis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Weak
Changes Event - What
BlockPart::weak_changesis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Weather
Change Event - What
Hooks::weather_changeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Whitelist
State Update Event - What
Hooks::whitelist_state_updateis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Wind
Burst Event - What
Hooks::wind_burstis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - Window
Resize Event - What
Hooks::window_resizeis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - World
Border Bounds Change Finish Event - What
Hooks::world_border_bounds_change_finishis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - World
Border Bounds Changed Event - What
Hooks::world_border_bounds_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - World
Border Center Changed Event - What
Hooks::world_border_center_changedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - World
Draw Usage - Queued primitive counts and fixed capacities, shared across both depth modes.
- World
Epoch - One server world open or client level; it rejects a previous world’s handles.
- World
Fluid - Simulation and bucket settings for a declared world fluid.
- World
Lifecycle Event - What
Hooks::world_lifecycleis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - World
Line - A world-space line, colored with 0xAARRGGBB and measured in screen pixels.
- World
Quad - 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.
- World
Render View - Immutable, minimal extracted state for custom world geometry submission. This initial view does not expose NeoForge’s full level state or visible sections.
- World
Saved Event - What
Hooks::world_savedis told. Each field is that hook’s argument of the same name, described in the hook’s doc. - XpOrb
Targeting Event - What
Hooks::xp_orb_targetingis 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 whensmooth, and the scale of mouse turning. - Zoom
Event - What
Hooks::zoomis told. Each field is that hook’s argument of the same name, described in the hook’s doc.
Enums§
- Action
Outcome - What a fake player’s action did once it ran.
- Action
Refused - Why a fake player’s
perform_actiondid 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.- Animation
Target - 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.- Arrow
Pickup AbstractArrow.Pickup: who may pick an arrow up.- Attachment
Error - An attachment operation could not be completed.
- Attachment
Holder - A holder’s existing scoped handle, without retaining or loading the holder.
- Attachment
RowError - A failed row read or write through a retained batch.
- Attachment
Write - Why a value is stored, which decides what else changes.
- Attribute
Operation - How an attribute modifier changes its attribute
(
AttributeModifier.Operation). The value is the base plus everyAddValue, then grows by that sum times eachAddMultipliedBase, then is multiplied by one plus eachAddMultipliedTotal. - Attribute
Registration Error - Why a mod’s attribute type declaration was refused
(
Registrar::declare_attribute). - Authority
- Which
Gameobserves the phase; a mirrorGamenever fires. - Behavior
Refusal - Why
BehaviorRegistrar::addrefused. - Billboard
Display.BillboardConstraints.- Biome
Colour Change - A change to a colour that 26.3 treats as an optional override of the biome’s
effects. - Biome
Modifier Error - Why a biome modifier was refused
(
Registrar::declare_biome_modifier). - Biome
Modifier Operation - What a biome modifier does to its biomes.
- Biome
Source Kind - How a dimension chooses its biomes (
BiomeSource): the level stem’sbiome_source. - Block
Breaking State - The local player’s current block-breaking operation. An unavailable player
returns
Nonefrom the handle, distinct fromSelf::Idle. - Block
Entity Data Error - Why a mod block entity’s menu data slots could not be sized.
- Block
Entity Error - Why a block-entity operation could not resolve its target.
- Block
Entity Item Error - Why a mod block entity’s internal item slot could not be read or written.
- Block
Entity Part Error - A native Part cannot be attached to this type during registration.
- Block
Face - A block face for a level support query.
- Block
Interaction - What an explosion does to blocks (
Explosion.BlockInteraction). - Block
Screen Effect - Which of
ScreenEffectRenderer’s overlays a block puts over the first-person view (NeoForge’sRenderBlockScreenEffectEvent.OverlayType). - Block
Shape Kind - The empty-context block shape requested from a level.
- Block
State Error - A refused metadata read or state operation.
- Block
State Property - BlockStateProperty in a load-time content declaration.
- Bonemeal
Source - What used bone meal on a block (
BonemealSource), forbonemeal. - Boss
BarColor BossEvent.BossBarColor.- Boss
BarOverlay BossEvent.BossBarOverlay.- Brain
Memory - A memory the ported brains keep, as
BrainMemoryTypenames vanilla’s. What a species’ brain does not keep answers absent. - Camera
Type CameraType: where the camera sits for the local player.key.togglePerspective(F5) cycles it first person, third person behind, third person in front.- Cauldron
Decision - Selection result; a consuming result prevents subsequent normal item use.
- Cauldron
Fire - Authoritative callback outcome; runtime refusal and traps refuse the action.
- Cauldron
Registration Error - A registration refused before the immutable dispatcher is published.
- Chat
Visibility ChatVisiblity: which chat a client shows.- Chunk
Status - The status of a loaded chunk that Horizon can expose.
- Chunk
Ticket Level - 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 pastFULLa chunk isUnloaded. - Clip
Block - Block shape used by an empty-context level ray.
- Clip
Fluid - Fluid mode for a level ray. More modes are a follow-up.
- Color
Resolver - The colour calculations block tints blend over the biomes around a block (vanilla’s
BiomeColorsresolvers,ColorResolver): vanilla’s four, and the ones mods register inregister_color_resolvers. - Command
Argument Error - Why a custom argument’s parser refused the text a player wrote.
- Command
Argument Kind - How much of the command line a custom argument’s value takes.
- Command
Argument Value - One validated native command argument, resolved against its command source.
- Command
Source - The origin of a registered mod command, independent of
execute as’s executor. - Config
Entry Kind - What a path holds.
- Config
File Error - Why a config file call was refused.
- Config
Kind - Which side reads a config and when (NeoForge’s
ModConfig.Type). - Connection
Kind - 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.
- Connection
Phase - The protocol phase a connection is in.
- Corner
- A screen corner for an overlay.
- Criterion
Test Error - Why the mod’s criterion test could not answer.
- Crosshair
Target - 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. - Data
Load Origin - The owning boundary that starts a data load.
- Data
MapError - Why a data map read has no answer. An entry the map gives no value is
Ok(None), not one of these. - Data
Maps Update Cause - What made a
data_maps_updatednotice fire (DataMapsUpdatedEvent.UpdateCause). - Datapack
Decode Error - Why an entry file did not decode.
fieldnames the offending JSON key. - Datapack
Field Kind - What a schema field holds, with the bounds the game enforces.
- Datapack
Generation Exhausted - Why a set could not move to a new generation.
- Datapack
Load Reason - Why a candidate was refused. The whole candidate fails, never one entry.
- Datapack
Negotiation Error - 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.
- Datapack
Read Error - Why a handle or a lookup failed.
- Datapack
Registration Error - Why a mod’s datapack registry declaration was refused
(
Registrar::declare_datapack_registry). - Datapack
Registry Sync - How a registry’s entries reach joining clients.
- Datapack
Snapshot Error - Why a snapshot was refused. A refused snapshot activates nothing.
- Datapack
Value - A decoded field value. Ids and references are
Text, normalised tonamespace:path. - Debug
Group - The vanilla groups a debug entry’s lines can join (
DebugScreenDisplayer.addToGroup). - Deflection
ProjectileDeflection: howProjectileRef::deflectturns a projectile.- Despawn
- What a mod answers a despawn check (
MobDespawnEvent.Result). - Dimension
Transition - NeoForge’s incoming, outgoing and conditional registration variants.
- Dimension
Transition Reason - Why the client is displaying its level-loading screen.
- Direction
- Display
Kind - Which
Displaysubclass an entity is. - Drag
Kind - How a complete drag distributes the carried stack.
- Dragon
Phase - An ender dragon phase (
EnderDragonPhase), in vanilla’s order. - Draw
Error - Why a whole geometry batch was refused; nothing from that batch was appended.
- Effect
Applicable - The answer to
mob_effect_applicable: whether an effect can land on an entity. An unanswered hook defers to the vanilla tag check;AllowandDenyoverride it, as NeoForge’sMobEffectEvent.Applicable.Resultdoes. - Effect
Category - Vanilla
MobEffectCategory, read from a registered effect’s type. - Entity
Attribute Error - Why an entity type’s attribute declaration or addition was refused
(
Registrar::declare_entity_attributes,Registrar::modify_entity_attributes). - Equipment
Slot - Equipment
Slot Group - The slots an item’s attribute modifier applies in (vanilla’s
EquipmentSlotGroup). - Explosion
Interaction - What an explosion a mod sets off does to blocks
(
Level.ExplosionInteraction). - Fake
Effect - An effect a fake player’s action is stopped from starting. Kinds may be added.
- File
ToId Converter Error - An invalid directory or extension passed to
FileToIdConverter. - Firework
Shape - The explosion shape selected by a firework recipe.
- Flow
- Whether a mod claims a cancellable hook.
- Fluid
BoxError - Why
BlockEntityDrawContext::fluid_boxdrew nothing. A refused box appends no geometry. - Fluid
Definition - A registered fluid’s world-state definition, or an identity used only in tanks.
- Fluid
Identity - A registered fluid, or an opaque retained name from unavailable content.
- Fluid
Ingredient Error - Why a fluid ingredient could not be parsed.
- Fluid
State Error - Why fluid-state constraints could not be validated.
- FogType
FogTypeof the camera position.- Game
Mode - A player’s game mode (vanilla’s
GameType). - Game
Rule Error - Why a game rule category declaration was refused.
- Game
Rule Value - A registered game rule’s typed value. Case order is part of the wasm link contract.
- Game
Test Result - The outcome of a function invocation. Pending keeps the runner’s timeout active.
- Goal
Spec - A vanilla AI goal, as a mob’s
add_goalandadd_target_goalgive 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 (aMoveToBlockGoalsubclass’s block test) stay out: they take code, not parameters. - Ground
Provider - The provider a tree decorator places its ground with:
AlterGroundEvent.getStateProvider. - Group
Error - Why a persistent group operation was refused. Errors leave storage and view unchanged.
- GuiDraw
- One
GuiGraphicsExtractorcall. Text deeper than 512 nodes refuses the whole command buffer at the game boundary. - GuiLayer
Placement - 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’sycounts from. - Heightmap
Type - The vanilla heightmap opacity predicates used by structure queries.
- Holder
- A server holder in the host’s current dimension.
- Host
Side - The logical side of a hook’s host.
- HudMode
- HUD and first-person hand visibility. Other hand-render restrictions still apply.
- Humanoid
Part - A part of a humanoid model, by the name vanilla’s
PlayerModelgives it. The outer skin layer’s parts (Hat,Jacket, the sleeves and the pants) are children of the part they cover. - Ingredient
Keys Error - Why an ingredient cannot be retained as an exact, component-independent key set.
- Instance
Directory - The game’s instance directory, captured before registration begins.
- Instance
Error - Why a whole instance batch was refused. Nothing from that batch is drawn.
- Interaction
Attempt - What caused a client interaction mapping to act on this tick.
- Interaction
Key - The key of
InteractionKeyMappingTriggered: what the player’s click was about to do. - Interaction
Result - Vanilla’s
InteractionResult, as a hook answers it. - Interpolation
- How a channel reaches a keyframe from the one before (
AnimationChannel.Interpolations). - Item
Display Context ItemDisplayContext.- Item
Place - Where a stack lives.
- Item
Rarity - The effective rarity of an item stack, after its enchantment upgrade.
- JarInputs
Error - An accepted root’s original-jar inputs could not be checked.
- KeyAction
- What a key did in an
input_keyevent (GLFW’saction: release 0, press 1, repeat 2). - KeyConflict
Context - The screens in which two mappings can conflict.
- Landing
Write - A write at the block an entity landed on (
Block.fallOn). - Leash
Holder - The resolved holder of a mob’s or a boat’s leash, or its absence.
- Level
Dimension - Level
Read Error - Why a
LevelRefread cannot return its requested state. - Level
Side - The logical side of a hook’s host.
- Level
Write Error - 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. - Light
Layer - A kind of light (
LightLayer). - Logical
Side - The logical side on which a menu click runs.
- Loop
Side - The side that owns a resource-generation loop.
- Main
Hand HumanoidArm: a player’s main hand.- Memory
Status MemoryStatus: what an entry condition asks of a memory.- Menu
Click - One click on the local player’s open menu, submitted with
MenuRef::click. - Menu
Slot Backing - What a menu slot shows: where
MenuRef::slot_backingsays its stack lives. - Minecart
Kind - Which minecart an entity is: one per vanilla
AbstractMinecartsubclass. - MobCategory
- The category of an entity’s type (
MobCategory,EntityType.getCategory): what natural spawning counts it as. Every kind that isn’t a mob isMisc, except the ender dragon, aMonster. - MobFilter
- The player, or mobs of the given species: the class filter of a
GoalSpec::NearestTargetand of aGoalSpec::AvoidEntity. The species ids are namespaced (minecraft:zombie); a bare id reads asminecraft:‘s, like the effects’ ids. - ModEvent
- What happened to a mod’s claimed item, oldest first.
- Model
Error - Why a standalone model could not be resolved or drawn. Errors append no geometry.
- Modifier
Lifetime - 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. - Mouse
Button - The mouse button used to pick up or place a stack.
- Neighbour
Update - A neighbour update a block asks for when it is removed, each the one vanilla’s own removal
uses (
Level.updateNeighborsAt,updateNeighborsAtExceptFromFacing,updateNeighbourForOutputSignal). - Noise
Block - A noise-column block, classified by the questions structures ask.
- Note
Instrument - A note block’s instrument (
NoteBlockInstrument), fornote_block_play, in theinstrumentproperty’s order. - Pack
Finder Error - A registration that the repository could not accept. No partial pack is added.
- Pack
Position - Where an always-active pack enters a selection that does not already name it.
- Pack
Source - How a pack is labelled in the selection screen. Feature packs also appear among the world’s experiments when their metadata declares feature flags.
- Pack
Type - Which repository is being discovered.
- Package
Kind - Whether a package contains compiled code or content alone.
- Panel
Event - What the player did on a native mod’s panel (
native_panel_event). - Particle
Blend - How a
ParticleGroup’s particles blend: the layer they draw on, which decides their order against the translucent terrain (SingleQuadParticle.Layer). - Particle
Status ParticleStatus: how many particles a client shows.- Path
Computation Type PathComputationType: what a path is computed for.- Path
Type 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.- Payload
Decode Error - Why a payload body is not a value of its type. The value is dropped and its handler does not run.
- Payload
Direction - Which way a payload travels.
- Payload
Encode Error - Why a value was not encoded. Nothing is sent.
- Payload
Phase - The phases a payload is declared for.
- Payload
Send Error - Why a typed payload was not accepted for sending. Nothing was sent.
- Peer
Policy - Whether a peer must know a payload to be admitted.
- Permission
Level PermissionLevel: how much a player may do, asop-permission-leveland the operator list name it.- Phantom
Spawn Result PlayerSpawnPhantomsEvent.Result: whether the phantom spawner tries a spawn near a player.- Pierce
Level Error - Why a projectile’s pierce level is unavailable.
- Pipeline
Blend - How a pipeline’s fragments join the frame.
- Pipeline
Draw Error - Why a whole pipeline batch was refused; nothing from that batch was appended.
- Pipeline
Vertex Format - The vertex data a pipeline’s draws carry.
- Placement
- What an
entity_placewrites: one block, or the blocks of a multi-block placement (EntityMultiPlaceEvent). - Player
Action - 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 anActionOutcome, or anActionRefusedwhen 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 itsgetDefaultDimensionsdoes; a stance a species never takes answers its standing box.- Progress
Type - How a criterion’s advancement progress changed.
- Push
Reaction - PushReaction in a load-time content declaration.
- Raid
Status - Where a raid stands (
Raid.RaidStatus). - Random
Ticks - RandomTicks in a load-time content declaration.
- Rarity
- Rarity in a load-time content declaration.
- Recipe
Book Display - Vanilla’s five recipe display layouts, independent of the recipe’s JSON.
- Recipe
Book Identity - Typed identity reported at the one settings-change moment.
- Recipe
Book Layout - Menu-owned roles, never indices into the appended player inventory.
- Recipe
Input - Typed input to the engine’s matched recipe lookup. Slot order is significant.
- Recipe
Json Error - Refusal when decoding a recipe-file field.
- Recipe
Lookup Error - A refusal distinct from a valid input with no matching recipe.
- Recipe
Rule - 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
Stonecuttinghas 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 bycrate::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. - Recipe
Slot Display - What one slot in a recipe display shows. Resource references use names, never process-local registry ordinals. The host resolves these at recipe load.
- Recipe
Transfer Result - What a recipe viewer’s transfer into the open crafting grid does or would
do (
RecipesClientHost::transfer_recipe,transfer_recipe_check). - Recipe
Trim Pattern - 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.Reductionnames it. - Reduction
Change - How a modifier changes what a reduction took (NeoForge’s
IReductionsModifier, as plain data so it also crosses into a wasm mod). - Registration
Read Error - Why a registration read was refused.
- Reload
Order Error - A problem registering or ordering reload listeners.
- Removal
Reason - Why a mod removes an entity (
Entity.RemovalReason): the two reasons that destroy it. The unloading and dimension-change reasons belong to the game. - Render
Level Stage - Where in the world’s frame a stage’s geometry is drawn: NeoForge 26.3’s
RenderLevelStageEventstages Horizon draws, in the order the frame reaches them. - Render
Pipeline Error - Why a pipeline could not be resolved or drawn with.
- Render
Shape - RenderShape in a load-time content declaration.
- Schedule
Error - Why a task was not scheduled.
- Screen
Opening - What a mod answers to
screen_opening(ScreenEvent.Opening): the screen that was about to open does not. The first mod to answer wins. - Send
Packet Error - Why the client could not submit a play packet.
- Sentiment
- Tooltip color semantics for an attribute change.
- Server
Tick Phase - The tick phases carry whether the world runs, including frozen steps.
- Setting
Error - Why a setting was refused at registration.
- Setting
Kind - What a setting is, with its default.
- Setting
Value - A setting’s value, as the game keeps it and the mod reads it.
- Shape
Entity Kind - Entity category selecting a load-time shape override.
- Side
- Which installations must carry a package, not the executing host’s side.
- Sleep
Problem Player.BedSleepingProblemasCanContinueSleepingEvent.getProblemreports it.- Sound
Attenuation - How a sound fades with distance (
SoundInstance.Attenuation). - Sound
Source - The mixer group a sound plays on (
SoundSource), in vanilla’s order. - Sound
State - Where a mod’s sound is (
SoundRef’sstate). - Spawn
Check - What a mod answers a spawn check (
MobSpawnEvent.PositionCheck.ResultandMobSpawnEvent.SpawnPlacementCheck.Result, one type for both). - Spawn
Group 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.- Spawn
Light - How bright a spot a mod entity type needs to spawn.
- Spawn
Placement Error - Why a spawn placement declaration was refused
(
Registrar::declare_spawn_placement). - Spawn
Placement Type - Where a mod entity type stands to spawn (
SpawnPlacementType):SpawnPlacements.isSpawnPositionOk’s first check. - Spawn
Reason - Why a mob spawns (
EntitySpawnReason). - Spawn
Source - What spawned a mob, where
EntitySpawnReasonalone does not say (FinalizeSpawnEvent.getSpawner). - Spawner
- The spawner block that asked for a spawn check (
MobSpawnEvent.PositionCheck.getSpawner): whatmob_spawn_placement_checkandmob_spawn_position_checkget when a block spawns the mob. Natural spawning, chunk generation, patrols, sieges, reinforcements and a spawner minecart have none. - Spawner
Entry - One entry of a level’s custom spawner list.
- Spawner
Error - A list of spawners could not be made.
- Spawner
Kind - A spawner vanilla runs for every level (
MinecraftServer’s custom spawners). - Sprite
Source Output - One step a mod’s sprite source takes on the atlas it is listed in, as vanilla’s
SpriteSource.Outputtakes them.Hooks::sprite_sourcepushes them in order, and they apply under the built-in sources’ rule: a sprite of an id listed already replaces the earlier one. - Stack
Error - A stack operation could not represent the requested count.
- Stack
Write Error - Why the game refused to accept an owned stack at a write boundary.
- Stat
Type - 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 aminecraft:customstat). - State
Match Error - An invalid constraint, identifying its index in the supplied list.
- Structure
Mirror - Mirror applied before rotating a template.
- Structure
Rotation - Rotation of a template about its origin.
- Support
Type - The support area tested on a block face.
- Swap
With - 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’sByteBuf.writeFloat). Loading, like vanilla’s valueOf factories, normalizes negative zero to positive zero. - Tags
Update Cause - What made a
tags_updatednotice fire (TagsUpdatedEvent’s two subclasses). - Terrain
Material - Which terrain material a
TerrainModelOptionsdraw uses. - Terrain
Model Error - Why
BlockEntityDrawContext::terrain_modeldrew nothing. A refused draw appends no geometry. - Terrain
Shade - How a
TerrainModelOptionsdraw shades faces by their direction. Light never changes it: a full-bright model stays shaded. - Text
Alignment Display.TextDisplay.Align.- Text
Form Error - A refused Text crossing. No partially converted fields are written.
- Text
Hover - A text component’s hover action.
- Texture
Atlas - An atlas the client stitches its sprites into (vanilla’s
TextureAtlas), astexture_atlas_stitchednames it. Horizon packs vanilla’s many atlases into these two. - Ticket
Owner - What a ticket belongs to: a block (a machine) or an entity.
- Tint
Layer - One layer of a block’s tint list: one of vanilla’s sources or a mod’s own.
- Tint
Source - 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). - Toast
Kind - The family of a client notification entering the toast queue.
- Tool
Ability - Tool action requested by a block interaction.
- Tooltip
Element - One element of an item’s tooltip as
render_tooltip_gather_componentshands it over, before any wrapping (Either<FormattedText, TooltipComponent>). Text deeper than 512 nodes refuses tooltip conversion before any changed element is drawn. - Tooltip
Placement - Where a component’s lines go among the other components’ lines (NeoForge’s
registerComponentAppenderBeforeAll,Before,AfterandAfterAll).BeforeandAftername 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; theregisterAppender(TooltipLocation, ...)overload is not represented. - TriState
- NeoForge’s
TriState: force a part of an action off or on, or leave it to vanilla. - Trigger
Criterion Error - Why
PlayerRef::trigger_criterionwas refused. - Unspawned
MobError - Why a read or an edit of an unspawned mob was refused.
- UseAnimation
- UsePhase
- The behaviour about to run in
UseItemOnBlockEvent. - Vanilla
Tint - One of vanilla’s tint sources (
BlockTintSources), as the game colours its own blocks with it. - World
Depth - Whether world geometry is hidden by nearer world surfaces.
- World
Phase - The world phases (
native_world_lifecycle’sphase). 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
listanswers 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, asSimpleEnergyHandler): 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 entitiesEntitySelector.CONTAINER_ENTITY_SELECTORpicks, with the slotsENTITY_ITEMSgives 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’sInventorynumbers 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, asITEMS’ 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 throughregister_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 theirWorldlyContainersides, and a mod block entity’sblock_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 withItemPlace::capability, whose changes rewrite the item there with anexchangeof 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 anexchangeof one, so from a stack of more than one the changed item splits off. The game answers it for vanilla’s buckets (NeoForge’sBucketResourceHandler): 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 anexchangeof one, so from a stack of more than one the changed item splits off. The game answers it for an item withitem_containerslots, kept in itsminecraft:container. - MAX_
PENDING_ TASKS - How many tasks one mod may have waiting at once.
- MAX_
RESOURCE_ BYTES - The largest resource
ResourcesHost::resourcereturns, in bytes. A larger winning file reads asNonerather 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::nestedlevel counts one. - PAYLOAD_
MAX_ LIST_ ENTRIES - The most entries of a list read through
PayloadCodecforVec<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§
- ArmPoses
Registrar - Client humanoid pose registrations, shared by native and wasm mods.
- Attachment
Host - The game’s access to each holder’s map: every
AttachmentStoreanswers through it. - Attachment
Queries - Read queries available on either host side.
- Attachment
Queries Mut - Explicit write-through queries, available only on server hosts.
- Attachment
Store - The current server’s holders’ values, erased to what crosses any boundary: the typed
AttachmentTypemethods are built on it, for a native mod and a wasm mod alike. - Attributes
Registrar - 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 orcan_still_usefails, stopped with vanilla’s ownstopAll. One object per mob, built incrate::EntityPart::register_behaviorswherever the brain is built, so nothing of it is saved and a rebuilt brain starts fresh. - Biome
Color Resolver - 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 noHost. - Biome
Modifiers Registrar - Registrar operations for biome modifiers.
- Block
AndTint Getter - 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. - Block
Capability Provider - 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. - Block
Entities Registrar - Registrar operations for block entities.
- Block
Entity Draw Context - What a block entity, mob or player submit hook draws with, in blocks under a pose stack (
PoseStack): one per hook call. - Block
Entity Part - A block’s part that also answers for its block entity, and for the block like a
BlockPart. - Block
Part - A block’s part: code attached through
Registrarto 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 noHooksmethod. They may run on the window’s thread or the server thread. Annotate each part trait implementation withhorizon_partto derive its subscriptions. - Block
Tint Source - 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. - Block
Tint Sources - The block tint registry
register_block_tint_sourceshands out: NeoForge’sRegisterColorHandlersEvent.BlockTintSources. - Blocks
Registrar - Registrar operations for blocks.
- Camera
Draw Context - What
block_screen_effect_drawdraws with, one per hook call: quads in camera space, in blocks, with+xright,+yup and the camera at the origin looking down-z. It is the space ofScreenEffectRenderer’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. - Cauldron
Fluid Contents - Registrar of the fluid a cauldron block holds (
register_cauldron_fluid_content), as NeoForge’sRegisterCauldronFluidContentEvent. - Cauldron
Interactions - Prepared dispatcher registration, corresponding to NeoForge’s documented
Dispatcherphase. - Chunk
Access - The chunk a generator fills: vanilla’s
ChunkAccess, as far as terrain needs it. Positions are world blocks. - Chunk
Generator - 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. - Client
Host - What only the client’s hooks are given: the client’s own services.
- Client
Reload Listener - A client-side
SimplePreparableReloadListener, asServerReloadListenerreads 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. - Client
Reload Listeners - The client reload’s listener registry, as
add_client_reload_listenershands 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. - Client
Session - The client_session service, reached through its host.
- Clientbound
Payloads - 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.
- Color
Resolvers - The colour resolver registry
register_color_resolvershands out: NeoForge’sRegisterColorHandlersEvent.ColorResolvers. - Command
Argument Type - A command argument type a mod registers: how one kind of argument is validated and completed.
- Command
Arguments Registrar - 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.
- Config
Files - The calling mod’s files in
config/: read, write, list and stat. Every call takes&self, so reads and writes work through&dyn Hoston 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. - Criterion
Context - One open criterion being tested during
PlayerRef::trigger_criterion. - Criterion
Test - A mod’s predicate for its advancement trigger, supplied as an
Arc<dyn CriterionTest>toPlayerRef::trigger_criterion. - Data
Load Context - 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 (throughDataMap::Entry), and how a value decodes. - Data
MapEntry - A registry entry a data map can attach a value to:
ItemKey(minecraft:item) andBlockKey(minecraft:block). Sealed: the game holds maps for these registries only. - Datapack
Registries Registrar - Registration of mod-owned datapack registries
(
Registrar::declare_datapack_registry). - Dimensions
Registrar - Registrar operations for dimensions.
- Draw
Context - What the HUD, screen and tooltip hooks draw with, in GUI pixels: one per hook call.
- Effects
Registrar - Registrar operations for effects.
- Enchantment
Damage Effect - 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.
- Enchantment
Damage Effects - Startup registrar for namespaced enchantment damage effects.
- Energy
Handler - A block’s energy (NeoForge’s
EnergyHandler): stateless, given the host, and written only in a transaction, as aResourceHandleris. - Entities
Registrar - Registrar operations for entities.
- Entity
Attributes Registrar - Registrar operations for entity attributes.
- Entity
Capability Provider - What answers an entity capability for one entity type: given the entity and the lookup’s
context (its
EntityCapabilityKey’sC), its handler, or none to leave it to the next provider. A closure is one. - Entity
Part - An entity type’s part (arismoko/horizon#1077): code attached through
RegistrationContext::entity_partto one entity type, a mod’s own or vanilla’s (minecraft:zombie). Itsregister_goalsruns at everyMobconstruction of that type, spawned or loaded, right after the species’ own goals — vanilla’sregisterGoalsmoment — and the goals it adds join the mob’s two selectors beside vanilla’s, same priorities and interruption. Itsregister_behaviorsruns wherever a brain-driven species’ brain is built (#824). Itsspawn_cluster_sizeanswers how large a spawn group of the type may grow. Annotate each part trait implementation withhorizon_partto derive its subscriptions; entity parts carry no scoped hook yet, so their subscriptions stay empty whatever they override. - Fluid
Part - A mod world fluid’s part.
- Fluids
Registrar - Registrar operations for fluids.
- Game
Rules Registrar - Registrar operations for game rules.
- Game
Test Function - A function run once at the start of each attempt, with the owning server level.
- Game
Tests - Registration service supplied to the registration hook.
- Generation
Context - The start context a type’s
find_generation_pointsees: vanilla’sGenerationContextover 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_goalsat everyMobconstruction, so a mob loaded from a chunk gets fresh goals and nothing of them is saved). - Ground
Level - What a ground provider reads while the decorator asks it: vanilla’s
WorldGenLevelas far as ground needs it, and the decorator’s random. - Ground
State Provider - 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
docfield. Annotate theimplwith#[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. - Host
Block States - Reaches
BlockStatesfrom any host. - Host
Fluid States - Reaches fluid-state facts from any host.
- Host
Transaction - Transactions are available only on the logical server and preserve the receiver type.
- Instance
Groups - Client-side persistent copies of resolved models.
- Interaction
- NeoForge’s documented
RegisterCauldronInteractionEvent.Interactioncounterpart. 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. - Item
Capability Provider - 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.
- Item
Part - An item’s part.
- Items
Registrar - Registrar operations for items.
- KeyMappings
Registrar - Registrar operations for key mappings.
- Level
Host - Read-only level services, like vanilla’s
LevelReader. - Level
Random Host - Access vanilla’s
Level.random, so draws come in vanilla’s order. - Level
Ticks Host - A
LevelReaderwith vanilla’sScheduledTickAccess. Shape updates cannot write blocks. - Level
Write Host - Mutable level services, like vanilla’s
ServerLevel. - Levels
- The levels service, reached through its host.
- Load
Reader - Immutable resource-generation reads supplied by an owning loader.
- Loop
Context - 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.
- Loop
Reader - Immutable resource-generation reads supplied by an owning loop.
- Menu
Part - A mod menu type’s part.
- Menus
Registrar - 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, asNoneandfalseare for the others. - Pack
Finders - The typed builder handed to
add_pack_finders, rebuilt for each discovery. Registration performs no resource reload and does not select optional packs. - Particle
Provider - 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 inModParticle::state, not in the provider. - Particle
Providers - The particle provider registry
register_particle_providershands out: NeoForge’sRegisterParticleProvidersEvent. - Particles
Registrar - Load-owned particle key requests, resolved before any world can emit particles.
- Payload
Codec - A value with a payload form: the pure codec of a typed payload. Both
functions see only the buffer, never a
Host;decodemust leave the reader just past the value and must not keep any of its input. - Piece
Context - The placement context a piece’s
post_processand a type’safter_placesee: the blocks and entities of one chunk, the piece’s random and what the blocks around it are made of. - Place
Provider - A mod’s own places (
ItemPlace::Mod), registered withRegistrar::place_provider: NeoForge’s ownItemAccesss. 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.
- PoiType
Extensions - Registrar of the block states a mod adds to vanilla POI types (
extend_poi_types). - Random
Source - Recipe
Books Registrar - Operations available during the existing shared mod registration phase.
- Registrar
- What a mod’s
Hooks::registerattaches 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. - Reload
Apply - Infallible publication, run once, only after every listener prepared successfully: what a
listener’s
preparehands 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. - Render
Assets - The render_assets service, reached through its host.
- Resource
Handler - 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 transactiontxa 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. - Section
Geometry - A mod’s extra section geometry: NeoForge’s
AdditionalSectionGeometryRenderer. - Section
Geometry Context - One section a
SectionGeometryadds 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. - Section
Geometry Renderers - The renderer registry
add_section_geometryhands out. - Server
Host - What only the server’s hooks are given: writes to the world.
- Server
Reload Listener - 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. - Server
Reload Listeners - The server reload’s listener registry, as
add_server_reload_listenershands 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. - Server
Reload Resources - The retained server reload listeners of the last successful reload, as
NeoForge’s
ReloadableServerResources, reached fromServerHost::reload_resources. A new reload replaces the whole store. - Serverbound
Payloads - 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.
- Settings
Registrar - Registrar operations for settings.
- Spawn
Placements Registrar - Registrar operations for spawn placements.
- Structure
Piece - One piece of a mod’s structure: vanilla’s
StructurePiece. Itssaveis the engine’s (StructurePiece.createTag: the type id,BB,O,GD) aroundadd_additional_save_data. - Structure
Random - The random a structure type or piece draws from, in vanilla’s order: the
chunk’s
WorldgenRandomfor a start, the piece’sRandomSourcefor a piece. - Structure
Type - 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. - Structures
Registrar - 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
Nonebefore authoritative tags are loaded, on a client before its server’s are applied, or while their key table is unavailable. - Ticket
Validation - The tickets one controller loaded, as
validate_ticketshands them out (NeoForge’sTicketHelper, 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. - Tickets
Registrar - Registrar operations for tickets.
- Tooltip
Appender - 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_displayshows it, and only while its mod is enabled. Multiple registrations for the same component all run. - Unspawned
MobEdits - The edits a hook may make to the mob it was lent, beside the handle’s reads.
- World
Draw Context - Per-view untextured geometry, cleared even without listeners;
usagereports fixed setup-time limits shared across listeners and depth modes. - Worldgen
Host - 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
keyand the type of the block entity atat, 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::askthen asks them. - decode_
payload - Decodes the whole of
bodyas oneT: a byte left over isPayloadDecodeError::Trailing. - encode_
payload - Encodes
valueas a whole payload body of at mostlimitbytes. - entity_
providers - The providers mods registered for
keyand the type ofentity, 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::askthen 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
maxenergy out offromintoto(NeoForge’sEnergyHandlerUtil.move), in transactiontx: how much moved. As one step ofmove_resources: all or nothing in a transaction of its own, a movetotakes only part of tried again with that part, and a handler answering more than it was asked ending it withOveranswered. - move_
resources - Moves up to
maxof whatfilteraccepts out offrominto wherevertotakes it, index by index from 0 (NeoForge’sResourceHandlerUtil.move), in transactiontx: how much moved. Each move is all or nothing, in a transaction of its own: whattowon’t take stays infrom, and a movetotakes 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 withOveranswered. - run_
transaction host.transactionfor a host of a known type, whichfgets back: the game’s own moves (a hopper’s) run in one through this.
Type Aliases§
- Attachment
Query - 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 returnOk(None); no default is created.Nonedoes not mean the holder is alive: absent and not-live holders alike returnOk(None)when absent from the snapshot, without a host liveness check. Only scoped residency probes reportStaleHolder. - Attachment
Result - Result of accessing or decoding an attachment.
- Attachment
Value - 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.
- Block
Provider - 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. - Entity
Provider - An entity capability provider, as the registrar keeps it.
- Item
Provider - 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 aGamemethod) and a record holding a copy of every parameter as an API value (an engine typemirror(…)names as itsmod_apimirror): the function runs with the record’s by-value and&Tvalues, and a&mut Tparameter’s place gets the record’s value back. A raw listener (raw, native only) gets the receiver and a&mutto every parameter itself. Its return does the same with the value returned; a value that borrows reaches only raw listeners, as itself.freemarks a free function, whose body moves to a sibling function.tablenames the slot table the point is in: the game’smod_pointsby default, or a mod crate’s own generated table for a mod point (#2339). Areplacelistener (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](asmod_api::no_point) on a function of a mod crate:cargo horizon-mod buildgives 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.