9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 03:59:06 +00:00

Revert "Revert "Test carved objects""

This reverts commit b88a565344.
This commit is contained in:
DanLT
2021-07-06 02:04:39 -08:00
parent b88a565344
commit 6df6296cd1
5 changed files with 60 additions and 10 deletions

View File

@@ -474,6 +474,11 @@ public class IrisObject extends IrisRegistrant
}
public void set(int param1Int1, int param1Int2, int param1Int3, BlockData param1BlockData) {
if(config.isCarved() && oplacer.isCarved(param1Int1, param1Int2, param1Int3))
{
return;
}
oplacer.set(param1Int1, param1Int2, param1Int3, param1BlockData);
}
@@ -504,6 +509,11 @@ public class IrisObject extends IrisRegistrant
public void setTile(int param1Int1, int param1Int2, int param1Int3, TileData<? extends TileState> param1TileData) {
oplacer.setTile(param1Int1, param1Int2, param1Int3, param1TileData);
}
@Override
public boolean isCarved(int xx, int j, int zz) {
return oplacer.isCarved(xx,j,zz);
}
} : oplacer;
if(config.isSmartBore())
@@ -769,6 +779,11 @@ public class IrisObject extends IrisRegistrant
if(!data.getMaterial().equals(Material.AIR) && !data.getMaterial().equals(Material.CAVE_AIR))
{
if(config.isCarved() && placer.isCarved(xx, yy, zz))
{
continue;
}
placer.set(xx, yy, zz, data);
if(tile != null)
@@ -836,6 +851,11 @@ public class IrisObject extends IrisRegistrant
for(int j = lowest + y; j > yg - config.getOverStilt() - 1; j--)
{
if(config.isCarved() && placer.isCarved(xx, j, zz))
{
continue;
}
placer.set(xx, j, zz, d);
}
}
@@ -856,6 +876,12 @@ public class IrisObject extends IrisRegistrant
if(config.getSnow() > 0)
{
int height = rngx.i(0, (int) (config.getSnow() * 7));
if(config.isCarved() && placer.isCarved(vx, vy + 1, vz))
{
continue;
}
placer.set(vx, vy + 1, vz, SNOW_LAYERS[Math.max(Math.min(height, 7), 0)]);
}
}

View File

@@ -72,6 +72,10 @@ public class IrisObjectPlacement
@Desc("When bore is enabled, lower min-y of the cuboid it removes")
private int boreExtendMinY = 0;
@DontObfuscate
@Desc("Allow objects to be carved by caves and carvings. Use this sparingly, there is a performance impact.")
private boolean carved = false;
@DontObfuscate
@Desc("If set to true, objects will place on the terrain height, ignoring the water surface.")
private boolean underwater = false;