类 CapabilityListenerHolder
java.lang.Object
net.neoforged.neoforge.capabilities.CapabilityListenerHolder
Holder for capability listeners associated to a level.
-
嵌套类概要
嵌套类 -
字段概要
字段修饰符和类型字段说明private final it.unimi.dsi.fastutil.longs.Long2ReferenceMap
<it.unimi.dsi.fastutil.longs.Long2ReferenceMap<Set<CapabilityListenerHolder.ListenerReference>>> Map of chunk pos -> block pos -> listeners map.private final ReferenceQueue
<ICapabilityInvalidationListener> Reference queue for the listener references. -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明void
addListener
(BlockPos pos, ICapabilityInvalidationListener listener) Adds a listener.void
clean()
Poll the reference queue, and remove garbage-collected listener references entries frombyChunkThenBlock
.void
invalidateChunk
(ChunkPos chunkPos) Invalidates listeners at a specific chunk position.private void
void
invalidatePos
(BlockPos pos) Invalidates listeners at a specific block position.
-
字段详细资料
-
byChunkThenBlock
private final it.unimi.dsi.fastutil.longs.Long2ReferenceMap<it.unimi.dsi.fastutil.longs.Long2ReferenceMap<Set<CapabilityListenerHolder.ListenerReference>>> byChunkThenBlockMap of chunk pos -> block pos -> listeners map.We have a two-level map to efficiently invalidate entire chunks at once.
-
queue
Reference queue for the listener references. This allows us to listen to reference garbage collection, and remove empty entries frombyChunkThenBlock
.
-
-
构造器详细资料
-
CapabilityListenerHolder
public CapabilityListenerHolder()
-
-
方法详细资料
-
addListener
Adds a listener. -
invalidatePos
Invalidates listeners at a specific block position. -
invalidateChunk
Invalidates listeners at a specific chunk position. -
invalidateList
-
clean
public void clean()Poll the reference queue, and remove garbage-collected listener references entries frombyChunkThenBlock
.
-