port_map: clear five stale classes-03 rows

The ticket rows were marked missing because portal tickets were said not to
be modelled. ticket_levels.rs has them: ChunkTickets::add_portal adds the
PORTAL ticket placePortalTicket places (same type and level restarts the
300-tick timeout, else the ticket is added) and is the one addTicketWithRadius
call, at the fixed radius 3. levels_to_tick keeps a dimension ticking while a
portal ticket is in it, which is shouldKeepDimensionActive.

EntityBasedExplosionDamageCalculator.getBlockExplosionResistance is the
source-side override exploded_positions applies: a passed-in resistance for one
block (the respawn anchor's water-like block), the wither skull's 0.8 cap and
the TNT minecart's rail exemption.

AttachedStemBlock.getCloneItemStack picks the stem's seed, which
block_items::clone_item does.
This commit is contained in:
MSedgeMC committed 2026-11-02 09:10:49 +00:00
1 parent ce8d86cb23
commit d0bdadacba
1 file changed
+5 -5
+5 -5
View File
@@ -7,7 +7,7 @@ BlockCollisions.getChunk inline crates/horizon-world/src/block_collision_scan.rs
CardinalLighting.byFace port crates/horizon-client-render/src/mesher/lighting.rs::cardinal per-face directional shade; nether flag handled in the same fn
ClipContext.getFluidShape inline crates/horizon-world/src/world_ray.rs::clip_world pick_fluid decides canPick; the shape is clipped in clip_world
ColorMapColorUtil.get port crates/horizon-client-render/src/biome.rs::sample colormap lookup by temperature and downfall
EntityBasedExplosionDamageCalculator.getBlockExplosionResistance missing unsure: source-entity overrides (wither skull, minecart TNT, primed TNT keeping nether portals) are not read; explosion_hit_block uses the block's own resistance
EntityBasedExplosionDamageCalculator.getBlockExplosionResistance port crates/horizon-client/src/game/explosion.rs::Game::exploded_positions the blast source's own override: one block's resistance is passed in (the respawn anchor's water-like block), a dangerous wither skull caps a destroyable block at 0.8 and a TNT minecart spares rails
ExplosionDamageCalculator.getEntityDamageAmount inline crates/horizon-client/src/game/explosion.rs::Game::explosion_hurt_entities damage formula inline; the player copy is in explosion_hurt_player
LevelSettings.copy skip:java immutable record copy; Horizon keeps level fields on its own struct
LevelSettings.parse port crates/horizon-client/src/save.rs::Level::read reads difficulty, lock, allowCommands and game type from level.dat
@@ -20,8 +20,8 @@ PathNavigationRegion skip:other pathfinding reads the live level (mobs/path.rs)
SimpleExplosionDamageCalculator.getBlockExplosionResistance inline crates/horizon-client/src/game/wind.rs::Game::wind_positions gap: minor: only the wind charge tag stops the rays; enchantment immune_blocks are not read
SimpleExplosionDamageCalculator.getKnockbackMultiplier inline crates/horizon-client/src/game/wind.rs::Game::wind_push_player creative-flying zero is here; the enchantment multiplier is in post_attack_bursts (enchant_effects.rs)
TicketStorage.activateAllDeactivatedTickets skip:other no deactivated-ticket state; ticket_levels.rs recomputes from players and forced chunks
TicketStorage.addTicket missing unsure: portal and teleport tickets are not modelled; ticket_levels.rs counts only players and forced chunks
TicketStorage.addTicketWithRadius missing unsure: radius tickets (portal, teleport) are not modelled; ticket_levels.rs counts only players and forced chunks
TicketStorage.addTicket port crates/horizon-client/src/ticket_levels.rs::ChunkTickets::add_portal the PORTAL ticket `Entity.placePortalTicket` adds: same type and level restarts the 300-tick timeout (`Ticket.resetTicksLeft`), else the ticket is added
TicketStorage.addTicketWithRadius inline crates/horizon-client/src/ticket_levels.rs::ChunkTickets::add_portal the one radius add is `addTicketWithRadius(PORTAL, pos, 3)`, so the radius is the fixed `PORTAL_RADIUS` and the level is `FULL - 3` in ticket_levels::compute
TicketStorage.canTicketExpire skip:other ticket expiry is not modelled; no timed tickets in ticket_levels.rs
TicketStorage.deactivateTicketsOnClosing skip:other chunk-unload bookkeeping; no per-ticket state
TicketStorage.forEachTicket skip:other iteration over stored tickets; ticket_levels.rs walks its own sources
@@ -38,7 +38,7 @@ TicketStorage.removeTicket inline crates/horizon-client/src/game/commands/terrai
TicketStorage.removeTicketIf skip:other predicate removal over stored tickets; forced chunks are changed by cmd_forceload
TicketStorage.removeTicketWithRadius missing unsure: radius tickets (portal, teleport) are not modelled
TicketStorage.replaceTicketLevelOfType skip:other re-levels stored tickets; ticket_levels.rs computes levels from positions
TicketStorage.shouldKeepDimensionActive missing unsure: whether a dimension stays ticking because of forced chunks was not checked
TicketStorage.shouldKeepDimensionActive port crates/horizon-client/src/game/levels.rs::Game::levels_to_tick a dimension with a portal ticket keeps ticking with no player in it
TicketStorage.updateChunkForced inline crates/horizon-client/src/game/commands/terrain_cmds.rs::Game::cmd_forceload the per-chunk add or remove of a forced chunk
TicketStorage.updateForcedChunks inline crates/horizon-client/src/save.rs::SaveDir::load_forced_chunks gap: minor: restores the saved forced set on load; no forced-chunk packet is sent here
BiomeSpecialEffects.Builder.build skip:java builder for biome effects; Horizon reads the effects from biome data (biome.rs)
@@ -62,7 +62,7 @@ AmethystClusterBlock.getFluidState port crates/horizon-world/src/registry_fluid.
AmethystClusterBlock.getStateForPlacement port crates/horizon-world/src/level/place.rs::Sim::placement_class
AmethystClusterBlock.rotate port crates/horizon-world/src/worldgen/structure.rs::StateTransforms::rotate
AmethystClusterBlock.updateShape port crates/horizon-world/src/level/shapes.rs::Sim::update_shape_class
AttachedStemBlock.getCloneItemStack missing unsure: middle-click pick of an attached stem; pick_item.rs was not checked for block-to-item picks
AttachedStemBlock.getCloneItemStack port crates/horizon-client/src/game/block_items.rs::clone_item an attached pumpkin or melon stem picks its seed, since a stem has no block item
AttachedStemBlock.rotate port crates/horizon-world/src/worldgen/structure.rs::StateTransforms::rotate
AttachedStemBlock.updateShape port crates/horizon-world/src/level/shapes.rs::Sim::update_shape_class
AzaleaBlock.isBonemealSuccess port crates/horizon-world/src/level/bonemeal.rs::Sim::bonemeal_success
1 TradeRebalanceVillagerTrades skip:data rebalanced villager trade definitions are data; Horizon reads trade_set JSON (merchant.rs Trades::load)
7 CardinalLighting.byFace port crates/horizon-client-render/src/mesher/lighting.rs::cardinal per-face directional shade; nether flag handled in the same fn
8 ClipContext.getFluidShape inline crates/horizon-world/src/world_ray.rs::clip_world pick_fluid decides canPick; the shape is clipped in clip_world
9 ColorMapColorUtil.get port crates/horizon-client-render/src/biome.rs::sample colormap lookup by temperature and downfall
10 EntityBasedExplosionDamageCalculator.getBlockExplosionResistance missing port crates/horizon-client/src/game/explosion.rs::Game::exploded_positions unsure: source-entity overrides (wither skull, minecart TNT, primed TNT keeping nether portals) are not read; explosion_hit_block uses the block's own resistance the blast source's own override: one block's resistance is passed in (the respawn anchor's water-like block), a dangerous wither skull caps a destroyable block at 0.8 and a TNT minecart spares rails
11 ExplosionDamageCalculator.getEntityDamageAmount inline crates/horizon-client/src/game/explosion.rs::Game::explosion_hurt_entities damage formula inline; the player copy is in explosion_hurt_player
12 LevelSettings.copy skip:java immutable record copy; Horizon keeps level fields on its own struct
13 LevelSettings.parse port crates/horizon-client/src/save.rs::Level::read reads difficulty, lock, allowCommands and game type from level.dat
20 SimpleExplosionDamageCalculator.getBlockExplosionResistance inline crates/horizon-client/src/game/wind.rs::Game::wind_positions gap: minor: only the wind charge tag stops the rays; enchantment immune_blocks are not read
21 SimpleExplosionDamageCalculator.getKnockbackMultiplier inline crates/horizon-client/src/game/wind.rs::Game::wind_push_player creative-flying zero is here; the enchantment multiplier is in post_attack_bursts (enchant_effects.rs)
22 TicketStorage.activateAllDeactivatedTickets skip:other no deactivated-ticket state; ticket_levels.rs recomputes from players and forced chunks
23 TicketStorage.addTicket missing port crates/horizon-client/src/ticket_levels.rs::ChunkTickets::add_portal unsure: portal and teleport tickets are not modelled; ticket_levels.rs counts only players and forced chunks the PORTAL ticket `Entity.placePortalTicket` adds: same type and level restarts the 300-tick timeout (`Ticket.resetTicksLeft`), else the ticket is added
24 TicketStorage.addTicketWithRadius missing inline crates/horizon-client/src/ticket_levels.rs::ChunkTickets::add_portal unsure: radius tickets (portal, teleport) are not modelled; ticket_levels.rs counts only players and forced chunks the one radius add is `addTicketWithRadius(PORTAL, pos, 3)`, so the radius is the fixed `PORTAL_RADIUS` and the level is `FULL - 3` in ticket_levels::compute
25 TicketStorage.canTicketExpire skip:other ticket expiry is not modelled; no timed tickets in ticket_levels.rs
26 TicketStorage.deactivateTicketsOnClosing skip:other chunk-unload bookkeeping; no per-ticket state
27 TicketStorage.forEachTicket skip:other iteration over stored tickets; ticket_levels.rs walks its own sources
38 TicketStorage.removeTicketIf skip:other predicate removal over stored tickets; forced chunks are changed by cmd_forceload
39 TicketStorage.removeTicketWithRadius missing unsure: radius tickets (portal, teleport) are not modelled
40 TicketStorage.replaceTicketLevelOfType skip:other re-levels stored tickets; ticket_levels.rs computes levels from positions
41 TicketStorage.shouldKeepDimensionActive missing port crates/horizon-client/src/game/levels.rs::Game::levels_to_tick unsure: whether a dimension stays ticking because of forced chunks was not checked a dimension with a portal ticket keeps ticking with no player in it
42 TicketStorage.updateChunkForced inline crates/horizon-client/src/game/commands/terrain_cmds.rs::Game::cmd_forceload the per-chunk add or remove of a forced chunk
43 TicketStorage.updateForcedChunks inline crates/horizon-client/src/save.rs::SaveDir::load_forced_chunks gap: minor: restores the saved forced set on load; no forced-chunk packet is sent here
44 BiomeSpecialEffects.Builder.build skip:java builder for biome effects; Horizon reads the effects from biome data (biome.rs)
62 AmethystClusterBlock.getStateForPlacement port crates/horizon-world/src/level/place.rs::Sim::placement_class
63 AmethystClusterBlock.rotate port crates/horizon-world/src/worldgen/structure.rs::StateTransforms::rotate
64 AmethystClusterBlock.updateShape port crates/horizon-world/src/level/shapes.rs::Sim::update_shape_class
65 AttachedStemBlock.getCloneItemStack missing port crates/horizon-client/src/game/block_items.rs::clone_item unsure: middle-click pick of an attached stem; pick_item.rs was not checked for block-to-item picks an attached pumpkin or melon stem picks its seed, since a stem has no block item
66 AttachedStemBlock.rotate port crates/horizon-world/src/worldgen/structure.rs::StateTransforms::rotate
67 AttachedStemBlock.updateShape port crates/horizon-world/src/level/shapes.rs::Sim::update_shape_class
68 AzaleaBlock.isBonemealSuccess port crates/horizon-world/src/level/bonemeal.rs::Sim::bonemeal_success