From c5c1a9b25b850984a2914cbe9fcb02bdf2673307 Mon Sep 17 00:00:00 2001 From: Daniel Mills Date: Tue, 10 Aug 2021 07:19:17 -0400 Subject: [PATCH] Fixes --- .../java/com/volmit/iris/util/matter/Matter.java | 1 - .../com/volmit/iris/util/matter/MatterHeader.java | 2 +- .../com/volmit/iris/util/matter/MatterSlice.java | 15 +++++++++++++++ .../com/volmit/iris/util/parallel/HyperLock.java | 6 ++++++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/volmit/iris/util/matter/Matter.java b/src/main/java/com/volmit/iris/util/matter/Matter.java index e80fa288d..84aefb1b9 100644 --- a/src/main/java/com/volmit/iris/util/matter/Matter.java +++ b/src/main/java/com/volmit/iris/util/matter/Matter.java @@ -255,7 +255,6 @@ public interface Matter { */ Map, MatterSlice> getSliceMap(); - default void write(File f) throws IOException { write(f, true); } diff --git a/src/main/java/com/volmit/iris/util/matter/MatterHeader.java b/src/main/java/com/volmit/iris/util/matter/MatterHeader.java index 3548439f3..a00a53d75 100644 --- a/src/main/java/com/volmit/iris/util/matter/MatterHeader.java +++ b/src/main/java/com/volmit/iris/util/matter/MatterHeader.java @@ -28,7 +28,7 @@ import java.io.IOException; @Data public class MatterHeader { - private String author = "anonymous"; + private String author = ""; private long createdAt = M.ms(); private int version = Matter.VERSION; diff --git a/src/main/java/com/volmit/iris/util/matter/MatterSlice.java b/src/main/java/com/volmit/iris/util/matter/MatterSlice.java index e05194d56..2b3aa44c3 100644 --- a/src/main/java/com/volmit/iris/util/matter/MatterSlice.java +++ b/src/main/java/com/volmit/iris/util/matter/MatterSlice.java @@ -18,7 +18,9 @@ package com.volmit.iris.util.matter; +import com.volmit.iris.Iris; import com.volmit.iris.engine.data.cache.Cache; +import com.volmit.iris.util.data.NibbleDataPalette; import com.volmit.iris.util.data.Varint; import com.volmit.iris.util.hunk.Hunk; import org.bukkit.Location; @@ -106,6 +108,19 @@ public interface MatterSlice extends Hunk { return readFrom(mediumType) != null; } + default int getBitsPer(int needed) + { + int target = 1; + for (int i = 1; i < 8; i++) { + if (Math.pow(2, i) > needed) { + target = i; + break; + } + } + + return target; + } + default void write(DataOutputStream dos) throws IOException { int w = getWidth(); int h = getHeight(); diff --git a/src/main/java/com/volmit/iris/util/parallel/HyperLock.java b/src/main/java/com/volmit/iris/util/parallel/HyperLock.java index 660bb9c9f..03138b339 100644 --- a/src/main/java/com/volmit/iris/util/parallel/HyperLock.java +++ b/src/main/java/com/volmit/iris/util/parallel/HyperLock.java @@ -63,6 +63,12 @@ public class HyperLock { unlock(x, z); } + public void withLong(long k, Runnable r) { + lock(Cache.keyX(k), Cache.keyZ(k)); + r.run(); + unlock(Cache.keyX(k), Cache.keyZ(k)); + } + public void withNasty(int x, int z, NastyRunnable r) throws Throwable { lock(x, z); Throwable ee = null;