Skip to content

Value event list

Status: Planned. None of the value events on this page exist yet; they will be added in minor API versions, and names and fields may change. What exists today: the action events in Complete event list (some with mutable fields) and mixins on the game’s targets (Mixin targets).

Engine computations that mods may change are published as value events (the simple path; for anything deeper see mixins, Mixins). Value events will be ordinary events whose payload carries the inputs and a mutable result that starts as the vanilla value. Handlers run in priority order; each sees the value left by the previous one and may change it. Nothing replaces engine code, so mods compose and engine updates keep them working.

The event name is the category and the computation (living.fall_damage). The C constant is CL_EV_ plus the name in upper case with . replaced by _, and the payload is cl_ev_<name with . replaced by _>. Each entry lists the vanilla method it mirrors (ref:).

Ctx: T = TICK, P = PARALLEL, R = RENDER, N = NET. Side: S/C/B. With no subscriber an event costs one byte load at its site.

Block

Event Payload fields result Ctx Side ref
block.destroy_progress player, level, pos, state f32 T B BlockBehaviour#getDestroyProgress
block.explosion_resistance level, pos, state, explosion f32 T S Block#getExplosionResistance
block.friction state, entity f32 T B Block#getFriction
block.speed_factor state, entity f32 T B Block#getSpeedFactor
block.jump_factor state, entity f32 T B Block#getJumpFactor
block.light_emission_at level, pos, state u8 T B dynamic light (cached per position)
block.can_survive level, pos, state bool T S BlockBehaviour#canSurvive
block.signal level, pos, state, dir i32 T S getSignal
block.push_reaction state enum T S getPistonPushReaction
block.can_be_replaced state, place_ctx bool T B canBeReplaced
block.fluid_can_spread level, from, to, fluid bool T S FlowingFluid#canSpreadTo
block.crop_growth_chance level, pos, state f32 T S CropBlock#getGrowthSpeed
block.bonemeal_success level, pos, state bool T S BonemealableBlock#isBonemealSuccess

Entity and living

Event Payload fields result Ctx Side ref
entity.travel entity, input motion (mutable) T B LivingEntity#travel
entity.gravity entity f64 T B Entity#getGravity
entity.eye_height entity, pose f32 T B getEyeHeight
entity.pickup_range entity f64 T S item pickup inflate
entity.can_ride entity, vehicle bool T B canRide
entity.is_pushed_by_fluid entity bool T B isPushedByFluid
living.fall_damage entity, fall_distance, multiplier, damage_type i32 T S calculateFallDamage
living.damage_after_armor entity, source, amount f32 T S getDamageAfterArmorAbsorb
living.damage_after_magic entity, source, amount f32 T S getDamageAfterMagicAbsorb
living.knockback entity, strength, x, z vec3 T S knockback
living.jump_power entity f32 T B getJumpPower
living.max_air entity i32 T B getMaxAirSupply
living.can_breathe_underwater entity bool T B canBreatheUnderwater
living.visibility_percent entity, looker f64 T S getVisibilityPercent
living.can_be_affected entity, effect bool T S canBeAffected
mob.despawn_check mob, nearest_player_dist_sq bool T S checkDespawn
mob.spawn_rules type, level, reason, pos bool T S SpawnPlacements#checkSpawnRules
mob.goal_selection mob, selector motion (mutable) T S GoalSelector#tick
mob.experience_reward mob, killer i32 T S getBaseExperienceReward
mob.equipment_drop_chance mob, slot f32 T S getEquipmentDropChance
animal.breeding_cooldown animal i32 T S setAge(6000)

Player

Event Payload fields result Ctx Side ref
player.block_reach player f64 T B the block_interaction_range attribute (post)
player.entity_reach player f64 T B entity_interaction_range
player.dig_speed player, state, pos f32 T B Player#getDestroySpeed
player.has_correct_tool player, state bool T B hasCorrectToolForDrops
player.attack_strength player, partial f32 T B getAttackStrengthScale
player.crit_check player, target bool T S critical-hit condition
player.exhaustion player, amount, cause f32 T S causeFoodExhaustion
player.natural_regen player bool T S FoodData#tick regen condition
player.xp_needed player, level i32 T B getXpNeededForNextLevel
player.respawn_position player pos+level T S respawn resolution
player.can_sleep player, pos enum problem T S startSleepInBed
player.keep_inventory player bool T S death drop decision

World

Event Payload fields result Ctx Side ref
level.is_raining_at level, pos bool T B Level#isRainingAt
level.day_time_step level i64 T S daylight cycle increment
level.random_tick_speed level, section_pos i32 T S the randomTickSpeed rule per section
level.mob_cap level, category i32 T S NaturalSpawner cap
level.explosion_ray explosion, pos, state, power f32 T S ray power decay
level.raid_waves raid, difficulty i32 T S Raid#getNumGroups
level.portal_search_radius level, portal_type i32 T S portal forcer radius

Worldgen

Event Payload fields result Ctx Side ref
worldgen.biome_at qx, qy, qz, source_result, level_key ident P S after BiomeSource#getNoiseBiome
worldgen.feature_should_place placed_feature, origin, region bool P S before PlacedFeature#place
worldgen.structure_spacing structure_set spacing P S StructurePlacement

Network

Event Payload fields result Ctx Side ref
net.block_state_remap state, player (connection) state N S per-connection chunk and block-update encode
net.item_remap stack, player stack N S slot and equipment encode
net.entity_type_remap entity, player type + metadata N S add-entity encode
net.server_status status status N S status response

Client (RENDER unless noted)

Client value events can be subscribed and unsubscribed at any time, so a client feature that is turned off has no subscription and costs nothing.

Event result Use
client.fov f32 zoom, FOV effects
client.camera pos, rot freelook
client.fog params fog changes
client.sky_color, client.cloud_color, client.cloud_height colour, f32 sky
client.lightmap colour per texel brightness
client.hand_transform mat4 hand and shield position
client.block_outline colour and width outlines
client.item_entity_transform mat4 item physics
client.name_tag text and visibility nick hider
client.screen_blur f32 menu blur
client.tooltip_lines list tooltip edits (also the item.tooltip event)
client.f3_lines list debug lines
client.chat_line_format text timestamps
client.chat_width i32 chat size
client.sound_volume f32 per-category volume (C, audio thread snapshot)
client.entity_glow bool + colour outlines and ESP-style glows (opt-in visuals)
client.entity_tint colour per-entity colour multiplier (hit colour, team tints)
client.should_render_entity bool culling tweaks (must never hide visible vanilla content when the feature is off)

New value events are added in minor API versions. Each one carries @since in clight.idl.