This commit is contained in:
Daniel Mills 2021-08-05 18:42:34 -04:00
parent fff7cd53cc
commit ef5ba0f1d1
31 changed files with 382 additions and 329 deletions

View File

@ -47,7 +47,7 @@ import java.util.List;
public class IrisBoardManager implements BoardProvider, Listener {
private BossBar energyBar;
private final BossBar energyBar;
private final BoardManager manager;
private String mem = "...";
public final RollingSequence hits = new RollingSequence(20);

View File

@ -24,7 +24,6 @@ import com.volmit.iris.engine.object.objects.IrisObject;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.data.Cuboid;
import com.volmit.iris.util.format.C;
import com.volmit.iris.util.hunk.storage.MappedHunk;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.matter.IrisMatter;
import com.volmit.iris.util.plugin.VolmitSender;

View File

@ -25,12 +25,9 @@ import com.volmit.iris.core.command.studio.CommandIrisStudio;
import com.volmit.iris.core.command.what.CommandIrisWhat;
import com.volmit.iris.core.command.world.*;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.hunk.Hunk;
import com.volmit.iris.util.plugin.Command;
import com.volmit.iris.util.plugin.MortarCommand;
import com.volmit.iris.util.plugin.VolmitSender;
import com.volmit.iris.util.scheduling.J;
import org.bukkit.util.Vector;
public class CommandIris extends MortarCommand {
@Command

View File

@ -20,35 +20,25 @@ package com.volmit.iris.core.command.object;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.ProjectManager;
import com.volmit.iris.core.WandManager;
import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.core.tools.IrisWorlds;
import com.volmit.iris.engine.object.common.IObjectPlacer;
import com.volmit.iris.engine.object.objects.IrisObject;
import com.volmit.iris.engine.object.objects.IrisObjectPlacement;
import com.volmit.iris.engine.object.objects.IrisObjectPlacementScaleInterpolator;
import com.volmit.iris.engine.object.objects.IrisObjectRotation;
import com.volmit.iris.engine.object.tile.TileData;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.math.RNG;
import com.volmit.iris.util.matter.IrisMatter;
import com.volmit.iris.util.matter.Matter;
import com.volmit.iris.util.plugin.MortarCommand;
import com.volmit.iris.util.plugin.VolmitSender;
import org.bukkit.*;
import org.bukkit.HeightMap;
import org.bukkit.Material;
import org.bukkit.World;
import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.TileState;
import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import java.io.File;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class CommandIrisObjectPasteMatter extends MortarCommand {

View File

@ -21,13 +21,10 @@ package com.volmit.iris.core.command.object;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.WandManager;
import com.volmit.iris.engine.object.objects.IrisObject;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.matter.IrisMatter;
import com.volmit.iris.util.plugin.MortarCommand;
import com.volmit.iris.util.plugin.VolmitSender;
import com.volmit.iris.util.scheduling.PrecisionStopwatch;
import org.bukkit.Sound;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;

View File

@ -34,7 +34,7 @@ import java.util.*;
public class CommandIrisObjectUndo extends MortarCommand {
private static Map<UUID, Deque<Map<Block, BlockData>>> undos = new HashMap<>();
private static final Map<UUID, Deque<Map<Block, BlockData>>> undos = new HashMap<>();
public CommandIrisObjectUndo() {
super("undo", "u", "revert");

View File

@ -21,9 +21,19 @@ package com.volmit.iris.core.command.studio;
import com.volmit.iris.Iris;
import com.volmit.iris.core.IrisSettings;
import com.volmit.iris.core.project.IrisProject;
import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.engine.object.objects.IrisObject;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.format.Form;
import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.MultiBurst;
import com.volmit.iris.util.plugin.MortarCommand;
import com.volmit.iris.util.plugin.VolmitSender;
import com.volmit.iris.util.scheduling.ChronoLatch;
import com.volmit.iris.util.scheduling.J;
import java.io.File;
import java.io.IOException;
public class CommandIrisStudioUpdate extends MortarCommand {
public CommandIrisStudioUpdate() {
@ -50,6 +60,58 @@ public class CommandIrisStudioUpdate extends MortarCommand {
return true;
}
for(String i : args)
{
if(i.equals("--rewrite-objects"))
{
IrisData data = new IrisData(Iris.proj.getWorkspaceFolder(args[0]));
int t = data.getObjectLoader().getPossibleKeys().length;
ChronoLatch cl = new ChronoLatch(250, false);
MultiBurst bx = new MultiBurst("Object Rewriter",Thread.MIN_PRIORITY, Runtime.getRuntime().availableProcessors());
BurstExecutor b = bx.burst();
int g = 0;
for(String f : data.getObjectLoader().getPossibleKeys())
{
int finalG1 = g;
b.queue(() -> {
if(cl.flip())
{
Iris.info("Rewriting: " + Form.f(t - finalG1) + " Objects Left");
}
File ff = data.getObjectLoader().findFile(f);
IrisObject oo = new IrisObject(0,0,0);
try {
oo.read(ff);
} catch (Throwable e) {
Iris.error("FAILER TO READ: " + f);
return;
}
if(oo == null)
{
Iris.error("FAILER TO READ: " + f);
return;
}
try {
oo.write(ff);
} catch (IOException e) {
Iris.error("FAILURE TO WRITE: " + oo.getLoadFile());
}
});
g++;
}
int finalG = g;
J.a(() -> {
b.complete();
bx.shutdownNow();
sender.sendMessage("Done! Rewrote " + Form.f(finalG) + " Objects!");
});
}
}
if (new IrisProject(Iris.proj.getWorkspaceFolder(args[0])).updateWorkspace()) {
sender.sendMessage("Updated Code Workspace for " + args[0]);
} else {
@ -61,6 +123,6 @@ public class CommandIrisStudioUpdate extends MortarCommand {
@Override
protected String getArgsUsage() {
return "[dimension]";
return "[dimension] [--rewrite-objects]";
}
}

View File

@ -23,10 +23,14 @@ import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.WorldCreator;
import org.bukkit.block.Biome;
import org.bukkit.entity.Entity;
import org.bukkit.block.TileState;
import org.bukkit.generator.ChunkGenerator;
public interface INMSBinding {
CompoundTag serializeTile(Location location);
void deserializeTile(CompoundTag s, Location newPosition);
boolean supportsCustomHeight();
Object getBiomeBaseFromId(int id);

View File

@ -21,18 +21,25 @@ package com.volmit.iris.core.nms.v17_1;
import com.volmit.iris.Iris;
import com.volmit.iris.core.nms.INMSBinding;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.nbt.tag.CompoundTag;
import net.minecraft.core.BlockPosition;
import net.minecraft.core.IRegistry;
import net.minecraft.core.IRegistryWritable;
import net.minecraft.resources.MinecraftKey;
import net.minecraft.resources.ResourceKey;
import net.minecraft.world.level.biome.BiomeBase;
import net.minecraft.world.level.block.BlockChest;
import net.minecraft.world.level.block.entity.TileEntity;
import net.minecraft.world.level.chunk.BiomeStorage;
import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.World;
import org.bukkit.block.Biome;
import org.bukkit.block.TileState;
import org.bukkit.craftbukkit.v1_16_R1.block.impl.CraftBamboo;
import org.bukkit.craftbukkit.v1_17_R1.CraftServer;
import org.bukkit.craftbukkit.v1_17_R1.CraftWorld;
import org.bukkit.craftbukkit.v1_17_R1.block.impl.CraftChest;
import org.bukkit.generator.ChunkGenerator;
import java.lang.reflect.Field;
@ -58,6 +65,16 @@ public class NMSBinding17_1 implements INMSBinding {
return null;
}
@Override
public CompoundTag serializeTile(Location location) {
TileEntity e = ((CraftWorld)location.getWorld()).getHandle().getTileEntity(new BlockPosition(location.getBlockX(), location.getBlockY(), location.getBlockZ()), true);
}
@Override
public void deserializeTile(CompoundTag s, Location newPosition) {
}
@Override
public boolean supportsCustomHeight() {
return false;

View File

@ -109,7 +109,7 @@ public class EngineCompositeGenerator extends ChunkGenerator implements IrisAcce
lastHotloadTime += p.getMilliseconds();
lastHotloadTime /= 2;
return 120 + (long) (lastHotloadTime / 2) + Math.min(hotloaderMisses * 125, 1375);
return 120 + (lastHotloadTime / 2) + Math.min(hotloaderMisses * 125, 1375);
}
};
ticker.setPriority(Thread.MIN_PRIORITY);

View File

@ -18,7 +18,6 @@
package com.volmit.iris.engine.jigsaw;
import com.volmit.iris.Iris;
import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.core.tools.IrisWorlds;
import com.volmit.iris.engine.framework.Engine;

View File

@ -75,8 +75,7 @@ public class PlannedStructure {
generateTerminators();
for(PlannedPiece i : pieces)
{
for (PlannedPiece i : pieces) {
Iris.debug("Place: " + i.getObject().getLoadKey() + " at @ relative " + i.getPosition().toString());
}
}

View File

@ -348,7 +348,11 @@ public class IrisObject extends IrisRegistrant {
}
public void write(File file) throws IOException {
file.getParentFile().mkdirs();
if(file == null)
{
return;
}
FileOutputStream out = new FileOutputStream(file);
write(out);
out.close();

View File

@ -32,23 +32,17 @@ public class IrisContext {
private static ChronoLatch cl = new ChronoLatch(60000);
private static KMap<Thread, IrisContext> context = new KMap<>();
public static IrisContext get()
{
public static IrisContext get() {
return context.get(Thread.currentThread());
}
public static void touch(IrisContext c)
{
synchronized (context)
{
public static void touch(IrisContext c) {
synchronized (context) {
context.put(Thread.currentThread(), c);
if(cl.flip())
{
for(Thread i : context.k())
{
if(!i.isAlive())
{
if (cl.flip()) {
for (Thread i : context.k()) {
if (!i.isAlive()) {
context.remove(i);
}
}
@ -58,18 +52,15 @@ public class IrisContext {
private final Engine engine;
public void touch()
{
public void touch() {
IrisContext.touch(this);
}
public IrisData getData()
{
public IrisData getData() {
return engine.getData();
}
public IrisComplex getComplex()
{
public IrisComplex getComplex() {
return engine.getFramework().getComplex();
}
}

View File

@ -18,7 +18,6 @@
package com.volmit.iris.util.hunk;
import com.volmit.iris.Iris;
import com.volmit.iris.engine.object.basic.IrisPosition;
import com.volmit.iris.util.collection.KList;
import com.volmit.iris.util.function.*;
@ -29,8 +28,6 @@ import com.volmit.iris.util.interpolation.InterpolationMethod;
import com.volmit.iris.util.interpolation.InterpolationMethod3D;
import com.volmit.iris.util.interpolation.IrisInterpolation;
import com.volmit.iris.util.math.BlockPosition;
import com.volmit.iris.util.math.M;
import com.volmit.iris.util.math.MathHelper;
import com.volmit.iris.util.oldnbt.ByteArrayTag;
import com.volmit.iris.util.parallel.BurstExecutor;
import com.volmit.iris.util.parallel.MultiBurst;
@ -40,7 +37,6 @@ import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData;
import org.bukkit.generator.ChunkGenerator.BiomeGrid;
import org.bukkit.generator.ChunkGenerator.ChunkData;
import org.bukkit.util.Vector;
import java.io.File;
import java.io.IOException;
@ -1273,8 +1269,7 @@ public interface Hunk<T> {
return t;
}
static IrisPosition rotatedBounding(int w, int h, int d, double x, double y, double z)
{
static IrisPosition rotatedBounding(int w, int h, int d, double x, double y, double z) {
int[] iii = {0, 0, 0};
int[] aaa = {w, h, d};
int[] aai = {w, h, 0};
@ -1300,8 +1295,7 @@ public interface Hunk<T> {
return new IrisPosition(maxX - minX, maxY - minY, maxZ - minZ);
}
default Hunk<T> rotate(double x, double y, double z, Supplier3R<Integer, Integer, Integer, Hunk<T>> builder)
{
default Hunk<T> rotate(double x, double y, double z, Supplier3R<Integer, Integer, Integer, Hunk<T>> builder) {
int w = getWidth();
int h = getHeight();
int d = getDepth();
@ -1333,24 +1327,17 @@ public interface Hunk<T> {
Hunk<T> r = builder.get(maxX - minX, maxY - minY, maxZ - minZ);
int[] cr = {(maxX - minX) / 2, (maxY - minY) / 2, (maxZ - minZ) / 2};
for(i = 0; i < w; i++)
{
for(j = 0; j < h; j++)
{
for(k = 0; k < d; k++)
{
for (i = 0; i < w; i++) {
for (j = 0; j < h; j++) {
for (k = 0; k < d; k++) {
b[0] = i - c[0];
b[1] = j - c[1];
b[2] = k - c[2];
rotate(x, y, z, b);
try
{
try {
r.set(b[0] + cr[0], b[1] + cr[1], b[2] + cr[2], get(i, j, k));
}
catch(Throwable e)
{
} catch (Throwable e) {
}
}
@ -1360,30 +1347,24 @@ public interface Hunk<T> {
return r;
}
static int max(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8)
{
static int max(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) {
return Math.max(Math.max(Math.max(a5, a6), Math.max(a7, a8)), Math.max(Math.max(a1, a2), Math.max(a3, a4)));
}
static int min(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8)
{
static int min(int a1, int a2, int a3, int a4, int a5, int a6, int a7, int a8) {
return Math.min(Math.min(Math.min(a5, a6), Math.min(a7, a8)), Math.min(Math.min(a1, a2), Math.min(a3, a4)));
}
static void rotate(double x, double y, double z, int[] c)
{
if(x % 360 != 0)
{
static void rotate(double x, double y, double z, int[] c) {
if (x % 360 != 0) {
rotateAroundX(Math.toRadians(x), c);
}
if(y % 360 != 0)
{
if (y % 360 != 0) {
rotateAroundY(Math.toRadians(y), c);
}
if(z % 360 != 0)
{
if (z % 360 != 0) {
rotateAroundZ(Math.toRadians(z), c);
}
}

View File

@ -18,7 +18,6 @@
package com.volmit.iris.util.hunk.storage;
import com.volmit.iris.Iris;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.function.Consumer4;
import com.volmit.iris.util.hunk.Hunk;

View File

@ -22,8 +22,6 @@ import com.volmit.iris.Iris;
import com.volmit.iris.util.collection.KMap;
import lombok.Getter;
import java.lang.reflect.InvocationTargetException;
public class IrisMatter implements Matter {
private static final KMap<Class<?>, MatterSlice<?>> slicers = buildSlicers();
@ -40,7 +38,7 @@ public class IrisMatter implements Matter {
private final int depth;
@Getter
private KMap<Class<?>, MatterSlice<?>> sliceMap;
private final KMap<Class<?>, MatterSlice<?>> sliceMap;
public IrisMatter(int width, int height, int depth) {
this.width = width;

View File

@ -181,20 +181,19 @@ public interface Matter {
/**
* Rotate a matter object into a new object
*
* @param x the x rotation (degrees)
* @param y the y rotation (degrees)
* @param z the z rotation (degrees)
* @return the new rotated matter object
*/
default Matter rotate(double x, double y, double z)
{
default Matter rotate(double x, double y, double z) {
IrisPosition rs = Hunk.rotatedBounding(getWidth(), getHeight(), getDepth(), x, y, z);
Matter n = new IrisMatter(rs.getX(), rs.getY(), rs.getZ());
n.getHeader().setAuthor(getHeader().getAuthor());
n.getHeader().setCreatedAt(getHeader().getCreatedAt());
for(Class<?> i : getSliceTypes())
{
for (Class<?> i : getSliceTypes()) {
getSlice(i).rotateSliceInto(n, x, y, z);
}
@ -234,8 +233,7 @@ public interface Matter {
*/
Map<Class<?>, MatterSlice<?>> getSliceMap();
default void write(File f) throws IOException
{
default void write(File f) throws IOException {
FileOutputStream out = new FileOutputStream(f);
GZIPOutputStream gzo = new GZIPOutputStream(out);
write(gzo);
@ -265,8 +263,7 @@ public interface Matter {
dos.flush();
}
static Matter read(File f) throws IOException, ClassNotFoundException
{
static Matter read(File f) throws IOException, ClassNotFoundException {
FileInputStream in = new FileInputStream(f);
GZIPInputStream gzi = new GZIPInputStream(in);
Matter m = read(gzi);
@ -274,8 +271,7 @@ public interface Matter {
return m;
}
static Matter read(InputStream in) throws IOException, ClassNotFoundException
{
static Matter read(InputStream in) throws IOException, ClassNotFoundException {
return read(in, (b) -> new IrisMatter(b.getX(), b.getY(), b.getZ()));
}

View File

@ -25,7 +25,6 @@ import com.volmit.iris.util.hunk.storage.MappedHunk;
import org.bukkit.World;
import org.bukkit.block.data.BlockData;
import org.bukkit.entity.Entity;
import org.objectweb.asm.ClassWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
@ -42,39 +41,30 @@ public interface MatterSlice<T> extends Hunk<T> {
<W> MatterReader<W, T> readFrom(Class<W> mediumType);
default Class<?> getClass(Object w)
{
default Class<?> getClass(Object w) {
Class<?> c = w.getClass();
if(w instanceof World)
{
if (w instanceof World) {
c = World.class;
}else if(w instanceof BlockData)
{
} else if (w instanceof BlockData) {
c = BlockData.class;
}else if(w instanceof Entity)
{
} else if (w instanceof Entity) {
c = Entity.class;
}
return c;
}
default <W> boolean writeInto(W w, int x, int y, int z)
{
default <W> boolean writeInto(W w, int x, int y, int z) {
MatterWriter<W, T> injector = (MatterWriter<W, T>) writeInto(getClass(w));
if(injector == null)
{
if (injector == null) {
return false;
}
for(int i = x; i < x + getWidth(); i++)
{
for(int j = y; j < y + getHeight(); j++)
{
for(int k = z; k < z + getDepth(); k++)
{
for (int i = x; i < x + getWidth(); i++) {
for (int j = y; j < y + getHeight(); j++) {
for (int k = z; k < z + getDepth(); k++) {
injector.writeMatter(w, get(i - x, j - y, k - z), i, j, k);
}
}
@ -83,21 +73,16 @@ public interface MatterSlice<T> extends Hunk<T> {
return true;
}
default <W> boolean readFrom(W w, int x, int y, int z)
{
default <W> boolean readFrom(W w, int x, int y, int z) {
MatterReader<W, T> ejector = (MatterReader<W, T>) readFrom(getClass(w));
if(ejector == null)
{
if (ejector == null) {
return false;
}
for(int i = x; i < x + getWidth(); i++)
{
for(int j = y; j < y + getHeight(); j++)
{
for(int k = z; k < z + getDepth(); k++)
{
for (int i = x; i < x + getWidth(); i++) {
for (int j = y; j < y + getHeight(); j++) {
for (int k = z; k < z + getDepth(); k++) {
set(i - x, j - y, k - z, ejector.readMatter(w, i, j, k));
}
}
@ -110,18 +95,15 @@ public interface MatterSlice<T> extends Hunk<T> {
// RawMatter<T> ex MappedHunk<T>
// IMatterSlice<T> ex Hunk<T>
default int getCount()
{
default int getCount() {
return ((MappedHunk<?>) this).getEntryCount();
}
default boolean canWrite(Class<?> mediumType)
{
default boolean canWrite(Class<?> mediumType) {
return writeInto(mediumType) != null;
}
default boolean canRead(Class<?> mediumType)
{
default boolean canRead(Class<?> mediumType) {
return readFrom(mediumType) != null;
}
@ -153,8 +135,7 @@ public interface MatterSlice<T> extends Hunk<T> {
}
}
default void rotateSliceInto(Matter n, double x, double y, double z)
{
default void rotateSliceInto(Matter n, double x, double y, double z) {
rotate(x, y, z, (_x, _y, _z) -> n.slice(getType()));
}
}

View File

@ -18,15 +18,9 @@
package com.volmit.iris.util.matter.slices;
import com.volmit.iris.core.project.loader.IrisRegistrant;
import com.volmit.iris.engine.object.biome.IrisBiome;
import com.volmit.iris.util.context.IrisContext;
import com.volmit.iris.util.matter.Sliced;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
@Sliced
public class BiomeMatter extends RegistryMatter<IrisBiome> {
public BiomeMatter() {

View File

@ -22,9 +22,6 @@ import com.volmit.iris.engine.parallax.ParallaxAccess;
import com.volmit.iris.engine.parallax.ParallaxWorld;
import com.volmit.iris.util.data.B;
import com.volmit.iris.util.matter.Sliced;
import com.volmit.iris.util.nbt.io.NBTUtil;
import com.volmit.iris.util.nbt.mca.NBTWorld;
import com.volmit.iris.util.nbt.tag.CompoundTag;
import org.bukkit.World;
import org.bukkit.block.data.BlockData;

View File

@ -21,8 +21,8 @@ package com.volmit.iris.util.matter.slices;
import com.volmit.iris.util.collection.KMap;
import com.volmit.iris.util.hunk.storage.MappedHunk;
import com.volmit.iris.util.matter.MatterReader;
import com.volmit.iris.util.matter.MatterWriter;
import com.volmit.iris.util.matter.MatterSlice;
import com.volmit.iris.util.matter.MatterWriter;
import lombok.Getter;
import java.io.DataInputStream;
@ -42,25 +42,21 @@ public abstract class RawMatter<T> extends MappedHunk<T> implements MatterSlice<
this.type = type;
}
protected <W> void registerWriter(Class<W> mediumType, MatterWriter<W, T> injector)
{
protected <W> void registerWriter(Class<W> mediumType, MatterWriter<W, T> injector) {
injectors.put(mediumType, injector);
}
protected <W> void registerReader(Class<W> mediumType, MatterReader<W, T> injector)
{
protected <W> void registerReader(Class<W> mediumType, MatterReader<W, T> injector) {
ejectors.put(mediumType, injector);
}
@Override
public <W> MatterWriter<W, T> writeInto(Class<W> mediumType)
{
public <W> MatterWriter<W, T> writeInto(Class<W> mediumType) {
return (MatterWriter<W, T>) injectors.get(mediumType);
}
@Override
public <W> MatterReader<W, T> readFrom(Class<W> mediumType)
{
public <W> MatterReader<W, T> readFrom(Class<W> mediumType) {
return (MatterReader<W, T>) ejectors.get(mediumType);
}

View File

@ -19,7 +19,6 @@
package com.volmit.iris.util.matter.slices;
import com.volmit.iris.core.project.loader.IrisRegistrant;
import com.volmit.iris.engine.object.biome.IrisBiome;
import com.volmit.iris.util.matter.Sliced;
@Sliced
@ -27,6 +26,7 @@ public class RegionMatter extends RegistryMatter<IrisRegistrant> {
public RegionMatter() {
this(1, 1, 1);
}
public RegionMatter(int width, int height, int depth) {
super(width, height, depth, IrisRegistrant.class);
}

View File

@ -20,8 +20,6 @@ package com.volmit.iris.util.matter.slices;
import com.volmit.iris.core.project.loader.IrisRegistrant;
import com.volmit.iris.util.context.IrisContext;
import com.volmit.iris.util.nbt.io.NBTUtil;
import com.volmit.iris.util.nbt.tag.Tag;
import java.io.DataInputStream;
import java.io.DataOutputStream;

View File

@ -18,7 +18,6 @@
package com.volmit.iris.util.matter.slices;
import com.volmit.iris.engine.object.biome.IrisBiome;
import com.volmit.iris.engine.object.spawners.IrisSpawner;
import com.volmit.iris.util.matter.Sliced;
@ -27,6 +26,7 @@ public class SpawnerMatter extends RegistryMatter<IrisSpawner> {
public SpawnerMatter() {
this(1, 1, 1);
}
public SpawnerMatter(int width, int height, int depth) {
super(width, height, depth, IrisSpawner.class);
}

View File

@ -0,0 +1,54 @@
/*
* Iris is a World Generator for Minecraft Bukkit Servers
* Copyright (c) 2021 Arcane Arts (Volmit Software)
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
package com.volmit.iris.util.matter.slices;
import com.volmit.iris.engine.parallax.ParallaxAccess;
import com.volmit.iris.engine.parallax.ParallaxWorld;
import com.volmit.iris.util.data.B;
import com.volmit.iris.util.matter.Sliced;
import org.bukkit.World;
import org.bukkit.block.Chest;
import org.bukkit.block.TileState;
import org.bukkit.block.data.BlockData;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
@Sliced
public class TileMatter extends RawMatter<TileState> {
public TileMatter() {
this(1, 1, 1);
}
public TileMatter(int width, int height, int depth) {
super(width, height, depth, TileState.class);
}
@Override
public void writeNode(TileState b, DataOutputStream dos) throws IOException {
}
@Override
public TileState readNode(DataInputStream din) throws IOException {
return null;
}
}