This commit is contained in:
cyberpwn
2021-09-25 13:52:50 -04:00
parent 57ef3842e9
commit 384a28c517
83 changed files with 323 additions and 670 deletions

View File

@@ -400,13 +400,11 @@ public class B {
try {
String bd = bdxf.trim();
if(bd.startsWith("minecraft:cauldron[level="))
{
if (bd.startsWith("minecraft:cauldron[level=")) {
bd = bd.replaceAll("\\Q:cauldron[\\E", ":water_cauldron[");
}
if(bd.equals("minecraft:grass_path"))
{
if (bd.equals("minecraft:grass_path")) {
return DIRT_PATH.createBlockData();
}

View File

@@ -20,7 +20,6 @@ package com.volmit.iris.util.data;
import com.volmit.iris.util.function.Function2;
import java.util.Arrays;
import java.util.concurrent.atomic.AtomicReferenceArray;
public class ChunkCache<T> {
@@ -30,14 +29,12 @@ public class ChunkCache<T> {
cache = new AtomicReferenceArray<>(256);
}
public T compute(int x, int z, Function2<Integer, Integer, T> function)
{
T t = get(x&15, z&15);
public T compute(int x, int z, Function2<Integer, Integer, T> function) {
T t = get(x & 15, z & 15);
if(t == null)
{
if (t == null) {
t = function.apply(x, z);
set(x&15, z&15, t);
set(x & 15, z & 15, t);
}
return t;

View File

@@ -22,25 +22,21 @@ import com.volmit.iris.engine.data.cache.Cache;
import com.volmit.iris.util.collection.KMap;
public class ComplexCache<T> {
private KMap<Long, ChunkCache<T>> chunks;
private final KMap<Long, ChunkCache<T>> chunks;
public ComplexCache()
{
public ComplexCache() {
chunks = new KMap<>();
}
public boolean has(int x, int z)
{
public boolean has(int x, int z) {
return chunks.containsKey(Cache.key(x, z));
}
public void invalidate(int x, int z)
{
public void invalidate(int x, int z) {
chunks.remove(Cache.key(x, z));
}
public ChunkCache<T> chunk(int x, int z)
{
public ChunkCache<T> chunk(int x, int z) {
return chunks.computeIfAbsent(Cache.key(x, z), (f) -> new ChunkCache<>());
}
}

View File

@@ -24,27 +24,25 @@ import com.github.benmanes.caffeine.cache.LoadingCache;
import com.volmit.iris.engine.framework.MeteredCache;
import com.volmit.iris.util.math.RollingSequence;
public class KCache<K,V> implements MeteredCache {
public class KCache<K, V> implements MeteredCache {
private final long max;
private CacheLoader<K, V> loader;
private LoadingCache<K, V> cache;
private final LoadingCache<K, V> cache;
private final boolean fastDump;
private final RollingSequence msu = new RollingSequence(100);
public KCache(CacheLoader<K, V> loader, long max)
{
public KCache(CacheLoader<K, V> loader, long max) {
this(loader, max, false);
}
public KCache(CacheLoader<K, V> loader, long max, boolean fastDump)
{
public KCache(CacheLoader<K, V> loader, long max, boolean fastDump) {
this.max = max;
this.fastDump = fastDump;
this.loader = loader;
this.cache = create(loader);
}
private LoadingCache<K,V> create(CacheLoader<K,V> loader) {
private LoadingCache<K, V> create(CacheLoader<K, V> loader) {
return Caffeine
.newBuilder()
.maximumSize(max)
@@ -54,23 +52,19 @@ public class KCache<K,V> implements MeteredCache {
}
public void setLoader(CacheLoader<K, V> loader)
{
public void setLoader(CacheLoader<K, V> loader) {
this.loader = loader;
}
public void invalidate(K k)
{
public void invalidate(K k) {
cache.invalidate(k);
}
public void invalidate()
{
public void invalidate() {
cache.invalidateAll();
}
public V get(K k)
{
public V get(K k) {
return cache.get(k);
}

View File

@@ -59,32 +59,26 @@ public class BitStorage {
this(bits, length, (AtomicLongArray) null);
}
private static AtomicLongArray atomic(long[] data)
{
if(data == null)
{
private static AtomicLongArray atomic(long[] data) {
if (data == null) {
return null;
}
AtomicLongArray d = new AtomicLongArray(data.length);
for(int i = 0; i < data.length; i++)
{
for (int i = 0; i < data.length; i++) {
d.set(i, data[i]);
}
return d;
}
private static long[] atomic(AtomicLongArray data)
{
if(data == null)
{
private static long[] atomic(AtomicLongArray data) {
if (data == null) {
return null;
}
long[] d = new long[data.length()];
for(int i = 0; i < data.length(); i++)
{
for (int i = 0; i < data.length(); i++) {
d[i] = data.get(i);
}
@@ -107,8 +101,7 @@ public class BitStorage {
this.divideShift = MAGIC[var3 + 2];
int var4 = (length + this.valuesPerLong - 1) / this.valuesPerLong;
if (data != null) {
if (data.length() != var4)
{
if (data.length() != var4) {
throw new RuntimeException("NO!");
}
this.data = data;
@@ -166,8 +159,7 @@ public class BitStorage {
public void getAll(IntConsumer var0) {
int var1 = 0;
for(int i = 0; i < data.length(); i++)
{
for (int i = 0; i < data.length(); i++) {
long var5 = data.get(i);
for (int var7 = 0; var7 < this.valuesPerLong; var7++) {
var0.accept((int) (var5 & this.mask));

View File

@@ -20,7 +20,6 @@ package com.volmit.iris.util.data.palette;
import com.google.common.collect.Iterators;
import java.util.Arrays;
import java.util.Iterator;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicIntegerArray;
@@ -49,16 +48,14 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
public K byId(int var0) {
if (var0 < 0 || var0 >= this.byId.length())
{
if (var0 < 0 || var0 >= this.byId.length()) {
return null;
}
return this.byId.get(var0);
}
private int getValue(int var0) {
if (var0 == -1)
{
if (var0 == -1) {
return -1;
}
return this.values.get(var0);
@@ -79,8 +76,7 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
}
private int nextId() {
while (nextId < byId.length() && byId.get(nextId) != null)
{
while (nextId < byId.length() && byId.get(nextId) != null) {
nextId++;
}
return nextId;
@@ -95,8 +91,7 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
this.nextId = 0;
this.size = 0;
for (int var3 = 0; var3 < var1.length(); var3++) {
if (var1.get(var3) != null)
{
if (var1.get(var3) != null) {
addMapping(var1.get(var3), var2.get(var3));
}
}
@@ -126,8 +121,7 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
private int indexOf(K var0, int var1) {
int var2;
for (var2 = var1; var2 < this.keys.length(); var2++) {
if (this.keys.get(var2) == null)
{
if (this.keys.get(var2) == null) {
return 0;
}
if (this.keys.get(var2).equals(var0))
@@ -158,11 +152,12 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
}
public Iterator<K> iterator() {
return Iterators.filter(new Iterator<K>(){
return Iterators.filter(new Iterator<K>() {
int i = 0;
@Override
public boolean hasNext() {
return i < byId.length()-1;
return i < byId.length() - 1;
}
@Override
@@ -174,15 +169,12 @@ public class CrudeIncrementalIntIdentityHashBiMap<K> implements IdMap<K> {
public void clear() {
for(int i = 0; i < Math.max(keys.length(), byId.length()); i++)
{
if(i < keys.length() - 1)
{
for (int i = 0; i < Math.max(keys.length(), byId.length()); i++) {
if (i < keys.length() - 1) {
keys.set(i, null);
}
if(i < byId.length() - 1)
{
if (i < byId.length() - 1) {
byId.set(i, null);
}
}

View File

@@ -18,8 +18,6 @@
package com.volmit.iris.util.data.palette;
import com.volmit.iris.util.nbt.tag.ListTag;
import java.util.List;
import java.util.function.Predicate;
@@ -28,11 +26,9 @@ public class GlobalPalette<T> implements Palette<T> {
private final T defaultValue;
public GlobalPalette(T... f)
{
public GlobalPalette(T... f) {
IdMapper<T> mapper = new IdMapper<>();
for(T i : f)
{
for (T i : f) {
mapper.add(i);
}
registry = mapper;

View File

@@ -20,12 +20,8 @@ package com.volmit.iris.util.data.palette;
import com.volmit.iris.Iris;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.nbt.tag.CompoundTag;
import com.volmit.iris.util.nbt.tag.ListTag;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
public class HashMapPalette<T> implements Palette<T> {
private final KMap<T, Integer> values;
@@ -41,16 +37,14 @@ public class HashMapPalette<T> implements Palette<T> {
}
public int idFor(T var0) {
if(var0 == null)
{
if (var0 == null) {
return 0;
}
return this.values.computeIfAbsent(var0, (k) -> {
int newId = id++;
if (newId >= 1 << this.bits)
{
if (newId >= 1 << this.bits) {
Iris.info(newId + " to...");
newId = this.resizeHandler.onResize(this.bits + 1, var0);
Iris.info(newId + "..");

View File

@@ -49,8 +49,7 @@ public class IdMapper<T> implements IdMap<T> {
public void addMapping(T var0, int var1) {
this.tToId.put(var0, Integer.valueOf(var1));
while (this.idToT.size() <= var1)
{
while (this.idToT.size() <= var1) {
this.idToT.add(null);
}
this.idToT.set(var1, var0);
@@ -68,8 +67,7 @@ public class IdMapper<T> implements IdMap<T> {
}
public final T byId(int var0) {
if (var0 >= 0 && var0 < this.idToT.size())
{
if (var0 >= 0 && var0 < this.idToT.size()) {
return this.idToT.get(var0);
}
return null;

View File

@@ -20,7 +20,6 @@ package com.volmit.iris.util.data.palette;
import java.util.List;
import java.util.concurrent.atomic.AtomicReferenceArray;
import java.util.function.Predicate;
public class LinearPalette<T> implements Palette<T> {
private final AtomicReferenceArray<T> values;
@@ -37,13 +36,11 @@ public class LinearPalette<T> implements Palette<T> {
public int idFor(T var0) {
int var1;
for (var1 = 0; var1 < size; var1++) {
if(values.get(var1) == null && var0 == null)
{
if (values.get(var1) == null && var0 == null) {
return var1;
}
if (values.get(var1) != null && values.get(var1).equals(var0))
{
if (values.get(var1) != null && values.get(var1).equals(var0)) {
return var1;
}
}
@@ -57,8 +54,7 @@ public class LinearPalette<T> implements Palette<T> {
}
public T valueFor(int var0) {
if (var0 >= 0 && var0 < size)
{
if (var0 >= 0 && var0 < size) {
return this.values.get(var0);
}
return null;
@@ -70,8 +66,7 @@ public class LinearPalette<T> implements Palette<T> {
@Override
public void read(List<T> fromList) {
for (int i = 0; i < fromList.size(); i++)
{
for (int i = 0; i < fromList.size(); i++) {
values.set(i, fromList.get(i));
}
@@ -80,8 +75,7 @@ public class LinearPalette<T> implements Palette<T> {
@Override
public void write(List<T> toList) {
for (int i = 0; i < size; i++)
{
for (int i = 0; i < size; i++) {
T v = values.get(i);
toList.add(v);
}

View File

@@ -18,11 +18,7 @@
package com.volmit.iris.util.data.palette;
import com.volmit.iris.util.nbt.tag.CompoundTag;
import com.volmit.iris.util.nbt.tag.ListTag;
import java.util.List;
import java.util.function.Predicate;
public interface Palette<T> {
int idFor(T paramT);

View File

@@ -42,8 +42,7 @@ public interface PaletteType<T> {
int v = Varint.readUnsignedVarInt(din);
List<T> t = new ArrayList<>();
for(int i = 0; i < v; i++)
{
for (int i = 0; i < v; i++) {
t.add(readPaletteNode(din));
}

View File

@@ -21,8 +21,8 @@ package com.volmit.iris.util.data.palette;
import com.volmit.iris.Iris;
import com.volmit.iris.util.math.M;
import it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap;
import java.util.List;
import java.util.function.Predicate;
@SuppressWarnings("DuplicatedCode")
public class PalettedContainer<T> implements PaletteResize<T> {
@@ -43,8 +43,7 @@ public class PalettedContainer<T> implements PaletteResize<T> {
}
private void setBits(int var0) {
if (var0 == this.bits)
{
if (var0 == this.bits) {
return;
}
this.bits = var0;
@@ -65,8 +64,7 @@ public class PalettedContainer<T> implements PaletteResize<T> {
setBits(var0);
for (int var4 = 0; var4 < var2.getSize(); var4++) {
T var5 = var3.valueFor(var2.get(var4));
if (var5 != null)
{
if (var5 != null) {
set(var4, var5);
}
}
@@ -95,8 +93,7 @@ public class PalettedContainer<T> implements PaletteResize<T> {
private void set(int var0, T var1) {
int var2 = this.palette.idFor(var1);
if(M.r(0.003))
{
if (M.r(0.003)) {
Iris.info("ID for " + var1 + " is " + var2 + " Palette: " + palette.getSize());
}
@@ -113,8 +110,7 @@ public class PalettedContainer<T> implements PaletteResize<T> {
public void read(List<T> palette, long[] data) {
int var2 = Math.max(4, Mth.ceillog2(palette.size()));
if (var2 != this.bits)
{
if (var2 != this.bits) {
setBits(var2);
}
@@ -124,8 +120,7 @@ public class PalettedContainer<T> implements PaletteResize<T> {
System.arraycopy(data, 0, this.storage.getRaw(), 0, data.length);
} else {
BitStorage var4 = new BitStorage(var3, 4096, data);
for (int var5 = 0; var5 < 4096; var5++)
{
for (int var5 = 0; var5 < 4096; var5++) {
this.storage.set(var5, var4.get(var5));
}
}