mirror of
https://github.com/VolmitSoftware/Iris.git
synced 2026-10-26 05:50:39 +00:00
store custom blocks in mantle directly until chunk gen
This commit is contained in:
2 files changed
+6
-4
No files matched your search
@@ -35,6 +35,7 @@ import com.volmit.iris.util.documentation.ChunkCoordinates;
|
|||||||
import com.volmit.iris.util.function.Function3;
|
import com.volmit.iris.util.function.Function3;
|
||||||
import com.volmit.iris.util.mantle.Mantle;
|
import com.volmit.iris.util.mantle.Mantle;
|
||||||
import com.volmit.iris.util.mantle.MantleChunk;
|
import com.volmit.iris.util.mantle.MantleChunk;
|
||||||
|
import com.volmit.iris.util.mantle.flag.MantleFlag;
|
||||||
import com.volmit.iris.util.math.RNG;
|
import com.volmit.iris.util.math.RNG;
|
||||||
import com.volmit.iris.util.matter.Matter;
|
import com.volmit.iris.util.matter.Matter;
|
||||||
import com.volmit.iris.util.matter.MatterCavern;
|
import com.volmit.iris.util.matter.MatterCavern;
|
||||||
@@ -209,10 +210,10 @@ public class MantleWriter implements IObjectPlacer, AutoCloseable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void set(int x, int y, int z, BlockData d) {
|
public void set(int x, int y, int z, BlockData d) {
|
||||||
if (d instanceof IrisCustomData data) {
|
setData(x, y, z, d);
|
||||||
setData(x, y, z, data.getBase());
|
if (d instanceof IrisCustomData) {
|
||||||
setData(x, y, z, data.getCustom());
|
acquireChunk(x >> 4, z >> 4).flag(MantleFlag.CUSTOM_ACTIVE, true);
|
||||||
} else setData(x, y, z, d);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ public interface IrisCustomData extends BlockData {
|
|||||||
yield false;
|
yield false;
|
||||||
yield base.matches(store.getBase()) && custom.equals(store.getCustom());
|
yield base.matches(store.getBase()) && custom.equals(store.getCustom());
|
||||||
}
|
}
|
||||||
|
case "getAsString" -> custom.toString();
|
||||||
case "equals" -> {
|
case "equals" -> {
|
||||||
if (!(args[0] instanceof IrisCustomData store))
|
if (!(args[0] instanceof IrisCustomData store))
|
||||||
yield false;
|
yield false;
|
||||||
|
|||||||
Reference in new issue
Block a user