Parallax storage

This commit is contained in:
Daniel Mills 2020-10-27 21:19:33 -04:00
parent d29b4e486d
commit e92fa789e9
8 changed files with 24 additions and 16 deletions

View File

@ -1,5 +1,6 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import org.bouncycastle.util.Arrays; import org.bouncycastle.util.Arrays;
import lombok.Data; import lombok.Data;
@ -12,7 +13,7 @@ public class ArrayHunk<T> extends StorageHunk<T> implements Hunk<T>
private final T[] data; private final T[] data;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected ArrayHunk(int w, int h, int d) public ArrayHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = (T[]) new Object[w * h * d]; data = (T[]) new Object[w * h * d];

View File

@ -1,7 +1,8 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import com.google.common.util.concurrent.AtomicDoubleArray; import com.google.common.util.concurrent.AtomicDoubleArray;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -11,7 +12,7 @@ public class AtomicDoubleHunk extends StorageHunk<Double> implements Hunk<Double
{ {
private final AtomicDoubleArray data; private final AtomicDoubleArray data;
protected AtomicDoubleHunk(int w, int h, int d) public AtomicDoubleHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = new AtomicDoubleArray(w * h * d); data = new AtomicDoubleArray(w * h * d);

View File

@ -1,7 +1,8 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import java.util.concurrent.atomic.AtomicReferenceArray; import java.util.concurrent.atomic.AtomicReferenceArray;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -11,7 +12,7 @@ public class AtomicHunk<T> extends StorageHunk<T> implements Hunk<T>
{ {
private final AtomicReferenceArray<T> data; private final AtomicReferenceArray<T> data;
protected AtomicHunk(int w, int h, int d) public AtomicHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = new AtomicReferenceArray<T>(w * h * d); data = new AtomicReferenceArray<T>(w * h * d);

View File

@ -1,7 +1,8 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import java.util.concurrent.atomic.AtomicIntegerArray; import java.util.concurrent.atomic.AtomicIntegerArray;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -11,7 +12,7 @@ public class AtomicIntegerHunk extends StorageHunk<Integer> implements Hunk<Inte
{ {
private final AtomicIntegerArray data; private final AtomicIntegerArray data;
protected AtomicIntegerHunk(int w, int h, int d) public AtomicIntegerHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = new AtomicIntegerArray(w * h * d); data = new AtomicIntegerArray(w * h * d);

View File

@ -1,7 +1,8 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import java.util.concurrent.atomic.AtomicLongArray; import java.util.concurrent.atomic.AtomicLongArray;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import lombok.Data; import lombok.Data;
import lombok.EqualsAndHashCode; import lombok.EqualsAndHashCode;
@ -11,7 +12,7 @@ public class AtomicLongHunk extends StorageHunk<Long> implements Hunk<Long>
{ {
private final AtomicLongArray data; private final AtomicLongArray data;
protected AtomicLongHunk(int w, int h, int d) public AtomicLongHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = new AtomicLongArray(w * h * d); data = new AtomicLongArray(w * h * d);

View File

@ -1,5 +1,6 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import com.volmit.iris.util.BlockPosition; import com.volmit.iris.util.BlockPosition;
import com.volmit.iris.util.KMap; import com.volmit.iris.util.KMap;
@ -12,7 +13,7 @@ public class MappedHunk<T> extends StorageHunk<T> implements Hunk<T>
{ {
private final KMap<BlockPosition, T> data; private final KMap<BlockPosition, T> data;
protected MappedHunk(int w, int h, int d) public MappedHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = new KMap<>(); data = new KMap<>();

View File

@ -1,5 +1,6 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import lombok.Data; import lombok.Data;
@Data @Data
@ -9,7 +10,7 @@ public abstract class StorageHunk<T> implements Hunk<T>
private final int height; private final int height;
private final int depth; private final int depth;
protected StorageHunk(int width, int height, int depth) public StorageHunk(int width, int height, int depth)
{ {
if(width <= 0 || height <= 0 || depth <= 0) if(width <= 0 || height <= 0 || depth <= 0)
{ {

View File

@ -1,5 +1,6 @@
package com.volmit.iris.gen.v2.scaffold.hunk; package com.volmit.iris.gen.v2.scaffold.hunk.storage;
import com.volmit.iris.gen.v2.scaffold.hunk.Hunk;
import org.bouncycastle.util.Arrays; import org.bouncycastle.util.Arrays;
import lombok.Data; import lombok.Data;
@ -12,7 +13,7 @@ public class SynchronizedArrayHunk<T> extends StorageHunk<T> implements Hunk<T>
private final T[] data; private final T[] data;
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
protected SynchronizedArrayHunk(int w, int h, int d) public SynchronizedArrayHunk(int w, int h, int d)
{ {
super(w, h, d); super(w, h, d);
data = (T[]) new Object[w * h * d]; data = (T[]) new Object[w * h * d];