This commit is contained in:
Daniel Mills 2021-07-21 10:39:39 -04:00
parent ab206b2abf
commit aa25feb57e
3 changed files with 41 additions and 2 deletions

View File

@ -22,13 +22,15 @@ import com.google.gson.Gson;
import com.volmit.iris.engine.hunk.io.HunkIOAdapter;
import com.volmit.iris.engine.hunk.io.PaletteHunkIOAdapter;
import com.volmit.iris.engine.object.IrisFeaturePositional;
import com.volmit.iris.util.io.IO;
import com.volmit.iris.util.oldnbt.CompoundTag;
import lombok.AllArgsConstructor;
import lombok.Data;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.IOException;
import java.util.UUID;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Function;
@ -38,7 +40,15 @@ public class ParallaxChunkMeta {
public static final Function<CompoundTag, HunkIOAdapter<ParallaxChunkMeta>> adapter = (c) -> new PaletteHunkIOAdapter<>() {
@Override
public void write(ParallaxChunkMeta parallaxChunkMeta, DataOutputStream dos) throws IOException {
dos.writeUTF(new Gson().toJson(parallaxChunkMeta));
try
{
dos.writeUTF(new Gson().toJson(parallaxChunkMeta));
}
catch(Throwable e)
{
IO.writeAll(new File("WTF", UUID.randomUUID().toString()), new Gson().toJson(parallaxChunkMeta));
}
}
@Override

View File

@ -19,6 +19,8 @@
package com.volmit.iris.util.math;
import lombok.Data;
import org.bukkit.World;
import org.bukkit.block.Block;
import java.util.Objects;
@ -28,6 +30,7 @@ public class BlockPosition {
private int y;
private int z;
//Magic numbers
private static final int m1 = 1 + MathHelper.f(MathHelper.c(30000000));
private static final int m2 = 64 - (m1 * 2);
@ -88,4 +91,25 @@ public class BlockPosition {
var3 |= (z & m6) << m2;
return var3;
}
public Block toBlock(World world)
{
return world.getBlockAt(x,y,z);
}
public BlockPosition add(int x, int y, int z) {
return new BlockPosition(x,y,z);
}
public void min(BlockPosition i) {
setX(Math.min(i.getX(), getX()));
setY(Math.min(i.getY(), getY()));
setZ(Math.min(i.getZ(), getZ()));
}
public void max(BlockPosition i) {
setX(Math.max(i.getX(), getX()));
setY(Math.max(i.getY(), getY()));
setZ(Math.max(i.getZ(), getZ()));
}
}

View File

@ -18,6 +18,11 @@
package com.volmit.iris.util.math;
import com.volmit.iris.engine.object.IrisBiomePaletteLayer;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Block;
public class Position2 {
private int x;
private int z;