mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 08:14:23 +01:00
Update models and fix crashes
This commit is contained in:
parent
a71615d0a1
commit
a02fad8732
23 changed files with 447 additions and 261 deletions
|
@ -2,6 +2,7 @@ package com.minelittlepony.client;
|
||||||
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
import net.minecraft.entity.player.PlayerPosition;
|
||||||
import net.minecraft.util.hit.HitResult;
|
import net.minecraft.util.hit.HitResult;
|
||||||
import net.minecraft.util.math.*;
|
import net.minecraft.util.math.*;
|
||||||
|
|
||||||
|
@ -20,11 +21,11 @@ public class HorseCam {
|
||||||
* Restores the previous camera (unadjusted) angle for the client when the server sends an update.
|
* Restores the previous camera (unadjusted) angle for the client when the server sends an update.
|
||||||
* This is to prevent issues caused by the server updating our pitch whenever the player leaves a portal.
|
* This is to prevent issues caused by the server updating our pitch whenever the player leaves a portal.
|
||||||
*/
|
*/
|
||||||
public static float transformIncomingServerCameraAngle(float serverPitch) {
|
public static PlayerPosition transformIncomingServerCameraAngle(PlayerPosition change) {
|
||||||
if (MathHelper.approximatelyEquals(serverPitch, lastComputedPitch)) {
|
if (MathHelper.approximatelyEquals(change.pitch(), lastComputedPitch)) {
|
||||||
return lastOriginalPitch;
|
return new PlayerPosition(change.position(), change.deltaMovement(), change.yaw(), lastOriginalPitch);
|
||||||
}
|
}
|
||||||
return serverPitch;
|
return change;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2,7 +2,6 @@ package com.minelittlepony.client.mixin;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|
||||||
|
|
||||||
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
|
import com.llamalad7.mixinextras.injector.ModifyReturnValue;
|
||||||
import com.minelittlepony.api.pony.Pony;
|
import com.minelittlepony.api.pony.Pony;
|
||||||
|
@ -13,7 +12,7 @@ import net.minecraft.client.render.Camera;
|
||||||
@Mixin(Camera.class)
|
@Mixin(Camera.class)
|
||||||
abstract class MixinCamera {
|
abstract class MixinCamera {
|
||||||
@ModifyReturnValue(method = "clipToSpace(F)F", at = @At("RETURN"))
|
@ModifyReturnValue(method = "clipToSpace(F)F", at = @At("RETURN"))
|
||||||
private float redirectCameraDistance(float value, float initial, CallbackInfoReturnable<Float> info) {
|
private float redirectCameraDistance(float value) {
|
||||||
if (MinecraftClient.getInstance().player != null) {
|
if (MinecraftClient.getInstance().player != null) {
|
||||||
Pony pony = Pony.getManager().getPony(MinecraftClient.getInstance().player);
|
Pony pony = Pony.getManager().getPony(MinecraftClient.getInstance().player);
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,6 @@ import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
|
||||||
|
|
||||||
import java.util.UUID;
|
|
||||||
|
|
||||||
@Mixin(DefaultSkinHelper.class)
|
@Mixin(DefaultSkinHelper.class)
|
||||||
abstract class MixinDefaultSkinHelper {
|
abstract class MixinDefaultSkinHelper {
|
||||||
|
@ -23,7 +20,7 @@ abstract class MixinDefaultSkinHelper {
|
||||||
}
|
}
|
||||||
|
|
||||||
@ModifyReturnValue(method = "getSkinTextures(Ljava/util/UUID;)Lnet/minecraft/client/util/SkinTextures;", at = @At("RETURN"))
|
@ModifyReturnValue(method = "getSkinTextures(Ljava/util/UUID;)Lnet/minecraft/client/util/SkinTextures;", at = @At("RETURN"))
|
||||||
private static SkinTextures onGetTexture(SkinTextures returnValue, UUID uuid, CallbackInfoReturnable<SkinTextures> cir) {
|
private static SkinTextures onGetTexture(SkinTextures returnValue) {
|
||||||
return PonyConfig.getInstance().ponyLevel.get() == PonyLevel.PONIES ? DefaultPonySkinHelper.getTextures(returnValue) : returnValue;
|
return PonyConfig.getInstance().ponyLevel.get() == PonyLevel.PONIES ? DefaultPonySkinHelper.getTextures(returnValue) : returnValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@ import com.minelittlepony.client.HorseCam;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
|
|
||||||
|
import net.minecraft.entity.player.PlayerPosition;
|
||||||
import net.minecraft.network.listener.ClientPlayPacketListener;
|
import net.minecraft.network.listener.ClientPlayPacketListener;
|
||||||
import net.minecraft.network.packet.Packet;
|
import net.minecraft.network.packet.Packet;
|
||||||
import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket;
|
import net.minecraft.network.packet.s2c.play.PlayerPositionLookS2CPacket;
|
||||||
|
@ -17,15 +18,15 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||||
@Mixin(PlayerPositionLookS2CPacket.class)
|
@Mixin(PlayerPositionLookS2CPacket.class)
|
||||||
abstract class MixinPlayerPositionLookS2CPacket implements Packet<ClientPlayPacketListener> {
|
abstract class MixinPlayerPositionLookS2CPacket implements Packet<ClientPlayPacketListener> {
|
||||||
@Shadow @Mutable
|
@Shadow @Mutable
|
||||||
private @Final float pitch;
|
private @Final PlayerPosition change;
|
||||||
@Shadow
|
@Shadow
|
||||||
private @Final Set<PositionFlag> flags;
|
private @Final Set<PositionFlag> relatives;
|
||||||
|
|
||||||
@Inject(method = "apply(Lnet/minecraft/network/listener/ClientPlayPacketListener;)V",
|
@Inject(method = "apply(Lnet/minecraft/network/listener/ClientPlayPacketListener;)V",
|
||||||
at = @At("HEAD"))
|
at = @At("HEAD"))
|
||||||
private void onApply(ClientPlayPacketListener clientPlayPacketListener, CallbackInfo info) {
|
private void onApply(ClientPlayPacketListener clientPlayPacketListener, CallbackInfo info) {
|
||||||
if (!flags.contains(PositionFlag.Y_ROT)) {
|
if (!relatives.contains(PositionFlag.Y_ROT)) {
|
||||||
pitch = HorseCam.transformIncomingServerCameraAngle(pitch);
|
change = HorseCam.transformIncomingServerCameraAngle(change);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,6 +70,7 @@ public class SkeleponyRenderer<T extends AbstractSkeletonEntity> extends PonyRen
|
||||||
public boolean isAttacking;
|
public boolean isAttacking;
|
||||||
|
|
||||||
public void updateState(LivingEntity entity, PonyModel<?> model, Pony pony, ModelAttributes.Mode mode) {
|
public void updateState(LivingEntity entity, PonyModel<?> model, Pony pony, ModelAttributes.Mode mode) {
|
||||||
|
super.updateState(entity, model, pony, mode);
|
||||||
isAttacking = entity instanceof HostileEntity h && h.isAttacking();
|
isAttacking = entity instanceof HostileEntity h && h.isAttacking();
|
||||||
if (entity.getUuid().getLeastSignificantBits() % 3 == 0) {
|
if (entity.getUuid().getLeastSignificantBits() % 3 == 0) {
|
||||||
race = Race.EARTH;
|
race = Race.EARTH;
|
||||||
|
|
|
@ -35,7 +35,10 @@ public class CapeFeature extends CapeFeatureRenderer {
|
||||||
ArmourRendererPlugin plugin = ArmourRendererPlugin.INSTANCE.get();
|
ArmourRendererPlugin plugin = ArmourRendererPlugin.INSTANCE.get();
|
||||||
|
|
||||||
Identifier capeTexture = player.skinTextures.capeTexture();
|
Identifier capeTexture = player.skinTextures.capeTexture();
|
||||||
VertexConsumer buffer = plugin.getCapeConsumer(player, vertices, player.skinTextures.capeTexture());
|
if (capeTexture == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
VertexConsumer buffer = plugin.getCapeConsumer(player, vertices, capeTexture);
|
||||||
if (buffer == null) {
|
if (buffer == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,6 +39,8 @@ public class PonyRenderState extends PlayerEntityRenderState implements PonyMode
|
||||||
this.pony = pony;
|
this.pony = pony;
|
||||||
attributes.updateLivingState(entity, pony, mode);
|
attributes.updateLivingState(entity, pony, mode);
|
||||||
attributes.checkRainboom(entity, model, age);
|
attributes.checkRainboom(entity, model, age);
|
||||||
|
size = baby ? SizePreset.FOAL : PonyConfig.getEffectiveSize(attributes.metadata.size());
|
||||||
|
race = PonyConfig.getEffectiveRace(attributes.metadata.race());
|
||||||
vehicleOffset = hasVehicle ? entity.getVehicle().getEyeHeight(pose) : 0;
|
vehicleOffset = hasVehicle ? entity.getVehicle().getEyeHeight(pose) : 0;
|
||||||
riderOffset = getRiderYOffset();
|
riderOffset = getRiderYOffset();
|
||||||
nameplateYOffset = getNamePlateYOffset(entity);
|
nameplateYOffset = getNamePlateYOffset(entity);
|
||||||
|
@ -57,8 +59,6 @@ public class PonyRenderState extends PlayerEntityRenderState implements PonyMode
|
||||||
|| entity instanceof ZombifiedPiglinEntity
|
|| entity instanceof ZombifiedPiglinEntity
|
||||||
) && entity.hasCustomName() && entity.getCustomName().getString().equalsIgnoreCase("technoblade")
|
) && entity.hasCustomName() && entity.getCustomName().getString().equalsIgnoreCase("technoblade")
|
||||||
);
|
);
|
||||||
size = baby ? SizePreset.FOAL : PonyConfig.getEffectiveSize(attributes.metadata.size());
|
|
||||||
race = PonyConfig.getEffectiveRace(attributes.metadata.race());
|
|
||||||
|
|
||||||
PonyPosture.of(attributes).updateState(entity, this);
|
PonyPosture.of(attributes).updateState(entity, this);
|
||||||
PonyModelPrepareCallback.EVENT.invoker().onPonyModelPrepared(attributes, model, ModelAttributes.Mode.OTHER);
|
PonyModelPrepareCallback.EVENT.invoker().onPonyModelPrepared(attributes, model, ModelAttributes.Mode.OTHER);
|
||||||
|
|
|
@ -3,19 +3,6 @@
|
||||||
"texture": {
|
"texture": {
|
||||||
"w": 64, "h": 64
|
"w": 64, "h": 64
|
||||||
},
|
},
|
||||||
"skeleton": {
|
|
||||||
"body": {
|
|
||||||
"neck": {
|
|
||||||
"head": {}
|
|
||||||
},
|
|
||||||
"left_arm": {},
|
|
||||||
"right_arm": {},
|
|
||||||
"left_leg": {},
|
|
||||||
"right_leg": {},
|
|
||||||
"left_wing": {},
|
|
||||||
"right_wing": {}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"data": {
|
"data": {
|
||||||
"head": {
|
"head": {
|
||||||
"pivot": [0, 1, -4],
|
"pivot": [0, 1, -4],
|
||||||
|
@ -32,8 +19,6 @@
|
||||||
{"from": [ 1, -11, -3], "size": [1, 6, 1], "texture": {"u": 28, "v": 2} },
|
{"from": [ 1, -11, -3], "size": [1, 6, 1], "texture": {"u": 28, "v": 2} },
|
||||||
{"from": [-2, -11, -3], "size": [1, 6, 1], "texture": {"u": 24, "v": 2} }
|
{"from": [-2, -11, -3], "size": [1, 6, 1], "texture": {"u": 24, "v": 2} }
|
||||||
]
|
]
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"hat": {
|
"hat": {
|
||||||
"texture": { "u": 40, "v": 27 },
|
"texture": { "u": 40, "v": 27 },
|
||||||
|
@ -44,6 +29,8 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{"from": [-3, -8, -3], "size": [6, 6, 6], "dilate": 0.2 }
|
{"from": [-3, -8, -3], "size": [6, 6, 6], "dilate": 0.2 }
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -63,6 +50,9 @@
|
||||||
{"from": [0, 0, 0], "size": [6, 7, 14] }
|
{"from": [0, 0, 0], "size": [6, 7, 14] }
|
||||||
],
|
],
|
||||||
"children": {
|
"children": {
|
||||||
|
"jacket": {
|
||||||
|
"visible": false
|
||||||
|
},
|
||||||
"tail": {
|
"tail": {
|
||||||
"texture": {"u": 40, "v": 7 },
|
"texture": {"u": 40, "v": 7 },
|
||||||
"pivot": [3, 0, 13],
|
"pivot": [3, 0, 13],
|
||||||
|
@ -88,7 +78,12 @@
|
||||||
"texture": { "u": 36, "v": 12 },
|
"texture": { "u": 36, "v": 12 },
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_arm": {
|
"left_arm": {
|
||||||
"pivot": [1, 8, -5],
|
"pivot": [1, 8, -5],
|
||||||
|
@ -96,14 +91,24 @@
|
||||||
"mirror": true,
|
"mirror": true,
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_leg": {
|
"right_leg": {
|
||||||
"pivot": [-3, 12, 3],
|
"pivot": [-3, 12, 3],
|
||||||
"texture": { "u": 0, "v": 12 },
|
"texture": { "u": 0, "v": 12 },
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_leg": {
|
"left_leg": {
|
||||||
"pivot": [1, 12, 3],
|
"pivot": [1, 12, 3],
|
||||||
|
@ -111,7 +116,12 @@
|
||||||
"mirror": true,
|
"mirror": true,
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
{ "from": [0, 0, 0], "size": [ 2, 12, 2] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_wing": {
|
"left_wing": {
|
||||||
"pivot": [2, 3, 1],
|
"pivot": [2, 3, 1],
|
||||||
|
|
|
@ -5,48 +5,75 @@
|
||||||
"pivot": [ 0, 5, 0 ],
|
"pivot": [ 0, 5, 0 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, -7, -1 ], "size": [ 2, 7, 2 ] }
|
{ "from": [ -1, -7, -1 ], "size": [ 2, 7, 2 ] }
|
||||||
]
|
],
|
||||||
},
|
"children": {
|
||||||
"hat": {
|
"hat": {
|
||||||
"pivot": [ 0, 5, 0 ],
|
"pivot": [ 0, 5, 0 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, -7, -1 ], "size": [ 2, 7, 2 ], "dilate": 0.5 }
|
{ "from": [ -1, -7, -1 ], "size": [ 2, 7, 2 ], "dilate": 0.5 }
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"body": {
|
"body": {
|
||||||
"texture": { "u": 0, "v": 48 },
|
"texture": { "u": 0, "v": 48 },
|
||||||
"pivot": [ 0, 0, 1 ],
|
"pivot": [ 0, 0, 1 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -4, 10, -1 ], "size": [ 8, 2, 2 ] }
|
{ "from": [ -4, 10, -1 ], "size": [ 8, 2, 2 ] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"jacket": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_arm": {
|
"right_arm": {
|
||||||
"texture": { "u": 8 },
|
"texture": { "u": 8 },
|
||||||
"pivot": [ -1.9, 12, 1 ],
|
"pivot": [ -1.9, 12, 1 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, 0, -1 ], "size": [ 2, 11, 2 ] }
|
{ "from": [ -1, 0, -1 ], "size": [ 2, 11, 2 ] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_arm": {
|
"left_arm": {
|
||||||
"texture": { "u": 40, "v": 16 },
|
"texture": { "u": 40, "v": 16 },
|
||||||
"pivot": [ 1.9, 12, 1 ],
|
"pivot": [ 1.9, 12, 1 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, 0, -1 ], "size": [ 2, 11, 2 ] }
|
{ "from": [ -1, 0, -1 ], "size": [ 2, 11, 2 ] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_leg": {
|
"right_leg": {
|
||||||
"texture": { "u": 8 },
|
"texture": { "u": 8 },
|
||||||
"pivot": [ -1.9, 12, 10 ],
|
"pivot": [ -1.9, 12, 10 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, 0, -1 ], "size": [2, 11, 2 ] }
|
{ "from": [ -1, 0, -1 ], "size": [2, 11, 2 ] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_leg": {
|
"left_leg": {
|
||||||
"texture": { "u": 40, "v": 16 },
|
"texture": { "u": 40, "v": 16 },
|
||||||
"pivot": [ 1.9, 12, 10 ],
|
"pivot": [ 1.9, 12, 10 ],
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [ -1, 0, -1 ], "size": [2, 11, 2 ] }
|
{ "from": [ -1, 0, -1 ], "size": [2, 11, 2 ] }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_body_stick": {
|
"right_body_stick": {
|
||||||
"texture": { "u": 16 },
|
"texture": { "u": 16 },
|
||||||
|
|
|
@ -25,6 +25,14 @@
|
||||||
"locals": {
|
"locals": {
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"visible": false,
|
||||||
|
"pivot": [0, 0, -2],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": -0.5 }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"horn": { "data": "minelittlepony:components/horn", "implementation": "com.minelittlepony.client.model.part.UnicornHorn" },
|
"horn": { "data": "minelittlepony:components/horn", "implementation": "com.minelittlepony.client.model.part.UnicornHorn" },
|
||||||
"left_horn": {
|
"left_horn": {
|
||||||
|
@ -66,14 +74,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hat": {
|
|
||||||
"texture": { "u": 32, "v": 0 },
|
|
||||||
"visible": false,
|
|
||||||
"pivot": [0, 0, -2],
|
|
||||||
"cubes": [
|
|
||||||
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": -0.5 }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"right_arm": {
|
"right_arm": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 0],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 0],
|
||||||
"texture": { "u": 0, "v": 20 },
|
"texture": { "u": 0, "v": 20 },
|
||||||
|
@ -82,7 +82,12 @@
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_arm": {
|
"left_arm": {
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 0],
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 0],
|
||||||
|
@ -92,7 +97,12 @@
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_leg": {
|
"right_leg": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
||||||
|
@ -102,7 +112,12 @@
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_leg": {
|
"left_leg": {
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 11],
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 11],
|
||||||
|
@ -112,7 +127,12 @@
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"tail": {
|
"tail": {
|
||||||
"type": "mson:slot",
|
"type": "mson:slot",
|
||||||
|
|
|
@ -48,6 +48,14 @@
|
||||||
"texture": {"w": 128, "h": 64},
|
"texture": {"w": 128, "h": 64},
|
||||||
"implementation": "com.minelittlepony.client.model.part.UnicornHorn",
|
"implementation": "com.minelittlepony.client.model.part.UnicornHorn",
|
||||||
"data": "minelittlepony:components/horn"
|
"data": "minelittlepony:components/horn"
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -25,6 +25,14 @@
|
||||||
"locals": {
|
"locals": {
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -48,6 +48,18 @@
|
||||||
"height": 1,
|
"height": 1,
|
||||||
"depth": "#arm_depth"
|
"depth": "#arm_depth"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"left_sleeve": {
|
||||||
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
|
"visible": false,
|
||||||
|
"texture": { "u": 48, "v": 48 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ],
|
||||||
|
"dilate": 0.25
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -91,6 +103,13 @@
|
||||||
"height": 1,
|
"height": 1,
|
||||||
"depth": "#arm_depth"
|
"depth": "#arm_depth"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false,
|
||||||
|
"texture": { "u": 40, "v": 32 },
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-3, -2, -2], "size": [ 4, 12, 4], "dilate": [0.25, 0.25, 0.25] }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,6 +35,14 @@
|
||||||
"ears": {
|
"ears": {
|
||||||
"implementation": "com.minelittlepony.client.model.part.PonyEars",
|
"implementation": "com.minelittlepony.client.model.part.PonyEars",
|
||||||
"data": "minelittlepony:components/ears"
|
"data": "minelittlepony:components/ears"
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -67,6 +75,18 @@
|
||||||
"height": "#fore_arm_length",
|
"height": "#fore_arm_length",
|
||||||
"depth": "#arm_depth"
|
"depth": "#arm_depth"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"left_sleeve": {
|
||||||
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
|
"visible": false,
|
||||||
|
"texture": { "u": 48, "v": 48 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ],
|
||||||
|
"dilate": 0.25
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -151,6 +171,13 @@
|
||||||
"height": "#fore_leg_length",
|
"height": "#fore_leg_length",
|
||||||
"depth": "#arm_depth"
|
"depth": "#arm_depth"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false,
|
||||||
|
"texture": { "u": 40, "v": 32 },
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-3, -2, -2], "size": [ 4, 12, 4], "dilate": [0.25, 0.25, 0.25] }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,6 +34,14 @@
|
||||||
},
|
},
|
||||||
"data": "minelittlepony:components/horn",
|
"data": "minelittlepony:components/horn",
|
||||||
"implementation": "com.minelittlepony.client.model.part.UnicornHorn"
|
"implementation": "com.minelittlepony.client.model.part.UnicornHorn"
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -27,6 +27,14 @@
|
||||||
"horn": {
|
"horn": {
|
||||||
"data": "minelittlepony:components/horn",
|
"data": "minelittlepony:components/horn",
|
||||||
"implementation": "com.minelittlepony.client.model.part.UnicornHorn"
|
"implementation": "com.minelittlepony.client.model.part.UnicornHorn"
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"right_antler": {
|
"right_antler": {
|
||||||
"pivot": [-2, -6, -2],
|
"pivot": [-2, -6, -2],
|
||||||
|
|
|
@ -33,9 +33,7 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"children": {
|
"children": {
|
||||||
"tail_stub": {}
|
"tail_stub": {},
|
||||||
}
|
|
||||||
},
|
|
||||||
"jacket": {
|
"jacket": {
|
||||||
"texture": { "u": 24, "v": 0 },
|
"texture": { "u": 24, "v": 0 },
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
@ -43,6 +41,8 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-4, 4, -2], "size": [ 8, 8, 4 ], "texture": { "u": 16, "v": 32 }, "dilate": 0.25 }
|
{ "from": [-4, 4, -2], "size": [ 8, 8, 4 ], "texture": { "u": 16, "v": 32 }, "dilate": 0.25 }
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_arm": {
|
"right_arm": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
|
@ -53,41 +53,8 @@
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
},
|
"children": {
|
||||||
"left_arm": {
|
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
|
||||||
"rotate": [-80, -29, 0],
|
|
||||||
"texture": { "u": 32, "v": 48 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"right_leg": {
|
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
|
||||||
"visible": false,
|
|
||||||
"texture": { "u": 0, "v": 16 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"left_leg": {
|
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 11],
|
|
||||||
"visible": false,
|
|
||||||
"texture": { "u": 16, "v": 48 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"right_sleeve": {
|
"right_sleeve": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
"rotate": [-80, 29, 0],
|
"rotate": [-80, 29, 0],
|
||||||
|
@ -100,7 +67,20 @@
|
||||||
"dilate": 0.25
|
"dilate": 0.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"left_arm": {
|
||||||
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
|
"rotate": [-80, -29, 0],
|
||||||
|
"texture": { "u": 32, "v": 48 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"children": {
|
||||||
"left_sleeve": {
|
"left_sleeve": {
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
"rotate": [-80, -29, 0],
|
"rotate": [-80, -29, 0],
|
||||||
|
@ -113,6 +93,20 @@
|
||||||
"dilate": 0.25
|
"dilate": 0.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"right_leg": {
|
||||||
|
"visible": false,
|
||||||
|
"children": {
|
||||||
|
"right_pants": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"left_leg": {
|
||||||
|
"visible": false,
|
||||||
|
"children": {
|
||||||
|
"left_pants": {}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"tail": {
|
"tail": {
|
||||||
"implementation": "com.minelittlepony.client.model.part.SeaponyTail",
|
"implementation": "com.minelittlepony.client.model.part.SeaponyTail",
|
||||||
|
|
|
@ -22,6 +22,14 @@
|
||||||
"locals": {
|
"locals": {
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"horn": { "data": "minelittlepony:components/horn", "implementation": "com.minelittlepony.client.model.part.UnicornHorn" }
|
"horn": { "data": "minelittlepony:components/horn", "implementation": "com.minelittlepony.client.model.part.UnicornHorn" }
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,14 @@
|
||||||
"locals": {
|
"locals": {
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"bristles": {
|
"bristles": {
|
||||||
"texture": {"u": 56, "v": 32},
|
"texture": {"u": 56, "v": 32},
|
||||||
|
|
|
@ -44,8 +44,6 @@
|
||||||
"data": "minelittlepony:components/ears",
|
"data": "minelittlepony:components/ears",
|
||||||
"locals": {
|
"locals": {
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hat": {
|
"hat": {
|
||||||
|
@ -55,6 +53,8 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"body": {
|
"body": {
|
||||||
"texture": { "u": 24, "v": 0 },
|
"texture": { "u": 24, "v": 0 },
|
||||||
|
@ -173,32 +173,6 @@
|
||||||
"position": [ -1, 10, 10 ], "size": [ 6, 2 ]
|
"position": [ -1, 10, 10 ], "size": [ 6, 2 ]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"neck": {
|
|
||||||
"type": "mson:planar",
|
|
||||||
"dilate": [ -0.3, "#neck_dilate_y", "#neck_dilate_z" ],
|
|
||||||
"texture": { "u": 0, "v": 16 },
|
|
||||||
"rotate": [9, 0, 0],
|
|
||||||
"north": [-2, 1.199998, -2.8, 4, 4],
|
|
||||||
"south": [-2, 1.199998, 1.2, 4, 4],
|
|
||||||
"east": [ 2, 1.199998, -2.8, 4, 4],
|
|
||||||
"west": [-2, 1.199998, -2.8, 4, 4],
|
|
||||||
"children": {
|
|
||||||
"mane": {
|
|
||||||
"type": "mson:planar",
|
|
||||||
"visible": false,
|
|
||||||
"pivot": [0, -2.9, 1.5],
|
|
||||||
"dilate": [ -0.8, 2, 0 ],
|
|
||||||
"texture": { "u": 32, "v": 0 },
|
|
||||||
"rotate": [0, 0, 0],
|
|
||||||
"north": [-2, 1.199998, -2.8, 4, 4],
|
|
||||||
"south": [-2, 1.199998, 1.2, 4, 4],
|
|
||||||
"east": [ 2, 1.199998, -2.8, 4, 4],
|
|
||||||
"west": [-2, 1.199998, -2.8, 4, 4]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"jacket": {
|
"jacket": {
|
||||||
"texture": { "u": 24, "v": 0 },
|
"texture": { "u": 24, "v": 0 },
|
||||||
|
@ -260,6 +234,32 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"neck": {
|
||||||
|
"type": "mson:planar",
|
||||||
|
"dilate": [ -0.3, "#neck_dilate_y", "#neck_dilate_z" ],
|
||||||
|
"texture": { "u": 0, "v": 16 },
|
||||||
|
"rotate": [9, 0, 0],
|
||||||
|
"north": [-2, 1.199998, -2.8, 4, 4],
|
||||||
|
"south": [-2, 1.199998, 1.2, 4, 4],
|
||||||
|
"east": [ 2, 1.199998, -2.8, 4, 4],
|
||||||
|
"west": [-2, 1.199998, -2.8, 4, 4],
|
||||||
|
"children": {
|
||||||
|
"mane": {
|
||||||
|
"type": "mson:planar",
|
||||||
|
"visible": false,
|
||||||
|
"pivot": [0, -2.9, 1.5],
|
||||||
|
"dilate": [ -0.8, 2, 0 ],
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"rotate": [0, 0, 0],
|
||||||
|
"north": [-2, 1.199998, -2.8, 4, 4],
|
||||||
|
"south": [-2, 1.199998, 1.2, 4, 4],
|
||||||
|
"east": [ 2, 1.199998, -2.8, 4, 4],
|
||||||
|
"west": [-2, 1.199998, -2.8, 4, 4]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"tail": {
|
"tail": {
|
||||||
"type": "mson:slot",
|
"type": "mson:slot",
|
||||||
|
@ -275,38 +275,8 @@
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
},
|
"children": {
|
||||||
"left_arm": {
|
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
|
||||||
"texture": { "u": 32, "v": 48 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"right_leg": {
|
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
|
||||||
"texture": { "u": 0, "v": 16 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"left_leg": {
|
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 11],
|
|
||||||
"texture": { "u": 16, "v": 48 },
|
|
||||||
"cubes": [
|
|
||||||
{
|
|
||||||
"from": [ "#arm_x", 4, "#arm_z"],
|
|
||||||
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"right_sleeve": {
|
"right_sleeve": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
@ -318,7 +288,19 @@
|
||||||
"dilate": 0.25
|
"dilate": 0.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"left_arm": {
|
||||||
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
|
"texture": { "u": 32, "v": 48 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"children": {
|
||||||
"left_sleeve": {
|
"left_sleeve": {
|
||||||
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", "#arm_rotation_z"],
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
@ -330,7 +312,19 @@
|
||||||
"dilate": 0.25
|
"dilate": 0.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"right_leg": {
|
||||||
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
||||||
|
"texture": { "u": 0, "v": 16 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x_neg", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"children": {
|
||||||
"right_pants": {
|
"right_pants": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
@ -342,7 +336,19 @@
|
||||||
"dilate": 0.25
|
"dilate": 0.25
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
|
"left_leg": {
|
||||||
|
"pivot": ["#arm_rotation_x", "#arm_rotation_y", 11],
|
||||||
|
"texture": { "u": 16, "v": 48 },
|
||||||
|
"cubes": [
|
||||||
|
{
|
||||||
|
"from": [ "#arm_x", 4, "#arm_z"],
|
||||||
|
"size": [ "#arm_width", "#arm_length", "#arm_depth" ]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"children": {
|
||||||
"left_pants": {
|
"left_pants": {
|
||||||
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
"pivot": ["#arm_rotation_x_neg", "#arm_rotation_y", 11],
|
||||||
"visible": false,
|
"visible": false,
|
||||||
|
@ -355,5 +361,7 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,12 @@
|
||||||
{ "from": [-2, -3, -4.5], "size": [ 4, 2, 2], "texture": { "v": 12 } }
|
{ "from": [-2, -3, -4.5], "size": [ 4, 2, 2], "texture": { "v": 12 } }
|
||||||
],
|
],
|
||||||
"children": {
|
"children": {
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 24, "v": 0 },
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-3, -7, -3], "size": [ 6, 6, 6], "dilate": [0.5, 0.5, 0.5] }
|
||||||
|
]
|
||||||
|
},
|
||||||
"left_ear": {
|
"left_ear": {
|
||||||
"texture": { "u": 18 },
|
"texture": { "u": 18 },
|
||||||
"pivot": [2.5, -4, 0],
|
"pivot": [2.5, -4, 0],
|
||||||
|
@ -58,12 +64,6 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hat": {
|
|
||||||
"texture": { "u": 24, "v": 0 },
|
|
||||||
"cubes": [
|
|
||||||
{ "from": [-3, -7, -3], "size": [ 6, 6, 6], "dilate": [0.5, 0.5, 0.5] }
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"body": {
|
"body": {
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-2, -1, -2], "size": [ 4, 2, 3], "texture": { "v": 21 } },
|
{ "from": [-2, -1, -2], "size": [ 4, 2, 3], "texture": { "v": 21 } },
|
||||||
|
@ -71,6 +71,9 @@
|
||||||
{ "from": [-4, 5, -3], "size": [ 8, 8, 8], "texture": { "v": 35 } }
|
{ "from": [-4, 5, -3], "size": [ 8, 8, 8], "texture": { "v": 35 } }
|
||||||
],
|
],
|
||||||
"children": {
|
"children": {
|
||||||
|
"jacket": {
|
||||||
|
"visible": false
|
||||||
|
},
|
||||||
"spines": {
|
"spines": {
|
||||||
"texture": { "u": 8, "v": 12 },
|
"texture": { "u": 8, "v": 12 },
|
||||||
"pivot": [-1, 0, 0],
|
"pivot": [-1, 0, 0],
|
||||||
|
@ -135,7 +138,12 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-1, -2, -2], "size": [ 3, 3, 3], "texture": { "v": 12 }, "dilate": -0.25 },
|
{ "from": [-1, -2, -2], "size": [ 3, 3, 3], "texture": { "v": 12 }, "dilate": -0.25 },
|
||||||
{ "from": [-0.5, 0.75, -1.5], "size": [ 2, 6, 2], "texture": { "v": 18 } }
|
{ "from": [-0.5, 0.75, -1.5], "size": [ 2, 6, 2], "texture": { "v": 18 } }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_arm": {
|
"left_arm": {
|
||||||
"pivot": [5, 3, 0],
|
"pivot": [5, 3, 0],
|
||||||
|
@ -144,7 +152,12 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-2, -2, -2], "size": [ 3, 3, 3], "texture": { "v": 12 }, "dilate": -0.25 },
|
{ "from": [-2, -2, -2], "size": [ 3, 3, 3], "texture": { "v": 12 }, "dilate": -0.25 },
|
||||||
{ "from": [-1.5, 0.75, -1.5], "size": [ 2, 6, 2], "texture": { "v": 18 } }
|
{ "from": [-1.5, 0.75, -1.5], "size": [ 2, 6, 2], "texture": { "v": 18 } }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_sleeve": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"right_leg": {
|
"right_leg": {
|
||||||
"pivot": [-1.9, 3, 0],
|
"pivot": [-1.9, 3, 0],
|
||||||
|
@ -152,7 +165,12 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-2, 0, -2], "size": [ 3, 4, 3], "texture": { "v": 28 } },
|
{ "from": [-2, 0, -2], "size": [ 3, 4, 3], "texture": { "v": 28 } },
|
||||||
{ "from": [-2, 4, -3], "size": [ 3, 1, 4], "texture": { "v": 35 } }
|
{ "from": [-2, 4, -3], "size": [ 3, 1, 4], "texture": { "v": 35 } }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"right_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"left_leg": {
|
"left_leg": {
|
||||||
"pivot": [1.9, 3, 0],
|
"pivot": [1.9, 3, 0],
|
||||||
|
@ -161,7 +179,12 @@
|
||||||
"cubes": [
|
"cubes": [
|
||||||
{ "from": [-1, 0, -2], "size": [ 3, 4, 3 ], "texture": { "v": 28 } },
|
{ "from": [-1, 0, -2], "size": [ 3, 4, 3 ], "texture": { "v": 28 } },
|
||||||
{ "from": [-1, 4, -3], "size": [ 3, 1, 4], "texture": { "v": 35 } }
|
{ "from": [-1, 4, -3], "size": [ 3, 1, 4], "texture": { "v": 35 } }
|
||||||
]
|
],
|
||||||
|
"children": {
|
||||||
|
"left_pants": {
|
||||||
|
"visible": false
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,14 @@
|
||||||
"ear_shortening": "#global_ear_shortening"
|
"ear_shortening": "#global_ear_shortening"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hat": {
|
||||||
|
"texture": { "u": 32, "v": 0 },
|
||||||
|
"dilate": ["#head_elongation", "#head_elongation", 0],
|
||||||
|
"pivot": [ 0, "#head_pivot_y", 0 ],
|
||||||
|
"cubes": [
|
||||||
|
{ "from": [-4, -6, -6], "size": [ 8, 8, 8], "dilate": 0.5 }
|
||||||
|
]
|
||||||
|
},
|
||||||
"bat_ears": {
|
"bat_ears": {
|
||||||
"type": "mson:slot",
|
"type": "mson:slot",
|
||||||
"name": "bat_ears",
|
"name": "bat_ears",
|
||||||
|
|
Loading…
Reference in a new issue