mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2025-12-30 12:29:20 +00:00
ggg
This commit is contained in:
@@ -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));
|
||||
|
||||
@@ -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" : "-") + " |";
|
||||
|
||||
Reference in New Issue
Block a user