9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-30 12:29:20 +00:00
This commit is contained in:
Daniel Mills
2020-08-24 12:35:57 -04:00
parent 273f7c7a73
commit 998e1b62a5
8 changed files with 354 additions and 27 deletions

View File

@@ -40,6 +40,19 @@ public class IrisObject extends IrisRegistrant
private int h;
private transient BlockVector center;
public IrisObject copy()
{
IrisObject o = new IrisObject(w, h, d);
o.setCenter(getCenter().clone());
for(BlockVector i : getBlocks().k())
{
o.getBlocks().put(i.clone(), getBlocks().get(i).clone());
}
return o;
}
public IrisObject(int w, int h, int d)
{
blocks = new KMap<>();
@@ -381,12 +394,12 @@ public class IrisObject extends IrisRegistrant
return y;
}
public void rotate(IrisObjectRotation r, int spinx, int spiny, int spinz)
{
KMap<BlockVector, BlockData> v = blocks.copy();
blocks.clear();
for(BlockVector i : v.keySet())
{
blocks.put(r.rotate(i.clone(), spinx, spiny, spinz), r.rotate(v.get(i).clone(), spinx, spiny, spinz));

View File

@@ -1,10 +1,13 @@
package com.volmit.iris.object;
import java.util.Objects;
import com.volmit.iris.gen.atomics.AtomicCache;
import com.volmit.iris.util.ArrayType;
import com.volmit.iris.util.Desc;
import com.volmit.iris.util.DontObfuscate;
import com.volmit.iris.util.KList;
import com.volmit.iris.util.KMap;
import com.volmit.iris.util.RegistryListObject;
import com.volmit.iris.util.Required;
@@ -62,7 +65,7 @@ public class IrisStructureTile
@Desc("List of objects to place centered in this tile")
private KList<String> objects = new KList<>();
private transient IrisObject forceObject;
private transient KMap<Integer, IrisObject> forceObjects = new KMap<>();
@RegistryListObject
@ArrayType(min = 1, type = IrisRareObject.class)
@@ -78,6 +81,11 @@ public class IrisStructureTile
}
public int hashFace()
{
return Objects.hash(ceiling, floor, south, north, east, west);
}
public String toString()
{
return (ceiling.required() ? "C" : "") + (floor.required() ? "F" : "") + "| " + (north.required() ? "X" : "-") + (south.required() ? "X" : "-") + (east.required() ? "X" : "-") + (west.required() ? "X" : "-") + " |";