mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-06-24 21:51:24 +00:00
add jigsaw structure marker
This commit is contained in:
@@ -30,6 +30,7 @@ import com.volmit.iris.util.mantle.Mantle;
|
|||||||
import com.volmit.iris.util.math.Position2;
|
import com.volmit.iris.util.math.Position2;
|
||||||
import com.volmit.iris.util.math.RNG;
|
import com.volmit.iris.util.math.RNG;
|
||||||
import com.volmit.iris.util.matter.slices.container.JigsawPieceContainer;
|
import com.volmit.iris.util.matter.slices.container.JigsawPieceContainer;
|
||||||
|
import com.volmit.iris.util.matter.slices.container.JigsawStructureContainer;
|
||||||
import com.volmit.iris.util.matter.slices.container.JigsawStructuresContainer;
|
import com.volmit.iris.util.matter.slices.container.JigsawStructuresContainer;
|
||||||
import com.volmit.iris.util.scheduling.J;
|
import com.volmit.iris.util.scheduling.J;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
@@ -146,10 +147,12 @@ public class PlannedStructure {
|
|||||||
|
|
||||||
int id = rng.i(0, Integer.MAX_VALUE);
|
int id = rng.i(0, Integer.MAX_VALUE);
|
||||||
JigsawPieceContainer container = JigsawPieceContainer.toContainer(i.getPiece());
|
JigsawPieceContainer container = JigsawPieceContainer.toContainer(i.getPiece());
|
||||||
|
JigsawStructureContainer structureContainer = JigsawStructureContainer.toContainer(structure);
|
||||||
i.setRealPositions(xx, height, zz, placer);
|
i.setRealPositions(xx, height, zz, placer);
|
||||||
return v.place(xx, height, zz, placer, options, rng, (b, data) -> {
|
return v.place(xx, height, zz, placer, options, rng, (b, data) -> {
|
||||||
e.set(b.getX(), b.getY(), b.getZ(), v.getLoadKey() + "@" + id);
|
e.set(b.getX(), b.getY(), b.getZ(), v.getLoadKey() + "@" + id);
|
||||||
e.set(b.getX(), b.getY(), b.getZ(), container);
|
e.set(b.getX(), b.getY(), b.getZ(), container);
|
||||||
|
e.set(b.getX(), b.getY(), b.getZ(), structureContainer);
|
||||||
if (data instanceof IrisBlockData d) {
|
if (data instanceof IrisBlockData d) {
|
||||||
e.set(b.getX(), b.getY(), b.getZ(), d.getCustom());
|
e.set(b.getX(), b.getY(), b.getZ(), d.getCustom());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
package com.volmit.iris.util.matter.slices;
|
||||||
|
|
||||||
|
import com.volmit.iris.util.data.palette.Palette;
|
||||||
|
import com.volmit.iris.util.matter.Sliced;
|
||||||
|
import com.volmit.iris.util.matter.slices.container.JigsawStructureContainer;
|
||||||
|
|
||||||
|
import java.io.DataInputStream;
|
||||||
|
import java.io.DataOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
|
||||||
|
@Sliced
|
||||||
|
public class JigsawStructureMatter extends RawMatter<JigsawStructureContainer> {
|
||||||
|
|
||||||
|
public JigsawStructureMatter() {
|
||||||
|
this(1, 1, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
public JigsawStructureMatter(int width, int height, int depth) {
|
||||||
|
super(width, height, depth, JigsawStructureContainer.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Palette<JigsawStructureContainer> getGlobalPalette() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeNode(JigsawStructureContainer b, DataOutputStream dos) throws IOException {
|
||||||
|
dos.writeUTF(b.getLoadKey());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JigsawStructureContainer readNode(DataInputStream din) throws IOException {
|
||||||
|
return new JigsawStructureContainer(din.readUTF());
|
||||||
|
}
|
||||||
|
}
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
package com.volmit.iris.util.matter.slices.container;
|
||||||
|
|
||||||
|
import com.volmit.iris.engine.object.IrisJigsawStructure;
|
||||||
|
|
||||||
|
public class JigsawStructureContainer extends RegistrantContainer<IrisJigsawStructure> {
|
||||||
|
|
||||||
|
public JigsawStructureContainer(String loadKey) {
|
||||||
|
super(IrisJigsawStructure.class, loadKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static JigsawStructureContainer toContainer(IrisJigsawStructure structure) {
|
||||||
|
return new JigsawStructureContainer(structure.getLoadKey());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user