Package net.minecraft.util.collection
Class LinkedBlockPosHashSet
java.lang.Object
java.util.AbstractCollection<Long>
it.unimi.dsi.fastutil.longs.AbstractLongCollection
it.unimi.dsi.fastutil.longs.AbstractLongSet
it.unimi.dsi.fastutil.longs.AbstractLongSortedSet
it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet
net.minecraft.util.collection.LinkedBlockPosHashSet
- All Implemented Interfaces:
Hash,LongBidirectionalIterable,LongCollection,LongIterable,LongSet,LongSortedSet,Serializable,Cloneable,Iterable<Long>,Collection<Long>,Set<Long>,SortedSet<Long>
Represents a set of block positions (long representation).
Uses a Long2LongLinkedOpenHashMap as its internal storage medium
to facilitate the quick addition and removal of block positions.
Positions are index into a 2x cubed area that then stores as a long, a bitset representing which positions within that area are currently set.
This has two major advantages:
- Positions that are geometrically close together are grouped together in memory. This localizes adjacent reads and writes.
- A larger number of positions can be comprised together into one long allowing for a smaller memory footprint.
- See Also:
- Mappings:
Namespace Name official dumintermediary net/minecraft/class_6136named net/minecraft/util/collection/LinkedBlockPosHashSet
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprotected static classRepresents a three-dimensional mapping from a block position to a bitset of values set at that position.Nested classes/interfaces inherited from interface it.unimi.dsi.fastutil.Hash
Hash.Strategy<K extends Object> -
Field Summary
FieldsFields inherited from class it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet
containsNull, f, first, key, last, link, mask, maxFill, minN, n, sizeFields inherited from interface it.unimi.dsi.fastutil.Hash
DEFAULT_GROWTH_FACTOR, DEFAULT_INITIAL_SIZE, DEFAULT_LOAD_FACTOR, FAST_LOAD_FACTOR, FREE, OCCUPIED, PRIMES, REMOVED, VERY_FAST_LOAD_FACTOR -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanadd(long posLong) Marks a block position as "set".booleanisEmpty()Checks whether there are any block positions that have been "set".booleanrem(long posLong) Marks a block position as "not set".longPops first block position off of this set.intsize()Methods inherited from class it.unimi.dsi.fastutil.longs.LongLinkedOpenHashSet
addAll, addAll, addAndMoveToFirst, addAndMoveToLast, clear, clone, comparator, contains, firstLong, fixPointers, fixPointers, forEach, hashCode, headSet, iterator, iterator, lastLong, of, of, of, of, of, rehash, remove, removeLastLong, shiftKeys, spliterator, subSet, tailSet, toSet, toSetWithExpectedSize, trim, trimMethods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongSet
equalsMethods inherited from class it.unimi.dsi.fastutil.longs.AbstractLongCollection
add, contains, containsAll, containsAll, forEach, remove, removeAll, removeAll, removeIf, retainAll, retainAll, toArray, toLongArray, toLongArray, toStringMethods inherited from class java.util.AbstractCollection
toArray, toArrayMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
toArrayMethods inherited from interface it.unimi.dsi.fastutil.longs.LongCollection
containsAll, longIterator, longParallelStream, longSpliterator, longStream, parallelStream, removeAll, removeIf, removeIf, removeIf, retainAll, stream, toArray, toLongArray, toLongArrayMethods inherited from interface it.unimi.dsi.fastutil.longs.LongIterable
forEach, forEach
-
Field Details
-
buffer
- Mappings:
Namespace Name Mixin selector official aLdum;a:Ldum$a;intermediary field_31715Lnet/minecraft/class_6136;field_31715:Lnet/minecraft/class_6136$class_6137;named bufferLnet/minecraft/util/collection/LinkedBlockPosHashSet;buffer:Lnet/minecraft/util/collection/LinkedBlockPosHashSet$Storage;
-
-
Constructor Details
-
LinkedBlockPosHashSet
public LinkedBlockPosHashSet(int expectedSize, float loadFactor) - Mappings:
Namespace Name Mixin selector official <init>Ldum;<init>(IF)Vintermediary <init>Lnet/minecraft/class_6136;<init>(IF)Vnamed <init>Lnet/minecraft/util/collection/LinkedBlockPosHashSet;<init>(IF)V
-
-
Method Details
-
add
public boolean add(long posLong) Marks a block position as "set".- Specified by:
addin interfaceLongCollection- Overrides:
addin classLongLinkedOpenHashSet- Mappings:
Namespace Name Mixin selector official addLdum;add(J)Zintermediary addLnet/minecraft/class_6136;add(J)Znamed addLnet/minecraft/util/collection/LinkedBlockPosHashSet;add(J)Z
-
rem
public boolean rem(long posLong) Marks a block position as "not set". Effectively removing it from this collection.- Specified by:
remin interfaceLongCollection- Specified by:
remin interfaceLongSet- Overrides:
remin classAbstractLongSet- Mappings:
Namespace Name Mixin selector official remLdum;rem(J)Zintermediary remLnet/minecraft/class_6136;rem(J)Znamed remLnet/minecraft/util/collection/LinkedBlockPosHashSet;rem(J)Z
-
removeFirstLong
public long removeFirstLong()Pops first block position off of this set.- Overrides:
removeFirstLongin classLongLinkedOpenHashSet- Mappings:
Namespace Name Mixin selector official removeFirstLongLdum;removeFirstLong()Jintermediary removeFirstLongLnet/minecraft/class_6136;removeFirstLong()Jnamed removeFirstLongLnet/minecraft/util/collection/LinkedBlockPosHashSet;removeFirstLong()J
-
size
public int size()- Specified by:
sizein interfaceCollection<Long>- Specified by:
sizein interfaceSet<Long>- Overrides:
sizein classLongLinkedOpenHashSet- Throws:
UnsupportedOperationException- Mappings:
Namespace Name Mixin selector official sizeLdum;size()Iintermediary sizeLnet/minecraft/class_6136;size()Inamed sizeLnet/minecraft/util/collection/LinkedBlockPosHashSet;size()I
-
isEmpty
public boolean isEmpty()Checks whether there are any block positions that have been "set".- Specified by:
isEmptyin interfaceCollection<Long>- Specified by:
isEmptyin interfaceSet<Long>- Overrides:
isEmptyin classLongLinkedOpenHashSet- Returns:
trueis this collection is empty.- Mappings:
Namespace Name Mixin selector official isEmptyLdum;isEmpty()Zintermediary isEmptyLnet/minecraft/class_6136;isEmpty()Znamed isEmptyLnet/minecraft/util/collection/LinkedBlockPosHashSet;isEmpty()Z
-