Compare commits

..

2 Commits

Author SHA1 Message Date
5e3520de55 shapegen 2025-02-26 23:58:22 +05:00
aa0a1ed53f Matter entangler model 2025-02-26 23:27:44 +05:00
48 changed files with 535 additions and 14 deletions

View File

@ -105,6 +105,7 @@ fun addBlockStates(provider: MatteryBlockStateProvider) {
provider.block(MBlocks.MATTER_DECOMPOSER.values) provider.block(MBlocks.MATTER_DECOMPOSER.values)
provider.block(MBlocks.MATTER_REPLICATOR.values) provider.block(MBlocks.MATTER_REPLICATOR.values)
provider.block(MBlocks.MATTER_ENTANGLER)
provider.block(MBlocks.PLATE_PRESS.values) provider.block(MBlocks.PLATE_PRESS.values)
provider.block(MBlocks.TWIN_PLATE_PRESS.values) provider.block(MBlocks.TWIN_PLATE_PRESS.values)
provider.block(MBlocks.GRAVITATION_STABILIZER) provider.block(MBlocks.GRAVITATION_STABILIZER)

View File

@ -192,6 +192,7 @@ fun addItemModels(provider: MatteryItemModelProvider) {
provider.coloredWithBaseBlock(MItems.MATTER_BOTTLER, "matter_bottler", "_idle") provider.coloredWithBaseBlock(MItems.MATTER_BOTTLER, "matter_bottler", "_idle")
provider.coloredWithBaseBlock(MItems.MATTER_SCANNER, "matter_scanner", "_idle") provider.coloredWithBaseBlock(MItems.MATTER_SCANNER, "matter_scanner", "_idle")
provider.coloredWithBaseBlock(MItems.MATTER_REPLICATOR, "matter_replicator", "_idle") provider.coloredWithBaseBlock(MItems.MATTER_REPLICATOR, "matter_replicator", "_idle")
provider.block(MItems.MATTER_ENTANGLER, "matter_entangler_idle")
provider.coloredWithBaseBlock(MItems.DRIVE_VIEWER, "drive_viewer", "_idle") provider.coloredWithBaseBlock(MItems.DRIVE_VIEWER, "drive_viewer", "_idle")
provider.coloredWithBaseBlock(MItems.MATTER_DECOMPOSER, "matter_decomposer", "_idle") provider.coloredWithBaseBlock(MItems.MATTER_DECOMPOSER, "matter_decomposer", "_idle")
provider.coloredWithBaseBlock(MItems.ENERGY_SERVO, "energy_servo") provider.coloredWithBaseBlock(MItems.ENERGY_SERVO, "energy_servo")

View File

@ -99,16 +99,6 @@ public class BlockShapes {
public static final BlockShape MATTER_REPLICATOR = new BlockShape( public static final BlockShape MATTER_REPLICATOR = new BlockShape(
new SimpleCuboid(0.9375d, 0d, 0d, 1d, 0.6875d, 1d), new SimpleCuboid(0.9375d, 0d, 0d, 1d, 0.6875d, 1d),
new SimpleCuboid(0d, 0d, 0d, 0.0625d, 0.6875d, 1d), new SimpleCuboid(0d, 0d, 0d, 0.0625d, 0.6875d, 1d),
new SimpleCuboid(0d, 0.6875d, 0.0625d, 0.5d, 1d, 0.375d),
new SimpleCuboid(0.5d, 0.6875d, 0d, 1d, 1d, 0.375d),
new SimpleCuboid(0.1875d, 0.6875d, 0.6875d, 0.9375d, 0.9375d, 0.9375d),
new SimpleCuboid(0.1875d, 0.6875d, 0.375d, 0.9375d, 0.9375d, 0.625d),
new SimpleCuboid(0.0625d, 0.6875d, 0.4375d, 0.1875d, 0.875d, 0.5625d),
new SimpleCuboid(0.0625d, 0.6875d, 0.75d, 0.1875d, 0.875d, 0.875d),
new SimpleCuboid(0d, 0.6875d, 0.9375d, 0.03125d, 1d, 1d),
new SimpleCuboid(0.96875d, 0.6875d, 0.9375d, 1d, 1d, 1d),
new SimpleCuboid(0.96875d, 0.9375d, 0.375d, 1d, 1d, 0.9375d),
new SimpleCuboid(0d, 0.9375d, 0.375d, 0.03125d, 1d, 0.9375d),
new SimpleCuboid(0.0625d, 0d, 0d, 0.9375d, 0.0625d, 1d), new SimpleCuboid(0.0625d, 0d, 0d, 0.9375d, 0.0625d, 1d),
new SimpleCuboid(0.5d, 0.4375d, 0d, 0.9375d, 0.6875d, 0.0625d), new SimpleCuboid(0.5d, 0.4375d, 0d, 0.9375d, 0.6875d, 0.0625d),
new SimpleCuboid(0.0625d, 0.5625d, 0d, 0.5d, 0.6875d, 0.0625d), new SimpleCuboid(0.0625d, 0.5625d, 0d, 0.5d, 0.6875d, 0.0625d),
@ -117,7 +107,36 @@ public class BlockShapes {
new SimpleCuboid(0.125d, 0.0625d, 0d, 0.875d, 0.125d, 0.0625d), new SimpleCuboid(0.125d, 0.0625d, 0d, 0.875d, 0.125d, 0.0625d),
new SimpleCuboid(0.0625d, 0.625d, 0.0625d, 0.9375d, 0.6875d, 0.9375d), new SimpleCuboid(0.0625d, 0.625d, 0.0625d, 0.9375d, 0.6875d, 0.9375d),
new SimpleCuboid(0.0625d, 0.0625d, 0.9375d, 0.9375d, 0.6875d, 1d), new SimpleCuboid(0.0625d, 0.0625d, 0.9375d, 0.9375d, 0.6875d, 1d),
new SimpleCuboid(0.1875d, 0.0625d, 0.1875d, 0.8125d, 0.125d, 0.8125d) new SimpleCuboid(0.15625d, 0.0625d, 0.15625d, 0.84375d, 0.125d, 0.84375d),
new SimpleCuboid(0.15625d, 0.5625d, 0.15625d, 0.84375d, 0.625d, 0.84375d),
new SimpleCuboid(0.5d, 0.6875d, 0d, 1d, 1d, 0.375d),
new SimpleCuboid(0d, 0.6875d, 0.0625d, 0.5d, 1d, 0.375d),
new SimpleCuboid(0d, 0.6875d, 0.375d, 1d, 1d, 1d),
new SimpleCuboid(0.5625d, 0.5d, -0.00625d, 0.9375d, 0.8125d, -0.00625d),
new SimpleCuboid(0.1875d, 0.25d, 1.00625d, 0.8125d, 0.3125d, 1.00625d),
new SimpleCuboid(0.71875d, 0.128125d, 0.21875d, 0.78125d, 0.128125d, 0.28125d),
new SimpleCuboid(0.21875d, 0.128125d, 0.21875d, 0.28125d, 0.128125d, 0.28125d),
new SimpleCuboid(0.21875d, 0.128125d, 0.71875d, 0.28125d, 0.128125d, 0.78125d),
new SimpleCuboid(0.71875d, 0.128125d, 0.71875d, 0.78125d, 0.128125d, 0.78125d),
new SimpleCuboid(0.1875d, 0.375d, 1.00625d, 0.8125d, 0.4375d, 1.00625d)
);
public static final BlockShape MATTER_ENTANGLER = new BlockShape(
new SimpleCuboid(0d, 0d, 0d, 1d, 0.3125d, 0.875d),
new SimpleCuboid(0d, 0d, 0.875d, 0.125d, 0.3125d, 1d),
new SimpleCuboid(0.875d, 0d, 0.875d, 1d, 0.3125d, 1d),
new SimpleCuboid(0.1875d, 0.375d, 0.1875d, 0.8125d, 1d, 0.8125d),
new SimpleCuboid(0d, 0.4375d, 0.25d, 0.125d, 0.9375d, 0.75d),
new SimpleCuboid(0.125d, 0.5d, 0.3125d, 0.1875d, 0.875d, 0.6875d),
new SimpleCuboid(0.8125d, 0.5d, 0.3125d, 0.875d, 0.875d, 0.6875d),
new SimpleCuboid(0.875d, 0.4375d, 0.25d, 1d, 0.9375d, 0.75d),
new SimpleCuboid(0d, 0.3125d, 0.875d, 1d, 0.4375d, 1d),
new SimpleCuboid(0d, 0.3125d, 0d, 1d, 0.4375d, 0.125d),
new SimpleCuboid(0d, 0.3125d, 0.125d, 0.125d, 0.4375d, 0.875d),
new SimpleCuboid(0.875d, 0.3125d, 0.125d, 1d, 0.4375d, 0.875d),
new SimpleCuboid(0.125d, 0.0625d, 0.84375d, 0.1875d, 0.25d, 0.96875d),
new SimpleCuboid(0.8125d, 0.0625d, 0.84375d, 0.875d, 0.25d, 0.96875d),
new SimpleCuboid(0.1875d, 0.0625d, 0.84375d, 0.8125d, 0.25d, 0.96875d)
); );
public static final BlockShape MATTER_DECOMPOSER = new BlockShape( public static final BlockShape MATTER_DECOMPOSER = new BlockShape(

View File

@ -1,14 +1,23 @@
package ru.dbotthepony.mc.otm.block.matter package ru.dbotthepony.mc.otm.block.matter
import net.minecraft.core.BlockPos import net.minecraft.core.BlockPos
import net.minecraft.world.level.BlockGetter
import net.minecraft.world.level.Level import net.minecraft.world.level.Level
import net.minecraft.world.level.block.Block
import net.minecraft.world.level.block.EntityBlock import net.minecraft.world.level.block.EntityBlock
import net.minecraft.world.level.block.entity.BlockEntity import net.minecraft.world.level.block.entity.BlockEntity
import net.minecraft.world.level.block.entity.BlockEntityTicker import net.minecraft.world.level.block.entity.BlockEntityTicker
import net.minecraft.world.level.block.entity.BlockEntityType import net.minecraft.world.level.block.entity.BlockEntityType
import net.minecraft.world.level.block.state.BlockState import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.phys.shapes.CollisionContext
import net.minecraft.world.phys.shapes.VoxelShape
import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock import ru.dbotthepony.mc.otm.block.RotatableMatteryBlock
import ru.dbotthepony.mc.otm.block.entity.WorkerState
import ru.dbotthepony.mc.otm.block.entity.matter.MatterEntanglerBlockEntity import ru.dbotthepony.mc.otm.block.entity.matter.MatterEntanglerBlockEntity
import ru.dbotthepony.mc.otm.block.getShapeForEachState
import ru.dbotthepony.mc.otm.core.get
import ru.dbotthepony.mc.otm.shapes.BlockShapes
class MatterEntanglerBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock { class MatterEntanglerBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES), EntityBlock {
init { init {
@ -20,8 +29,25 @@ class MatterEntanglerBlock : RotatableMatteryBlock(DEFAULT_MACHINE_PROPERTIES),
return MatterEntanglerBlockEntity(blockPos, blockState) return MatterEntanglerBlockEntity(blockPos, blockState)
} }
override fun createBlockStateDefinition(builder: StateDefinition.Builder<Block, BlockState>) {
super.createBlockStateDefinition(builder)
builder.add(WorkerState.WORKER_STATE)
}
override fun <T : BlockEntity?> getTicker(p_153212_: Level, p_153213_: BlockState, p_153214_: BlockEntityType<T>): BlockEntityTicker<T>? { override fun <T : BlockEntity?> getTicker(p_153212_: Level, p_153213_: BlockState, p_153214_: BlockEntityType<T>): BlockEntityTicker<T>? {
if (p_153212_.isClientSide) return null if (p_153212_.isClientSide) return null
return BlockEntityTicker { _, _, _, tile -> if (tile is MatterEntanglerBlockEntity) tile.tick() } return BlockEntityTicker { _, _, _, tile -> if (tile is MatterEntanglerBlockEntity) tile.tick() }
} }
private val shapes = getShapeForEachState(rotationProperty) { BlockShapes.MATTER_ENTANGLER.rotateFromNorth(it[rotationProperty]).computeShape() }
@Suppress("override_deprecation")
override fun getShape(
state: BlockState,
blockGetter: BlockGetter,
pos: BlockPos,
context: CollisionContext
): VoxelShape {
return shapes[state]!!
}
} }

View File

@ -0,0 +1,453 @@
{
"credit": "Made with Blockbench",
"parent": "block/block",
"render_type": "cutout",
"texture_size": [32, 32],
"textures": {
"0": "overdrive_that_matters:block/machine_base",
"1": "overdrive_that_matters:block/matter_entangler",
"2": "overdrive_that_matters:block/matter_entangler_details",
"particle": "overdrive_that_matters:block/matter_entangler",
"status": "overdrive_that_matters:block/screen_status_ok"
},
"elements": [
{
"name": "base",
"from": [0, 0, 0],
"to": [16, 5, 14],
"faces": {
"north": {"uv": [8, 9, 16, 11.5], "texture": "#1"},
"east": {"uv": [1, 1, 8, 3.5], "texture": "#1"},
"south": {"uv": [0, 8.5, 8, 11], "texture": "#1"},
"west": {"uv": [0, 1, 7, 3.5], "texture": "#1"},
"up": {"uv": [8, 0, 16, 8], "texture": "#1"},
"down": {"uv": [0, 2, 16, 16], "texture": "#0"}
}
},
{
"name": "base",
"from": [0, 0, 14],
"to": [2, 5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 0, 14]},
"faces": {
"east": {"uv": [0, 1, 1, 3.5], "texture": "#1"},
"south": {"uv": [0, 8.5, 1, 11], "texture": "#1"},
"west": {"uv": [7, 1, 8, 3.5], "texture": "#1"},
"down": {"uv": [0, 0, 2, 2], "texture": "#0"}
}
},
{
"name": "base",
"from": [14, 0, 14],
"to": [16, 5, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 0, 14]},
"faces": {
"east": {"uv": [0, 1, 1, 3.5], "texture": "#1"},
"south": {"uv": [0, 8.5, 1, 11], "texture": "#1"},
"west": {"uv": [7, 1, 8, 3.5], "texture": "#1"},
"down": {"uv": [14, 0, 16, 2], "texture": "#0"}
}
},
{
"name": "chamber",
"from": [3, 6, 3],
"to": [13, 16, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 6, 7]},
"faces": {
"north": {"uv": [0, 5, 5, 10], "texture": "#2"},
"east": {"uv": [5, 5, 10, 10], "texture": "#2"},
"south": {"uv": [5, 0, 10, 5], "texture": "#2"},
"west": {"uv": [5, 5, 10, 10], "texture": "#2"},
"up": {"uv": [0, 0, 5, 5], "rotation": 180, "texture": "#2"},
"down": {"uv": [10, 0, 15, 5], "texture": "#2"}
}
},
{
"name": "chamber",
"from": [13, 6, 3],
"to": [3, 16, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [17, 6, 7]},
"faces": {
"north": {"uv": [0, 5, 5, 10], "texture": "#2"},
"east": {"uv": [5, 5, 10, 10], "texture": "#2"},
"south": {"uv": [5, 0, 10, 5], "texture": "#2"},
"west": {"uv": [5, 5, 10, 10], "texture": "#2"},
"up": {"uv": [0, 0, 5, 5], "rotation": 180, "texture": "#2"},
"down": {"uv": [10, 0, 15, 5], "texture": "#2"}
}
},
{
"name": "base",
"from": [0, 7, 4],
"to": [2, 15, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 4]},
"faces": {
"north": {"uv": [4, 4.5, 8, 5.5], "rotation": 90, "texture": "#1"},
"east": {"uv": [0, 3.5, 4, 7.5], "texture": "#1"},
"south": {"uv": [4, 4.5, 8, 5.5], "rotation": 90, "texture": "#1"},
"west": {"uv": [0, 3.5, 4, 7.5], "texture": "#1"},
"up": {"uv": [4, 3.5, 8, 4.5], "rotation": 90, "texture": "#1"}
}
},
{
"from": [2, 8, 5],
"to": [3, 14, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [1, 5, 4]},
"faces": {
"north": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"south": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"up": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"down": {"uv": [0.5, 4, 1, 7], "texture": "#1"}
}
},
{
"from": [13, 8, 5],
"to": [14, 14, 11],
"rotation": {"angle": 0, "axis": "y", "origin": [12, 4, 4]},
"faces": {
"north": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"south": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"up": {"uv": [0.5, 4, 1, 7], "texture": "#1"},
"down": {"uv": [0.5, 4, 1, 7], "texture": "#1"}
}
},
{
"name": "base",
"from": [14, 7, 4],
"to": [16, 15, 12],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 5, 4]},
"faces": {
"north": {"uv": [4, 4.5, 8, 5.5], "rotation": 90, "texture": "#1"},
"east": {"uv": [0, 3.5, 4, 7.5], "texture": "#1"},
"south": {"uv": [4, 4.5, 8, 5.5], "rotation": 90, "texture": "#1"},
"west": {"uv": [0, 3.5, 4, 7.5], "texture": "#1"},
"up": {"uv": [4, 3.5, 8, 4.5], "rotation": 90, "texture": "#1"}
}
},
{
"name": "base",
"from": [0, 5, 14],
"to": [16, 7, 16],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 14]},
"faces": {
"north": {"uv": [8, 7, 16, 8], "texture": "#1"},
"east": {"uv": [0, 0, 1, 1], "texture": "#1"},
"south": {"uv": [0, 7.5, 8, 8.5], "texture": "#1"},
"west": {"uv": [7, 0, 8, 1], "texture": "#1"},
"up": {"uv": [8, 7, 16, 8], "texture": "#1"},
"down": {"uv": [0, 7.5, 8, 8.5], "rotation": 180, "texture": "#1"}
}
},
{
"name": "base",
"from": [0, 5, 0],
"to": [16, 7, 2],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 0]},
"faces": {
"north": {"uv": [8, 8, 16, 9], "texture": "#1"},
"east": {"uv": [7, 0, 8, 1], "texture": "#1"},
"south": {"uv": [8, 7, 16, 8], "texture": "#1"},
"west": {"uv": [0, 0, 1, 1], "texture": "#1"},
"up": {"uv": [8, 0, 16, 1], "texture": "#1"}
}
},
{
"name": "base",
"from": [0, 5, 2],
"to": [2, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 5, 2]},
"faces": {
"east": {"uv": [9, 7, 15, 8], "texture": "#1"},
"west": {"uv": [1, 0, 7, 1], "texture": "#1"},
"up": {"uv": [8, 1, 9, 7], "texture": "#1"}
}
},
{
"name": "base",
"from": [14, 5, 2],
"to": [16, 7, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [14, 5, 2]},
"faces": {
"east": {"uv": [1, 0, 7, 1], "texture": "#1"},
"west": {"uv": [9, 7, 15, 8], "texture": "#1"},
"up": {"uv": [15, 1, 16, 7], "texture": "#1"}
}
},
{
"name": "keyboard",
"from": [2, 7, -1],
"to": [10, 8, 2],
"rotation": {"angle": -45, "axis": "x", "origin": [6, 7.5, 0.5]},
"faces": {
"north": {"uv": [5, 15.5, 9, 16], "texture": "#2"},
"east": {"uv": [4.5, 14, 5, 15.5], "rotation": 90, "texture": "#2"},
"south": {"uv": [5, 13.5, 9, 14], "texture": "#2"},
"west": {"uv": [9, 14, 9.5, 15.5], "rotation": 90, "texture": "#2"},
"up": {"uv": [5, 14, 9, 15.5], "rotation": 180, "texture": "#2"},
"down": {"uv": [0, 14.5, 4, 16], "texture": "#2"}
}
},
{
"name": "screen",
"from": [11, 6, 0],
"to": [15, 10, 1],
"rotation": {"angle": 45, "axis": "x", "origin": [12.5, 7.5, 0.5]},
"faces": {
"north": {"uv": [0, 10, 2, 12], "rotation": 180, "texture": "#2"},
"east": {"uv": [2, 12, 4, 12.5], "rotation": 90, "texture": "#2"},
"south": {"uv": [2, 12.5, 4, 14.5], "texture": "#2"},
"west": {"uv": [2, 12, 4, 12.5], "rotation": 270, "texture": "#2"},
"up": {"uv": [2, 12, 4, 12.5], "texture": "#2"},
"down": {"uv": [2, 12, 4, 12.5], "rotation": 180, "texture": "#2"}
}
},
{
"name": "screen_glow",
"from": [11, 6.05, -0.05],
"to": [15, 10.05, -0.05],
"rotation": {"angle": 45, "axis": "x", "origin": [12.5, 7.5, 0.5]},
"faces": {
"north": {"uv": [0, 0, 16, 16], "texture": "#status", "neoforge_data": {"block_light": 15}}
}
},
{
"name": "shield",
"from": [0, 8, 12],
"to": [16, 14, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 11, 12]},
"faces": {
"east": {"uv": [8, 11.5, 7, 14.5], "texture": "#1"},
"south": {"uv": [8, 11.5, 16, 14.5], "texture": "#1"},
"west": {"uv": [7, 11.5, 8, 14.5], "texture": "#1"}
}
},
{
"name": "shield",
"from": [0, 14, 12],
"to": [16, 8, 14],
"rotation": {"angle": 0, "axis": "y", "origin": [0, 17, 12]},
"faces": {
"east": {"uv": [8, 11.5, 7, 14.5], "texture": "#1"},
"south": {"uv": [8, 11.5, 16, 14.5], "texture": "#1"},
"west": {"uv": [7, 11.5, 8, 14.5], "texture": "#1"}
}
},
{
"name": "lower",
"from": [6.91342, 11.3806, 9.3],
"to": [8.91342, 15.3806, 10],
"rotation": {"angle": 22.5, "axis": "z", "origin": [8, 12, 9.675]},
"faces": {
"north": {"uv": [13.5, 6.5, 15.5, 7.5], "rotation": 90, "texture": "#2"},
"east": {"uv": [13.5, 7.5, 15.5, 8], "rotation": 270, "texture": "#2"},
"south": {"uv": [13.5, 6.5, 15.5, 7.5], "rotation": 270, "texture": "#2"},
"west": {"uv": [13.5, 6, 15.5, 6.5], "rotation": 270, "texture": "#2"},
"up": {"uv": [13, 6.5, 13.5, 7.5], "rotation": 270, "texture": "#2"},
"down": {"uv": [13, 6.5, 13.5, 7.5], "rotation": 270, "texture": "#2"}
}
},
{
"name": "lower",
"from": [6.24264, 8.58579, 5.9],
"to": [10.24264, 10.58579, 6.6],
"rotation": {"angle": -45, "axis": "z", "origin": [10, 9, 6.275]},
"faces": {
"north": {"uv": [13.5, 6.5, 15.5, 7.5], "texture": "#2"},
"east": {"uv": [13, 6.5, 13.5, 7.5], "texture": "#2"},
"south": {"uv": [13.5, 6.5, 15.5, 7.5], "texture": "#2"},
"west": {"uv": [13, 6.5, 13.5, 7.5], "texture": "#2"},
"up": {"uv": [13.5, 6, 15.5, 6.5], "texture": "#2"},
"down": {"uv": [13.5, 7.5, 15.5, 8], "texture": "#2"}
}
},
{
"name": "joint",
"from": [2, 11, 8.7],
"to": [4, 13, 10.7],
"rotation": {"angle": -22.5, "axis": "z", "origin": [3, 12, 9.675]},
"faces": {
"north": {"uv": [11, 5, 12, 6], "texture": "#2"},
"east": {"uv": [10, 5, 11, 6], "texture": "#2"},
"south": {"uv": [11, 5, 12, 6], "texture": "#2"},
"west": {"uv": [10, 5, 11, 6], "texture": "#2"},
"up": {"uv": [10, 5, 11, 6], "texture": "#2"},
"down": {"uv": [10, 5, 11, 6], "texture": "#2"}
}
},
{
"name": "joint",
"from": [12, 12, 5.3],
"to": [14, 14, 7.3],
"rotation": {"angle": 45, "axis": "z", "origin": [13, 13, 6.275]},
"faces": {
"north": {"uv": [11, 5, 12, 6], "texture": "#2"},
"east": {"uv": [10, 5, 11, 6], "texture": "#2"},
"south": {"uv": [11, 5, 12, 6], "texture": "#2"},
"west": {"uv": [10, 5, 11, 6], "texture": "#2"},
"up": {"uv": [10, 5, 11, 6], "texture": "#2"},
"down": {"uv": [10, 5, 11, 6], "texture": "#2"}
}
},
{
"name": "upper",
"from": [3, 12, 9.2],
"to": [8, 14, 10.2],
"rotation": {"angle": -22.5, "axis": "z", "origin": [3, 12, 9.675]},
"faces": {
"north": {"uv": [10.5, 6.5, 13, 7.5], "texture": "#2"},
"east": {"uv": [10, 6.5, 10.5, 7.5], "texture": "#2"},
"south": {"uv": [10.5, 6.5, 13, 7.5], "texture": "#2"},
"west": {"uv": [10, 6.5, 10.5, 7.5], "texture": "#2"},
"up": {"uv": [10.5, 6, 13, 6.5], "texture": "#2"},
"down": {"uv": [10.5, 7.5, 13, 8], "texture": "#2"}
}
},
{
"name": "upper",
"from": [11, 8, 5.8],
"to": [13, 13, 6.8],
"rotation": {"angle": -22.5, "axis": "z", "origin": [13, 13, 6.275]},
"faces": {
"north": {"uv": [10.5, 6.5, 13, 7.5], "rotation": 90, "texture": "#2"},
"east": {"uv": [10.5, 7.5, 13, 8], "rotation": 270, "texture": "#2"},
"south": {"uv": [10.5, 6.5, 13, 7.5], "rotation": 270, "texture": "#2"},
"west": {"uv": [10.5, 6, 13, 6.5], "rotation": 270, "texture": "#2"},
"up": {"uv": [10, 6.5, 10.5, 7.5], "rotation": 270, "texture": "#2"},
"down": {"uv": [10, 6.5, 10.5, 7.5], "rotation": 270, "texture": "#2"}
}
},
{
"name": "upper",
"from": [6.77817, 6.87868, 5.8],
"to": [8.77817, 11.87868, 6.8],
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 6.275]},
"faces": {
"north": {"uv": [10.5, 6.5, 13, 7.5], "rotation": 90, "texture": "#2"},
"east": {"uv": [10.5, 7.5, 13, 8], "rotation": 270, "texture": "#2"},
"south": {"uv": [10.5, 6.5, 13, 7.5], "rotation": 270, "texture": "#2"},
"west": {"uv": [10.5, 6, 13, 6.5], "rotation": 270, "texture": "#2"},
"up": {"uv": [10, 6.5, 10.5, 7.5], "rotation": 270, "texture": "#2"},
"down": {"uv": [10, 6.5, 10.5, 7.5], "rotation": 270, "texture": "#2"}
}
},
{
"name": "upper",
"from": [6.68925, 14.22628, 9.2],
"to": [11.68925, 16.22628, 10.2],
"rotation": {"angle": -45, "axis": "z", "origin": [7, 15, 9.675]},
"faces": {
"north": {"uv": [10.5, 6.5, 13, 7.5], "texture": "#2"},
"east": {"uv": [10, 6.5, 10.5, 7.5], "texture": "#2"},
"south": {"uv": [10.5, 6.5, 13, 7.5], "texture": "#2"},
"west": {"uv": [10, 6.5, 10.5, 7.5], "texture": "#2"},
"up": {"uv": [10.5, 6, 13, 6.5], "texture": "#2"},
"down": {"uv": [10.5, 7.5, 13, 8], "texture": "#2"}
}
},
{
"name": "pointer",
"from": [9.22628, 10.55339, 9.3],
"to": [10.22628, 11.55339, 10.1],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 12, 9.675]},
"faces": {
"north": {"uv": [10.5, 8.5, 11, 9], "texture": "#2"},
"east": {"uv": [10, 8.5, 10.4, 9], "texture": "#2"},
"south": {"uv": [10.5, 8.5, 11, 9], "texture": "#2"},
"west": {"uv": [10, 8.5, 10.4, 9], "texture": "#2"},
"up": {"uv": [10.5, 8, 11, 8.4], "texture": "#2"}
}
},
{
"name": "pointer_glow",
"from": [9.22628, 9.55339, 9.3],
"to": [10.22628, 10.55339, 10.1],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 12, 9.675]},
"faces": {
"north": {"uv": [10.5, 9, 11, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"east": {"uv": [10, 9, 10.4, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"south": {"uv": [10.5, 9, 11, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"west": {"uv": [10, 9, 10.4, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"down": {"uv": [10.5, 9.5, 11, 9.9], "texture": "#2", "neoforge_data": {"block_light": 15}}
}
},
{
"name": "pointer",
"from": [7.77817, 5.87868, 5.9],
"to": [8.77817, 6.87868, 6.7],
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 6.275]},
"faces": {
"north": {"uv": [10.5, 8.5, 11, 9], "texture": "#2"},
"east": {"uv": [10, 8.5, 10.4, 9], "texture": "#2"},
"south": {"uv": [10.5, 8.5, 11, 9], "texture": "#2"},
"west": {"uv": [10, 8.5, 10.4, 9], "texture": "#2"},
"up": {"uv": [10.5, 8, 11, 8.4], "texture": "#2"}
}
},
{
"name": "pointer_glow",
"from": [7.77817, 4.87868, 5.9],
"to": [8.77817, 5.87868, 6.7],
"rotation": {"angle": -22.5, "axis": "z", "origin": [8, 12, 6.275]},
"faces": {
"north": {"uv": [10.5, 9, 11, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"east": {"uv": [10, 9, 10.4, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"south": {"uv": [10.5, 9, 11, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"west": {"uv": [10, 9, 10.4, 9.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"down": {"uv": [10.5, 9.5, 11, 9.9], "texture": "#2", "neoforge_data": {"block_light": 15}}
}
},
{
"name": "canister",
"from": [2, 1, 13.5],
"to": [3, 4, 15.5],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 2, 13.5]},
"faces": {
"south": {"uv": [4.5, 12, 5, 13.5], "texture": "#2"},
"up": {"uv": [4.5, 11, 5, 12], "texture": "#2"},
"down": {"uv": [4.5, 12, 5, 11], "texture": "#2"}
}
},
{
"name": "canister",
"from": [13, 1, 13.5],
"to": [14, 4, 15.5],
"rotation": {"angle": 0, "axis": "y", "origin": [13, 2, 13.5]},
"faces": {
"south": {"uv": [10, 12, 10.5, 13.5], "texture": "#2"},
"up": {"uv": [10, 11, 10.5, 12], "texture": "#2"},
"down": {"uv": [10, 12, 10.5, 11], "texture": "#2"}
}
},
{
"name": "canister_glow",
"from": [3, 1, 13.5],
"to": [13, 4, 15.5],
"rotation": {"angle": 0, "axis": "y", "origin": [2, 2, 13.5]},
"faces": {
"south": {"uv": [5, 12, 10, 13.5], "texture": "#2", "neoforge_data": {"block_light": 15}},
"up": {"uv": [5, 11, 10, 12], "texture": "#2", "neoforge_data": {"block_light": 15}},
"down": {"uv": [5, 13.5, 10, 12.5], "texture": "#2", "neoforge_data": {"block_light": 15}}
}
},
{
"name": "wires",
"from": [15, 9, 11],
"to": [15, 17, 17],
"rotation": {"angle": 22.5, "axis": "y", "origin": [15, 13, 12]},
"faces": {
"east": {"uv": [10.5, 12, 13.5, 16], "texture": "#2"},
"west": {"uv": [13.5, 12, 10.5, 16], "texture": "#2"}
}
},
{
"name": "wires",
"from": [15, 10, 11],
"to": [15, 18, 17],
"rotation": {"angle": 0, "axis": "y", "origin": [15, 14, 12]},
"faces": {
"east": {"uv": [11, 8, 14, 12], "texture": "#2"},
"west": {"uv": [14, 8, 11, 12], "texture": "#2"}
}
}
]
}

View File

@ -0,0 +1,7 @@
{
"parent": "overdrive_that_matters:block/matter_entangler,
"texture_size": [32, 32],
"textures": {
"status": "overdrive_that_matters:block/screen_status_error"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "overdrive_that_matters:block/matter_entangler",
"texture_size": [32, 32],
"textures": {
"status": "overdrive_that_matters:block/screen_status_offline"
}
}

View File

@ -0,0 +1,7 @@
{
"parent": "overdrive_that_matters:block/matter_entangler",
"texture_size": [32, 32],
"textures": {
"status": "overdrive_that_matters:block/screen_status_ok"
}
}

View File

@ -292,9 +292,9 @@
}, },
{ {
"name": "monitor", "name": "monitor",
"from": [9, 8, 0], "from": [9, 8, -0.1],
"to": [15, 13, 0], "to": [15, 13, -0.1],
"rotation": {"angle": 0, "axis": "y", "origin": [13, 11, -2]}, "rotation": {"angle": 0, "axis": "y", "origin": [13, 11, -2.05]},
"faces": { "faces": {
"north": {"uv": [0, 3.2, 9.56, 11.14], "texture": "#status", "neoforge_data": {"block_light": 15}} "north": {"uv": [0, 3.2, 9.56, 11.14], "texture": "#status", "neoforge_data": {"block_light": 15}}
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 750 B

After

Width:  |  Height:  |  Size: 980 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 B

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 370 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 372 B