блокстейты + шейпы + модель предмета для зарядника

This commit is contained in:
YuRaNnNzZZ 2023-07-06 03:14:08 +03:00
parent 507f0cbe41
commit 18f0f833f3
Signed by: YuRaNnNzZZ
GPG Key ID: 5F71738C85A6006D
7 changed files with 556 additions and 4 deletions

View File

@ -7,6 +7,7 @@ import ru.dbotthepony.mc.otm.block.CableBlock
import ru.dbotthepony.mc.otm.block.decorative.CargoCrateBlock
import ru.dbotthepony.mc.otm.block.entity.WorkerState
import ru.dbotthepony.mc.otm.block.matter.MatterBottlerBlock
import ru.dbotthepony.mc.otm.block.tech.AndroidChargerBlock
import ru.dbotthepony.mc.otm.core.math.BlockRotationFreedom
import ru.dbotthepony.mc.otm.core.math.xRotationBlockstateNorth
import ru.dbotthepony.mc.otm.core.math.xRotationBlockstateSouth
@ -45,6 +46,19 @@ fun addBlockStates(provider: MatteryBlockStateProvider) {
}
}
with(provider.getMultipartBuilder(MBlocks.ANDROID_CHARGER)) {
for (dir in BlockRotationFreedom.ONE.possibleValues) {
for (part in AndroidChargerBlock.PART.possibleValues) {
part().modelFile(provider.models().getExistingFile(modLocation("block/${MNames.ANDROID_CHARGER}_${part.serializedName}")))
.rotationY(dir.front.yRotationBlockstateNorth())
.addModel()
.condition(AndroidChargerBlock.PART, part)
.condition(BlockRotationFreedom.ONE.property, dir)
.end()
}
}
}
with(provider.getMultipartBuilder(MBlocks.MATTER_BOTTLER)) {
for (dir in BlockRotationFreedom.ONE.possibleValues) {
for (enum in WorkerState.SEMI_WORKER_STATE.possibleValues) {

View File

@ -688,4 +688,48 @@ public class BlockShapes {
new SimpleCuboid(0.03125d, 0.8125d, 0.03125d, 0.96875d, 0.875d, 0.96875d),
new SimpleCuboid(0d, 0.1875d, 0d, 1d, 0.8125d, 1d)
);
public static final BlockShape ANDROID_CHARGER_BASE = new BlockShape(
new SimpleCuboid(0d, 0d, 0d, 1d, 0.5d, 1d),
new SimpleCuboid(0.6875d, 0.5d, 0.0625d, 0.9375d, 0.75d, 0.9375d),
new SimpleCuboid(0.3125d, 0.5d, 0.0625d, 0.0625d, 0.75d, 0.9375d),
new SimpleCuboid(0.125d, 0.5d, 0.125d, 0.875d, 0.6875d, 0.875d),
new SimpleCuboid(0.0625d, 0.5d, 0.0625d, 0.3125d, 0.75d, 0.9375d),
new SimpleCuboid(0.9375d, 0.5d, 0.0625d, 0.6875d, 0.75d, 0.9375d),
new SimpleCuboid(0.1875d, 0.6875d, 0.1875d, 0.3125d, 1d, 0.3125d),
new SimpleCuboid(0.25d, 0.6875d, 0.25d, 0.75d, 1d, 0.75d),
new SimpleCuboid(0.6875d, 0.6875d, 0.1875d, 0.8125d, 1d, 0.3125d),
new SimpleCuboid(0.6875d, 0.6875d, 0.6875d, 0.8125d, 1d, 0.8125d),
new SimpleCuboid(0.1875d, 0.6875d, 0.6875d, 0.3125d, 1d, 0.8125d),
new SimpleCuboid(0.3125d, 0.5d, 0.75d, 0.6875d, 1d, 1d)
);
public static final BlockShape ANDROID_CHARGER_MIDDLE = new BlockShape(
new SimpleCuboid(0.25d, 0d, 0.25d, 0.75d, 1d, 0.75d),
new SimpleCuboid(0.1875d, 0d, 0.6875d, 0.3125d, 1d, 0.8125d),
new SimpleCuboid(0.6875d, 0d, 0.1875d, 0.8125d, 1d, 0.3125d),
new SimpleCuboid(0.1875d, 0d, 0.1875d, 0.3125d, 1d, 0.3125d),
new SimpleCuboid(0.6875d, 0d, 0.6875d, 0.8125d, 1d, 0.8125d),
new SimpleCuboid(0.3125d, 0d, 0.75d, 0.6875d, 1d, 1d),
new SimpleCuboid(0.125d, -0.0625d, 0.125d, 0.875d, 0.3125d, 0.875d),
new SimpleCuboid(0.125d, -0.0625d, 0.875d, 0.875d, 0.3125d, 0.125d),
new SimpleCuboid(0.125d, 0.6875d, 0.875d, 0.875d, 1.0625d, 0.125d),
new SimpleCuboid(0.125d, 0.6875d, 0.125d, 0.875d, 1.0625d, 0.875d)
);
public static final BlockShape ANDROID_CHARGER_TOP = new BlockShape(
new SimpleCuboid(0.1875d, 0.6875d, 0d, 0.8125d, 0.875d, 0d),
new SimpleCuboid(0.1875d, 0d, 0.6875d, 0.3125d, 0.3125d, 0.8125d),
new SimpleCuboid(0.6875d, 0d, 0.1875d, 0.8125d, 0.3125d, 0.3125d),
new SimpleCuboid(0.1875d, 0d, 0.1875d, 0.3125d, 0.3125d, 0.3125d),
new SimpleCuboid(0.6875d, 0d, 0.6875d, 0.8125d, 0.3125d, 0.8125d),
new SimpleCuboid(0.25d, 0d, 0.25d, 0.75d, 0.3125d, 0.75d),
new SimpleCuboid(0.3125d, 0d, 0.75d, 0.6875d, 0.5d, 1d),
new SimpleCuboid(0.0625d, 0.25d, 0.0625d, 0.3125d, 0.5d, 0.9375d),
new SimpleCuboid(0.9375d, 0.25d, 0.0625d, 0.6875d, 0.5d, 0.9375d),
new SimpleCuboid(0.6875d, 0.25d, 0.0625d, 0.9375d, 0.5d, 0.9375d),
new SimpleCuboid(0.3125d, 0.25d, 0.0625d, 0.0625d, 0.5d, 0.9375d),
new SimpleCuboid(0.125d, 0.3125d, 0.125d, 0.875d, 0.5d, 0.875d),
new SimpleCuboid(0d, 0.5d, 0d, 1d, 1d, 1d)
);
}

View File

@ -20,14 +20,18 @@ import net.minecraft.world.level.block.state.BlockState
import net.minecraft.world.level.block.state.StateDefinition
import net.minecraft.world.level.block.state.properties.EnumProperty
import net.minecraft.world.level.material.PushReaction
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.entity.MatteryPoweredBlockEntity
import ru.dbotthepony.mc.otm.block.entity.tech.AndroidChargerBlockEntity
import ru.dbotthepony.mc.otm.block.getShapeForEachState
import ru.dbotthepony.mc.otm.capability.energy.WorkerEnergyStorage
import ru.dbotthepony.mc.otm.core.get
import ru.dbotthepony.mc.otm.core.gracefulBlockBreak
import ru.dbotthepony.mc.otm.core.math.plus
import ru.dbotthepony.mc.otm.oncePre
import ru.dbotthepony.mc.otm.shapes.BlockShapes
class AndroidChargerBlock : RotatableMatteryBlock(Properties.of().destroyTime(2.5f).explosionResistance(40f).pushReaction(PushReaction.BLOCK).requiresCorrectToolForDrops()), EntityBlock {
enum class Type : StringRepresentable {
@ -129,6 +133,25 @@ class AndroidChargerBlock : RotatableMatteryBlock(Properties.of().destroyTime(2.
MatteryPoweredBlockEntity.appendHoverText(p_49816_, p_49817_, p_49818_, p_49819_)
}
private val shapes = getShapeForEachState(listOf(rotationProperty, PART)) {
val shape = when (it[PART]!!) {
Type.BASE -> BlockShapes.ANDROID_CHARGER_BASE
Type.MIDDLE -> BlockShapes.ANDROID_CHARGER_MIDDLE
Type.TOP -> BlockShapes.ANDROID_CHARGER_TOP
}
shape.rotateFromNorth(it[rotationProperty]).computeShape()
}
override fun getShape(
p_60555_: BlockState,
p_60556_: BlockGetter,
p_60557_: BlockPos,
p_60558_: CollisionContext
): VoxelShape {
return shapes[p_60555_]!!
}
companion object {
val PART: EnumProperty<Type> = EnumProperty.create("part", Type::class.java)
}

View File

@ -1,5 +1,6 @@
{
"credit": "Made with Blockbench",
"render_type": "cutout",
"texture_size": [32, 64],
"textures": {
"0": "overdrive_that_matters:block/android_charger",
@ -92,7 +93,10 @@
"east": {"uv": [8, 9, 12, 10.25], "texture": "#0"},
"south": {"uv": [8, 9, 12, 10.25], "texture": "#0"},
"west": {"uv": [8, 9, 12, 10.25], "texture": "#0"}
}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",

View File

@ -1,5 +1,6 @@
{
"credit": "Made with Blockbench",
"render_type": "cutout",
"texture_size": [32, 64],
"textures": {
"0": "overdrive_that_matters:block/android_charger",
@ -15,7 +16,10 @@
"east": {"uv": [8, 9, 12, 13], "texture": "#0"},
"south": {"uv": [8, 9, 12, 13], "texture": "#0"},
"west": {"uv": [8, 9, 12, 13], "texture": "#0"}
}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",

View File

@ -1,5 +1,6 @@
{
"credit": "Made with Blockbench",
"render_type": "cutout",
"texture_size": [32, 64],
"textures": {
"0": "overdrive_that_matters:block/android_charger",
@ -12,7 +13,10 @@
"to": [13, 14, 0],
"faces": {
"north": {"uv": [11, 2.25, 12.5, 4.75], "rotation": 90, "texture": "#0"}
}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",
@ -67,7 +71,10 @@
"east": {"uv": [8, 11.75, 12, 13], "texture": "#0"},
"south": {"uv": [8, 11.75, 12, 13], "texture": "#0"},
"west": {"uv": [8, 11.75, 12, 13], "texture": "#0"}
}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "spine",

View File

@ -0,0 +1,456 @@
{
"credit": "Made with Blockbench",
"render_type": "cutout",
"texture_size": [32, 64],
"textures": {
"0": "overdrive_that_matters:block/android_charger",
"particle": "overdrive_that_matters:block/android_charger"
},
"elements": [
{
"name": "body",
"from": [0, -16, 0],
"to": [16, -8, 16],
"faces": {
"north": {"uv": [0, 5, 8, 7], "texture": "#0"},
"east": {"uv": [0, 8, 8, 10], "texture": "#0"},
"south": {"uv": [0, 10, 8, 12], "texture": "#0"},
"west": {"uv": [8, 8, 0, 10], "texture": "#0"},
"up": {"uv": [0, 12, 8, 16], "texture": "#0"},
"down": {"uv": [0, 12, 8, 16], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, -8, 1],
"to": [15, -4, 15],
"faces": {
"north": {"uv": [2, 7, 0, 8], "texture": "#0"},
"east": {"uv": [9, 7, 2, 8], "texture": "#0"},
"south": {"uv": [0, 7, 2, 8], "texture": "#0"}
}
},
{
"name": "frame",
"from": [5, -8, 1],
"to": [1, -4, 15],
"faces": {
"north": {"uv": [2, 7, 0, 8], "texture": "#0"},
"east": {"uv": [9, 7, 2, 8], "texture": "#0"},
"south": {"uv": [0, 7, 2, 8], "texture": "#0"}
}
},
{
"name": "body",
"from": [2, -8, 2],
"to": [14, -5, 14],
"faces": {
"north": {"uv": [14, 13, 15.5, 16], "rotation": 90, "texture": "#0"},
"east": {"uv": [14, 13, 15.5, 16], "rotation": 90, "texture": "#0"},
"south": {"uv": [14, 13, 15.5, 16], "rotation": 90, "texture": "#0"},
"west": {"uv": [14, 13, 15.5, 16], "rotation": 90, "texture": "#0"},
"up": {"uv": [8, 13, 14, 16], "texture": "#0"},
"down": {"uv": [0, 0, 12, 12], "texture": "#missing"}
}
},
{
"name": "frame",
"from": [1, -8, 1],
"to": [5, -4, 15],
"faces": {
"north": {"uv": [0, 7, 2, 8], "texture": "#0"},
"south": {"uv": [2, 7, 0, 8], "texture": "#0"},
"west": {"uv": [2, 7, 9, 8], "texture": "#0"}
}
},
{
"name": "frame",
"from": [15, -8, 1],
"to": [11, -4, 15],
"faces": {
"north": {"uv": [0, 7, 2, 8], "texture": "#0"},
"south": {"uv": [2, 7, 0, 8], "texture": "#0"},
"west": {"uv": [2, 7, 9, 8], "texture": "#0"}
}
},
{
"name": "frame",
"from": [3, -5, 3],
"to": [5, 0, 5],
"faces": {
"north": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"east": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"south": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"west": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"}
}
},
{
"name": "core",
"from": [4, -5, 4],
"to": [12, 0, 12],
"faces": {
"north": {"uv": [8, 9, 12, 10.25], "texture": "#0"},
"east": {"uv": [8, 9, 12, 10.25], "texture": "#0"},
"south": {"uv": [8, 9, 12, 10.25], "texture": "#0"},
"west": {"uv": [8, 9, 12, 10.25], "texture": "#0"}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",
"from": [11, -5, 3],
"to": [13, 0, 5],
"faces": {
"north": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"east": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"south": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"west": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, -5, 11],
"to": [13, 0, 13],
"faces": {
"north": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"east": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"south": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"west": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"}
}
},
{
"name": "frame",
"from": [3, -5, 11],
"to": [5, 0, 13],
"faces": {
"north": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"east": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"},
"south": {"uv": [8.5, 0, 9.5, 1.25], "texture": "#0"},
"west": {"uv": [7.5, 0, 8.5, 1.25], "texture": "#0"}
}
},
{
"name": "spine",
"from": [5, -8, 12],
"to": [11, 0, 16],
"faces": {
"east": {"uv": [16, 5, 14, 7], "texture": "#0"},
"south": {"uv": [12, 9, 15, 11], "texture": "#0"},
"west": {"uv": [14, 5, 16, 7], "texture": "#0"}
}
},
{
"name": "core",
"from": [4, 0, 4],
"to": [12, 16, 12],
"faces": {
"north": {"uv": [8, 9, 12, 13], "texture": "#0"},
"east": {"uv": [8, 9, 12, 13], "texture": "#0"},
"south": {"uv": [8, 9, 12, 13], "texture": "#0"},
"west": {"uv": [8, 9, 12, 13], "texture": "#0"}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",
"from": [3, 0, 11],
"to": [5, 16, 13],
"faces": {
"north": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"east": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"south": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"west": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, 0, 3],
"to": [13, 16, 5],
"faces": {
"north": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"east": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"south": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"west": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [3, 0, 3],
"to": [5, 16, 5],
"faces": {
"north": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"east": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"south": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"west": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, 0, 11],
"to": [13, 16, 13],
"faces": {
"north": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"east": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"},
"south": {"uv": [7.5, 0, 8.5, 4], "texture": "#0"},
"west": {"uv": [8.5, 0, 9.5, 4], "texture": "#0"}
}
},
{
"name": "spine",
"from": [5, 0, 12],
"to": [11, 16, 16],
"faces": {
"east": {"uv": [16, 5, 14, 9], "texture": "#0"},
"south": {"uv": [12, 9, 15, 13], "texture": "#0"},
"west": {"uv": [14, 5, 16, 9], "texture": "#0"}
}
},
{
"name": "grid",
"from": [2, -1, 2],
"to": [14, 5, 14],
"faces": {
"north": {"uv": [0, 0, 6, 1.5], "texture": "#0"},
"east": {"uv": [0, 1.5, 6, 3], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 3, 6, 4.5], "texture": "#0"},
"west": {"uv": [0, 1.5, 6, 3], "texture": "#0"}
}
},
{
"name": "grid",
"from": [2, -1, 14],
"to": [14, 5, 2],
"faces": {
"north": {"uv": [0, 3, 6, 4.5], "texture": "#0"},
"east": {"uv": [6, 1.5, 0, 3], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 0, 6, 1.5], "texture": "#0"},
"west": {"uv": [6, 1.5, 0, 3], "texture": "#0"}
}
},
{
"name": "grid",
"from": [2, 11, 14],
"to": [14, 17, 2],
"faces": {
"north": {"uv": [0, 3, 6, 4.5], "texture": "#0"},
"east": {"uv": [6, 1.5, 0, 3], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 0, 6, 1.5], "texture": "#0"},
"west": {"uv": [6, 1.5, 0, 3], "texture": "#0"}
}
},
{
"name": "grid",
"from": [2, 11, 2],
"to": [14, 17, 14],
"faces": {
"north": {"uv": [0, 0, 6, 1.5], "texture": "#0"},
"east": {"uv": [0, 1.5, 6, 3], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 3, 6, 4.5], "texture": "#0"},
"west": {"uv": [0, 1.5, 6, 3], "texture": "#0"}
}
},
{
"name": "screen",
"from": [3, 27, 0],
"to": [13, 30, 0],
"faces": {
"north": {"uv": [11, 2.25, 12.5, 4.75], "rotation": 90, "texture": "#0"}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "frame",
"from": [3, 16, 11],
"to": [5, 21, 13],
"faces": {
"north": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"east": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"south": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"west": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, 16, 3],
"to": [13, 21, 5],
"faces": {
"north": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"east": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"south": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"west": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [3, 16, 3],
"to": [5, 21, 5],
"faces": {
"north": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"east": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"south": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"west": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, 16, 11],
"to": [13, 21, 13],
"faces": {
"north": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"east": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"},
"south": {"uv": [7.5, 2.75, 8.5, 4], "texture": "#0"},
"west": {"uv": [8.5, 2.75, 9.5, 4], "texture": "#0"}
}
},
{
"name": "core",
"from": [4, 16, 4],
"to": [12, 21, 12],
"faces": {
"north": {"uv": [8, 11.75, 12, 13], "texture": "#0"},
"east": {"uv": [8, 11.75, 12, 13], "texture": "#0"},
"south": {"uv": [8, 11.75, 12, 13], "texture": "#0"},
"west": {"uv": [8, 11.75, 12, 13], "texture": "#0"}
},
"forge_data": {
"block_light": 15
}
},
{
"name": "spine",
"from": [5, 16, 12],
"to": [11, 24, 16],
"faces": {
"east": {"uv": [16, 7, 14, 9], "texture": "#0"},
"south": {"uv": [12, 11, 15, 13], "texture": "#0"},
"west": {"uv": [14, 7, 16, 9], "texture": "#0"}
}
},
{
"name": "frame",
"from": [1, 20, 1],
"to": [5, 24, 15],
"faces": {
"north": {"uv": [2, 7, 0, 8], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 7, 2, 8], "rotation": 180, "texture": "#0"},
"west": {"uv": [2, 7, 9, 8], "rotation": 180, "texture": "#0"}
}
},
{
"name": "frame",
"from": [15, 20, 1],
"to": [11, 24, 15],
"faces": {
"north": {"uv": [2, 7, 0, 8], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 7, 2, 8], "rotation": 180, "texture": "#0"},
"west": {"uv": [2, 7, 9, 8], "rotation": 180, "texture": "#0"}
}
},
{
"name": "frame",
"from": [11, 20, 1],
"to": [15, 24, 15],
"faces": {
"north": {"uv": [0, 7, 2, 8], "rotation": 180, "texture": "#0"},
"east": {"uv": [2, 7, 9, 8], "rotation": 180, "texture": "#0"},
"south": {"uv": [2, 7, 0, 8], "rotation": 180, "texture": "#0"}
}
},
{
"name": "frame",
"from": [5, 20, 1],
"to": [1, 24, 15],
"faces": {
"north": {"uv": [0, 7, 2, 8], "rotation": 180, "texture": "#0"},
"east": {"uv": [2, 7, 9, 8], "rotation": 180, "texture": "#0"},
"south": {"uv": [2, 7, 0, 8], "rotation": 180, "texture": "#0"}
}
},
{
"name": "body",
"from": [2, 21, 2],
"to": [14, 24, 14],
"faces": {
"north": {"uv": [14, 13, 15.5, 16], "rotation": 270, "texture": "#0"},
"east": {"uv": [14, 13, 15.5, 16], "rotation": 270, "texture": "#0"},
"south": {"uv": [14, 13, 15.5, 16], "rotation": 270, "texture": "#0"},
"west": {"uv": [14, 13, 15.5, 16], "rotation": 270, "texture": "#0"},
"down": {"uv": [8, 13, 14, 16], "texture": "#0"}
}
},
{
"name": "body",
"from": [0, 24, 0],
"to": [16, 32, 16],
"faces": {
"north": {"uv": [10, 5, 14, 9], "rotation": 90, "texture": "#0"},
"east": {"uv": [8, 8, 0, 10], "rotation": 180, "texture": "#0"},
"south": {"uv": [0, 10, 8, 12], "rotation": 180, "texture": "#0"},
"west": {"uv": [0, 8, 8, 10], "rotation": 180, "texture": "#0"},
"up": {"uv": [0, 12, 8, 16], "texture": "#0"},
"down": {"uv": [0, 12, 8, 16], "texture": "#0"}
}
}
],
"display": {
"thirdperson_righthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.3, 0],
"scale": [0.375, 0.375, 0.375]
},
"thirdperson_lefthand": {
"rotation": [75, 45, 0],
"translation": [0, 2.5, 0],
"scale": [0.375, 0.375, 0.375]
},
"firstperson_righthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"firstperson_lefthand": {
"rotation": [0, 45, 0],
"scale": [0.4, 0.4, 0.4]
},
"ground": {
"translation": [0, 3, 0],
"scale": [0.25, 0.25, 0.25]
},
"gui": {
"rotation": [30, -135, 0],
"scale": [0.3, 0.3, 0.3]
},
"head": {
"translation": [0, 30, 0]
},
"fixed": {
"translation": [0, 0, -2],
"scale": [0.375, 0.375, 0.375]
}
},
"groups": [
{
"name": "base",
"origin": [0, 0, 0],
"color": 0,
"children": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
},
{
"name": "middle",
"origin": [0, 0, 0],
"color": 0,
"children": [12, 13, 14, 15, 16, 17, 18, 19, 20, 21]
},
{
"name": "top",
"origin": [0, 0, 0],
"color": 0,
"children": [22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34]
}
]
}