Fix shapegen for storage bus
This commit is contained in:
parent
93942161ad
commit
6784271ac7
@ -49,9 +49,11 @@ abstract class CableBlock(properties: Properties) : Block(properties) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected fun generateShapes(halfCoreSize: Double): ImmutableMap<BlockState, VoxelShape> {
|
protected fun generateShapes(halfCoreSize: Double): ImmutableMap<BlockState, VoxelShape> {
|
||||||
val core = Shapes.box(0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize)
|
return getShapeForEachState { getShapeFor(it, halfCoreSize) }
|
||||||
|
}
|
||||||
|
|
||||||
return getShapeForEachState {
|
companion object {
|
||||||
|
fun getShapeFor(it: BlockState, halfCoreSize: Double): VoxelShape {
|
||||||
val shapes = ArrayList<VoxelShape>()
|
val shapes = ArrayList<VoxelShape>()
|
||||||
|
|
||||||
if (it.getValue(CONNECTION_SOUTH))
|
if (it.getValue(CONNECTION_SOUTH))
|
||||||
@ -72,16 +74,14 @@ abstract class CableBlock(properties: Properties) : Block(properties) {
|
|||||||
if (it.getValue(CONNECTION_WEST))
|
if (it.getValue(CONNECTION_WEST))
|
||||||
shapes.add(Shapes.box(0.0, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize))
|
shapes.add(Shapes.box(0.0, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize))
|
||||||
|
|
||||||
var finalShape = core
|
var finalShape = Shapes.box(0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 - halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize, 0.5 + halfCoreSize)
|
||||||
|
|
||||||
for (shape in shapes)
|
for (shape in shapes)
|
||||||
finalShape = Shapes.join(finalShape, shape, BooleanOp.OR)
|
finalShape = Shapes.join(finalShape, shape, BooleanOp.OR)
|
||||||
|
|
||||||
return@getShapeForEachState finalShape
|
return finalShape
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
|
||||||
val CONNECTION_SOUTH: BooleanProperty = BooleanProperty.create("connect_south")
|
val CONNECTION_SOUTH: BooleanProperty = BooleanProperty.create("connect_south")
|
||||||
val CONNECTION_WEST: BooleanProperty = BooleanProperty.create("connect_west")
|
val CONNECTION_WEST: BooleanProperty = BooleanProperty.create("connect_west")
|
||||||
val CONNECTION_EAST: BooleanProperty = BooleanProperty.create("connect_east")
|
val CONNECTION_EAST: BooleanProperty = BooleanProperty.create("connect_east")
|
||||||
|
@ -90,16 +90,7 @@ class StorageBusBlock : RotatableMatteryBlock(), EntityBlock {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val shapes = getShapeForEachState {
|
private val shapes = getShapeForEachState {
|
||||||
val shapes = StorageCableBlock.getShapeFor(it)
|
Shapes.joinUnoptimized(CableBlock.getShapeFor(it, 0.185), BlockShapes.STORAGE_BUS.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
||||||
var finalShape = shapes[0]
|
|
||||||
|
|
||||||
for (i in 1 until shapes.size) {
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, shapes[i], BooleanOp.OR)
|
|
||||||
}
|
|
||||||
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, BlockShapes.STORAGE_BUS.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
|
||||||
|
|
||||||
return@getShapeForEachState finalShape
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("OVERRIDE_DEPRECATION")
|
@Suppress("OVERRIDE_DEPRECATION")
|
||||||
|
@ -91,16 +91,7 @@ class StorageImporterBlock : RotatableMatteryBlock(), EntityBlock {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val shapes = getShapeForEachState {
|
private val shapes = getShapeForEachState {
|
||||||
val shapes = StorageCableBlock.getShapeFor(it)
|
Shapes.joinUnoptimized(CableBlock.getShapeFor(it, 0.185), BlockShapes.STORAGE_IMPORTER.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
||||||
var finalShape = shapes[0]
|
|
||||||
|
|
||||||
for (i in 1 until shapes.size) {
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, shapes[i], BooleanOp.OR)
|
|
||||||
}
|
|
||||||
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, BlockShapes.STORAGE_IMPORTER.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
|
||||||
|
|
||||||
return@getShapeForEachState finalShape
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("OVERRIDE_DEPRECATION")
|
@Suppress("OVERRIDE_DEPRECATION")
|
||||||
@ -173,16 +164,7 @@ class StorageExporterBlock : RotatableMatteryBlock(), EntityBlock {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private val shapes = getShapeForEachState {
|
private val shapes = getShapeForEachState {
|
||||||
val shapes = StorageCableBlock.getShapeFor(it)
|
Shapes.joinUnoptimized(CableBlock.getShapeFor(it, 0.185), BlockShapes.STORAGE_EXPORTER.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
||||||
var finalShape = shapes[0]
|
|
||||||
|
|
||||||
for (i in 1 until shapes.size) {
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, shapes[i], BooleanOp.OR)
|
|
||||||
}
|
|
||||||
|
|
||||||
finalShape = Shapes.joinUnoptimized(finalShape, BlockShapes.STORAGE_EXPORTER.rotateFromNorth(it[rotationProperty]).computeShape(), BooleanOp.OR)
|
|
||||||
|
|
||||||
return@getShapeForEachState finalShape
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("OVERRIDE_DEPRECATION")
|
@Suppress("OVERRIDE_DEPRECATION")
|
||||||
|
Loading…
Reference in New Issue
Block a user