Slabbed — Neighbor Update Map
Goal
Maintain a living map of the update paths that can invalidate placement and cause pop-offs. Use this to prevent “it places but later breaks” regressions.
When to run
- •When a category places correctly but breaks later
- •After changing any survival predicate hook
- •Before tagging
slabbed-<category>-passfor update-sensitive categories (redstone, rails, plants)
Update trigger catalog
For each category under test, explicitly test these triggers and record PASS/FAIL:
1) Below block change
- •Break the supporting slab
- •Replace supporting slab with a different slab type (bottom ↔ top)
- •Replace slab with full block and back
2) Adjacent block change (horizontal)
- •Place a full block next to the object
- •Break that adjacent block
- •Repeat on all four sides if shape/connection matters
3) Above block change
- •Place a block above (if possible)
- •Remove it This matters for some plants/stacking logic.
4) Scheduled tick / random tick
- •If the block uses ticking logic, wait and observe
- •For plants, use bone meal if relevant and observe stability
5) Fluid update adjacency
- •Place water adjacent
- •Remove water
- •If waterlogging is relevant, test that explicitly
6) Redstone neighbor propagation (if relevant)
- •Toggle a nearby power source
- •Observe whether revalidation happens and whether the object survives
7) Piston-induced updates (optional but useful)
- •Push/pull an adjacent full block to create neighbor updates
- •Do not require the supported object itself to be moved
8) Chunk unload/reload
- •Fly far enough to unload chunk
- •Return and confirm it is still present
How to build the map
For each category, fill in:
- •Category:
- •Placement predicate location (Yarn):
- •Survival predicate location (Yarn):
- •Triggers that caused revalidation:
- •Triggers that caused failure:
- •Best hook point to intercept revalidation:
- •Notes on strict visuals impact:
Output format (required)
- •Category:
- •Full lane: PASS/FAIL
- •Bottom slab lane: PASS/FAIL
- •Top slab lane: PASS/FAIL
- •Failures:
- •Trigger:
- •What broke:
- •Repro steps:
- •Suspected hook target(s) (Yarn class and method):
- •Next change proposed (one sentence):
Stop conditions
- •If failures differ by trigger type, do not “patch randomly”
- •First identify the exact survival recheck path and only then change hooks
- •If a shared hook fixes one category but breaks another, revert and go targeted