VulkanShader_1.21.10-0.0.4-alpha.jar
Download file
package net.vulkanmod.render.chunk.util;
import java.util.Arrays;
import java.util.Iterator;
import net.vulkanmod.render.chunk.ChunkArea;
public record AreaSetQueue(int size, int[] set, StaticQueue<ChunkArea> queue) {
public AreaSetQueue(int size) {
this(size, new int[(int)Math.ceil((double)((float)size / 32.0F))], new StaticQueue(size));
}
public void add(ChunkArea chunkArea) {
int i = chunkArea.index >> 5;
int mask = 1 << (chunkArea.index & 31);
if ((this.set[i] & mask) == 0) {
this.queue.add(chunkArea);
int[] var10000 = this.set;
var10000[i] |= mask;
}
}
public void clear() {
Arrays.fill(this.set, 0);
this.queue.clear();
}
public Iterator<ChunkArea> iterator(boolean reverseOrder) {
return this.queue.iterator(reverseOrder);
}
public Iterator<ChunkArea> iterator() {
return this.iterator(false);
}
}
Download file