Block entity neighbour changes
A block's BlockPart::on_neighbor_change receives the changed block entity's position in neighbor. On authoritative servers, the comparator invalidation walk visits the four horizontal neighbours, skipping unloaded adjacent chunks. Vanilla comparator processing at each cell runs before its part is notified. This is separate from neighbor_changed, the vanilla block neighbour callback.
From the modding book of arismoko/horizonbfbda6a
A block one cell farther through a redstone conductor receives this notice only when its weak_changes part sets receive to true (initially false). This query belongs to the farther block. Reading that cell never loads a chunk.
These correspond to NeoForge's IBlockExtension.onNeighborChange and getWeakChanges. Using the comparator walk and ordering vanilla before parts are fork decisions. With no parts, vanilla's comparator rules are unchanged.
Edit this page on GitHub · Spotted something wrong? Open an issue .