This commit is contained in:
cyberpwn
2021-09-11 13:18:58 -04:00
parent 3864708cf1
commit 7d0555fb67
19 changed files with 65 additions and 103 deletions
@@ -21,9 +21,7 @@ package com.volmit.iris.util.matter;
import com.volmit.iris.engine.object.IrisObject;
import com.volmit.iris.engine.object.IrisPosition;
import com.volmit.iris.util.collection.KSet;
import com.volmit.iris.util.data.B;
import com.volmit.iris.util.data.Varint;
import com.volmit.iris.util.decree.annotations.Param;
import com.volmit.iris.util.hunk.Hunk;
import com.volmit.iris.util.math.BlockPosition;
import org.bukkit.World;
@@ -40,7 +38,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.function.Function;
@@ -62,8 +59,7 @@ import java.util.function.Function;
public interface Matter {
int VERSION = 1;
static Matter from(IrisObject object)
{
static Matter from(IrisObject object) {
object.clean();
object.shrinkwrap();
BlockVector min = new BlockVector();
@@ -89,10 +85,9 @@ public interface Matter {
return m;
}
default Matter copy()
{
default Matter copy() {
Matter m = new IrisMatter(getWidth(), getHeight(), getDepth());
getSliceMap().forEach((k,v) -> m.slice(k).forceInject(v));
getSliceMap().forEach((k, v) -> m.slice(k).forceInject(v));
return m;
}
@@ -25,36 +25,29 @@ public interface MatterPlacer {
Mantle getMantle();
default <T> void set(int x, int y, int z, T t)
{
getMantle().set(x,y,z,t);
default <T> void set(int x, int y, int z, T t) {
getMantle().set(x, y, z, t);
}
default <T> T get(int x, int y, int z, Class<T> t)
{
default <T> T get(int x, int y, int z, Class<T> t) {
return getMantle().get(x, y, z, t);
}
default void set(int x, int y, int z, Matter matter)
{
for(MatterSlice<?> i : matter.getSliceMap().values())
{
default void set(int x, int y, int z, Matter matter) {
for (MatterSlice<?> i : matter.getSliceMap().values()) {
set(x, y, z, i);
}
}
default <T> void set(int x, int y, int z, MatterSlice<T> slice)
{
default <T> void set(int x, int y, int z, MatterSlice<T> slice) {
getMantle().set(x, y, z, slice);
}
default int getHeight(int x, int z)
{
default int getHeight(int x, int z) {
return getHeight(x, z, true);
}
default int getHeightOrFluid(int x, int z)
{
default int getHeightOrFluid(int x, int z) {
return getHeight(x, z, false);
}
}
@@ -34,18 +34,15 @@ import java.io.IOException;
public interface MatterSlice<T> extends Hunk<T> {
Class<T> getType();
default void applyFilter(MatterFilter<T> filter)
{
default void applyFilter(MatterFilter<T> filter) {
updateSync(filter::update);
}
default void inject(MatterSlice<T> slice)
{
default void inject(MatterSlice<T> slice) {
iterateSync(slice::set);
}
default void forceInject(MatterSlice<?> slice)
{
default void forceInject(MatterSlice<?> slice) {
inject((MatterSlice<T>) slice);
}