rpg,炮弹更换geo模型

This commit is contained in:
Atsuihsio 2024-08-01 14:55:40 +08:00
parent 5edcfe5399
commit 106bed9aff
22 changed files with 1848 additions and 378 deletions

View file

@ -1,325 +0,0 @@
package net.mcreator.superbwarfare.client.model.entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils;
import net.minecraft.client.model.EntityModel;
import net.minecraft.client.model.geom.ModelLayerLocation;
import net.minecraft.client.model.geom.ModelPart;
import net.minecraft.client.model.geom.PartPose;
import net.minecraft.client.model.geom.builders.*;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.entity.Entity;
// Made with Blockbench 4.9.4
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class ModelRPGRocket<T extends Entity> extends EntityModel<T> {
// This layer location should be baked with EntityRendererProvider.Context in
// the entity renderer and passed into this model's constructor
public static final ModelLayerLocation LAYER_LOCATION = new ModelLayerLocation(new ResourceLocation(ModUtils.MODID, "modelrpg_7_rocket_converted"), "main");
public final ModelPart Rockets;
public ModelRPGRocket(ModelPart root) {
this.Rockets = root.getChild("Rockets");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition Rockets = partdefinition.addOrReplaceChild("Rockets", CubeListBuilder.create(), PartPose.offsetAndRotation(0.0F, -24.7579F, 0.4535F, -1.5708F, 0.0F, 0.0F));
PartDefinition Rockets2 = Rockets.addOrReplaceChild("Rockets2", CubeListBuilder.create(), PartPose.offset(0.0F, 0.4579F, -0.0535F));
PartDefinition bone23 = Rockets2.addOrReplaceChild("bone23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -10.1988F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -1.0385F));
PartDefinition octagon_r1 = bone23.addOrReplaceChild("octagon_r1", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r2 = bone23.addOrReplaceChild("octagon_r2", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r3 = bone23.addOrReplaceChild("octagon_r3", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r4 = bone23.addOrReplaceChild("octagon_r4", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r5 = bone23.addOrReplaceChild("octagon_r5", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r6 = bone23.addOrReplaceChild("octagon_r6", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r7 = bone23.addOrReplaceChild("octagon_r7", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4007F, -0.9673F, -16.1742F, 0.8014F, 1.0084F, 10.3003F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 5.9754F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone24 = Rockets2.addOrReplaceChild("bone24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -0.2217F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.1912F));
PartDefinition octagon_r8 = bone24.addOrReplaceChild("octagon_r8", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r9 = bone24.addOrReplaceChild("octagon_r9", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r10 = bone24.addOrReplaceChild("octagon_r10", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r11 = bone24.addOrReplaceChild("octagon_r11", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r12 = bone24.addOrReplaceChild("octagon_r12", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r13 = bone24.addOrReplaceChild("octagon_r13", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r14 = bone24.addOrReplaceChild("octagon_r14", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5521F, -1.333F, -21.1812F, 1.1043F, 1.3896F, 1.2137F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 20.9595F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone34 = Rockets2.addOrReplaceChild("bone34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, 0.3534F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -10.312F));
PartDefinition octagon_r15 = bone34.addOrReplaceChild("octagon_r15", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r16 = bone34.addOrReplaceChild("octagon_r16", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r17 = bone34.addOrReplaceChild("octagon_r17", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r18 = bone34.addOrReplaceChild("octagon_r18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r19 = bone34.addOrReplaceChild("octagon_r19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r20 = bone34.addOrReplaceChild("octagon_r20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r21 = bone34.addOrReplaceChild("octagon_r21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6331F, -1.5284F, -23.6787F, 1.2662F, 1.5933F, 0.784F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 24.0321F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone26 = Rockets2.addOrReplaceChild("bone26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -1.5592F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -9.2513F));
PartDefinition octagon_r22 = bone26.addOrReplaceChild("octagon_r22", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r23 = bone26.addOrReplaceChild("octagon_r23", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r24 = bone26.addOrReplaceChild("octagon_r24", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r25 = bone26.addOrReplaceChild("octagon_r25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r26 = bone26.addOrReplaceChild("octagon_r26", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r27 = bone26.addOrReplaceChild("octagon_r27", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r28 = bone26.addOrReplaceChild("octagon_r28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4638F, -1.1197F, -19.1652F, 0.9276F, 1.1673F, 0.9359F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.606F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone19 = Rockets2.addOrReplaceChild("bone19", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, 0.9259F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -6.0195F));
PartDefinition octagon_r29 = bone19.addOrReplaceChild("octagon_r29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r30 = bone19.addOrReplaceChild("octagon_r30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r31 = bone19.addOrReplaceChild("octagon_r31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r32 = bone19.addOrReplaceChild("octagon_r32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r33 = bone19.addOrReplaceChild("octagon_r33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r34 = bone19.addOrReplaceChild("octagon_r34", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r35 = bone19.addOrReplaceChild("octagon_r35", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6472F, -1.5624F, -13.8248F, 1.2943F, 1.6287F, 3.5402F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 14.7507F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone33 = bone19.addOrReplaceChild("bone33", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -2.4449F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)), PartPose.offset(0.0F, 0.0F, -1.0285F));
PartDefinition octagon_r36 = bone33.addOrReplaceChild("octagon_r36", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r37 = bone33.addOrReplaceChild("octagon_r37", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r38 = bone33.addOrReplaceChild("octagon_r38", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r39 = bone33.addOrReplaceChild("octagon_r39", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r40 = bone33.addOrReplaceChild("octagon_r40", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r41 = bone33.addOrReplaceChild("octagon_r41", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, -1.5708F));
PartDefinition octagon_r42 = bone33.addOrReplaceChild("octagon_r42", CubeListBuilder.create().texOffs(0, 0).addBox(-0.6913F, -1.6689F, -19.8031F, 1.3826F, 1.7398F, 4.5899F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 17.3581F, 0.0F, 0.0F, 0.7854F));
PartDefinition bone20 = Rockets2.addOrReplaceChild("bone20", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.2F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.8992F));
PartDefinition octagon_r43 = bone20.addOrReplaceChild("octagon_r43", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r44 = bone20.addOrReplaceChild("octagon_r44", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r45 = bone20.addOrReplaceChild("octagon_r45", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r46 = bone20.addOrReplaceChild("octagon_r46", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r47 = bone20.addOrReplaceChild("octagon_r47", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r48 = bone20.addOrReplaceChild("octagon_r48", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r49 = bone20.addOrReplaceChild("octagon_r49", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3182F, -0.7683F, -1.313F, 0.6365F, 0.801F, 1.2F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.113F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone22 = Rockets2.addOrReplaceChild("bone22", CubeListBuilder.create(), PartPose.offset(0.0268F, 0.0407F, 3.383F));
PartDefinition octagon_r50 = bone22.addOrReplaceChild("octagon_r50", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7931F, -0.5685F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -0.7854F));
PartDefinition octagon_r51 = bone22.addOrReplaceChild("octagon_r51", CubeListBuilder.create().texOffs(0, 0).addBox(0.3224F, -0.7982F, -0.4228F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -0.7854F));
PartDefinition octagon_r52 = bone22.addOrReplaceChild("octagon_r52", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.5846F, -0.5258F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -1.5708F));
PartDefinition octagon_r53 = bone22.addOrReplaceChild("octagon_r53", CubeListBuilder.create().texOffs(0, 0).addBox(0.0278F, -0.6255F, -0.4008F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -1.5708F));
PartDefinition octagon_r54 = bone22.addOrReplaceChild("octagon_r54", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6542F, -0.4296F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, -2.3562F));
PartDefinition octagon_r55 = bone22.addOrReplaceChild("octagon_r55", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3482F, -0.6213F, -0.5081F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -2.3562F));
PartDefinition octagon_r56 = bone22.addOrReplaceChild("octagon_r56", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8866F, -0.3801F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, 0.4494F, 0.0F, -3.1416F));
PartDefinition octagon_r57 = bone22.addOrReplaceChild("octagon_r57", CubeListBuilder.create().texOffs(0, 0).addBox(-0.5852F, -0.8626F, -0.6379F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(-0.4742F, 0.1389F, -0.9306F, -0.7854F, 0.0F, 3.1416F));
PartDefinition octagon_r58 = bone22.addOrReplaceChild("octagon_r58", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 2.3562F));
PartDefinition octagon_r59 = bone22.addOrReplaceChild("octagon_r59", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 2.3562F));
PartDefinition octagon_r60 = bone22.addOrReplaceChild("octagon_r60", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, 0.4494F, 0.0F, 1.5708F));
PartDefinition octagon_r61 = bone22.addOrReplaceChild("octagon_r61", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.7589F, 0.3353F, -0.9306F, -0.7854F, 0.0F, 1.5708F));
PartDefinition octagon_r62 = bone22.addOrReplaceChild("octagon_r62", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.4137F, -0.1891F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.7854F));
PartDefinition octagon_r63 = bone22.addOrReplaceChild("octagon_r63", CubeListBuilder.create().texOffs(0, 0).addBox(0.1884F, -0.3149F, -0.6559F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.7854F));
PartDefinition octagon_r64 = bone22.addOrReplaceChild("octagon_r64", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.3282F, -0.6495F, 0.2221F, 0.4016F, 0.9842F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, 0.4494F, 0.0F, 0.0F));
PartDefinition octagon_r65 = bone22.addOrReplaceChild("octagon_r65", CubeListBuilder.create().texOffs(0, 0).addBox(-0.4464F, -0.4242F, -0.1995F, 0.2221F, 0.3016F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.3353F, -0.7589F, -0.9306F, -0.7854F, 0.0F, 0.0F));
PartDefinition bone21 = Rockets2.addOrReplaceChild("bone21", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, 2.6961F));
PartDefinition octagon_r66 = bone21.addOrReplaceChild("octagon_r66", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r67 = bone21.addOrReplaceChild("octagon_r67", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r68 = bone21.addOrReplaceChild("octagon_r68", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r69 = bone21.addOrReplaceChild("octagon_r69", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r70 = bone21.addOrReplaceChild("octagon_r70", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r71 = bone21.addOrReplaceChild("octagon_r71", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r72 = bone21.addOrReplaceChild("octagon_r72", CubeListBuilder.create().texOffs(0, 0).addBox(-0.1111F, -0.91F, -0.205F, 0.2221F, 0.1484F, 0.4099F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, 0.0F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone18 = Rockets2.addOrReplaceChild("bone18", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2378F, -0.6508F, -9.1073F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)), PartPose.offset(-0.0021F, 0.0474F, 7.8333F));
PartDefinition octagon_r73 = bone18.addOrReplaceChild("octagon_r73", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r74 = bone18.addOrReplaceChild("octagon_r74", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r75 = bone18.addOrReplaceChild("octagon_r75", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r76 = bone18.addOrReplaceChild("octagon_r76", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r77 = bone18.addOrReplaceChild("octagon_r77", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r78 = bone18.addOrReplaceChild("octagon_r78", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r79 = bone18.addOrReplaceChild("octagon_r79", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2668F, -0.6441F, -2.0088F, 0.5336F, 0.6715F, 14.8775F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.029F, -0.0067F, -7.0986F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone25 = Rockets2.addOrReplaceChild("bone25", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 0.2985F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.411F));
PartDefinition octagon_r80 = bone25.addOrReplaceChild("octagon_r80", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r81 = bone25.addOrReplaceChild("octagon_r81", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r82 = bone25.addOrReplaceChild("octagon_r82", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r83 = bone25.addOrReplaceChild("octagon_r83", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r84 = bone25.addOrReplaceChild("octagon_r84", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r85 = bone25.addOrReplaceChild("octagon_r85", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r86 = bone25.addOrReplaceChild("octagon_r86", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3281F, -0.792F, 13.5543F, 0.6561F, 0.8257F, 1.2092F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -13.2557F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone30 = Rockets2.addOrReplaceChild("bone30", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, -3.9858F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -18.5853F));
PartDefinition octagon_r87 = bone30.addOrReplaceChild("octagon_r87", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r88 = bone30.addOrReplaceChild("octagon_r88", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r89 = bone30.addOrReplaceChild("octagon_r89", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r90 = bone30.addOrReplaceChild("octagon_r90", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r91 = bone30.addOrReplaceChild("octagon_r91", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r92 = bone30.addOrReplaceChild("octagon_r92", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r93 = bone30.addOrReplaceChild("octagon_r93", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2953F, -0.7128F, 7.8443F, 0.5905F, 0.7431F, 5.4076F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.8302F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone31 = Rockets2.addOrReplaceChild("bone31", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 1.3934F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -25.0853F));
PartDefinition octagon_r94 = bone31.addOrReplaceChild("octagon_r94", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r95 = bone31.addOrReplaceChild("octagon_r95", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r96 = bone31.addOrReplaceChild("octagon_r96", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r97 = bone31.addOrReplaceChild("octagon_r97", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r98 = bone31.addOrReplaceChild("octagon_r98", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r99 = bone31.addOrReplaceChild("octagon_r99", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r100 = bone31.addOrReplaceChild("octagon_r100", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 12.0737F, 0.5551F, 0.6985F, 0.3832F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.6803F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone32 = Rockets2.addOrReplaceChild("bone32", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, -0.4736F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -24.5343F));
PartDefinition octagon_r101 = bone32.addOrReplaceChild("octagon_r101", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r102 = bone32.addOrReplaceChild("octagon_r102", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r103 = bone32.addOrReplaceChild("octagon_r103", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r104 = bone32.addOrReplaceChild("octagon_r104", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r105 = bone32.addOrReplaceChild("octagon_r105", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r106 = bone32.addOrReplaceChild("octagon_r106", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r107 = bone32.addOrReplaceChild("octagon_r107", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2775F, -0.6701F, 11.5097F, 0.5551F, 0.6985F, 0.9472F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -11.9832F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone29 = Rockets2.addOrReplaceChild("bone29", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, -0.5789F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -12.2801F));
PartDefinition octagon_r108 = bone29.addOrReplaceChild("octagon_r108", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r109 = bone29.addOrReplaceChild("octagon_r109", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r110 = bone29.addOrReplaceChild("octagon_r110", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r111 = bone29.addOrReplaceChild("octagon_r111", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r112 = bone29.addOrReplaceChild("octagon_r112", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r113 = bone29.addOrReplaceChild("octagon_r113", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r114 = bone29.addOrReplaceChild("octagon_r114", CubeListBuilder.create().texOffs(0, 0).addBox(-0.2552F, -0.6161F, 9.59F, 0.5104F, 0.6423F, 1.104F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -10.169F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone28 = Rockets2.addOrReplaceChild("bone28", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, -3.0583F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)), PartPose.offset(0.0268F, 0.0407F, -19.1553F));
PartDefinition octagon_r115 = bone28.addOrReplaceChild("octagon_r115", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r116 = bone28.addOrReplaceChild("octagon_r116", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r117 = bone28.addOrReplaceChild("octagon_r117", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r118 = bone28.addOrReplaceChild("octagon_r118", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r119 = bone28.addOrReplaceChild("octagon_r119", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r120 = bone28.addOrReplaceChild("octagon_r120", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r121 = bone28.addOrReplaceChild("octagon_r121", CubeListBuilder.create().texOffs(0, 0).addBox(-0.3543F, -0.8554F, 11.3379F, 0.7086F, 0.8917F, 4.6066F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -14.3962F, 0.0F, 0.0F, -1.5708F));
PartDefinition bone27 = Rockets2.addOrReplaceChild("bone27",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2342F, -0.5653F, -4.8664F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2014F, -0.4862F, -11.3624F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)),
PartPose.offset(0.0268F, 0.0407F, -13.0786F));
PartDefinition octagon_r122 = bone27.addOrReplaceChild("octagon_r122",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 0.7854F));
PartDefinition octagon_r123 = bone27.addOrReplaceChild("octagon_r123",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 2.3562F));
PartDefinition octagon_r124 = bone27.addOrReplaceChild("octagon_r124",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 1.5708F));
PartDefinition octagon_r125 = bone27.addOrReplaceChild("octagon_r125",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, 3.1416F));
PartDefinition octagon_r126 = bone27.addOrReplaceChild("octagon_r126",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -2.3562F));
PartDefinition octagon_r127 = bone27.addOrReplaceChild("octagon_r127",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -0.7854F));
PartDefinition octagon_r128 = bone27.addOrReplaceChild("octagon_r128",
CubeListBuilder.create().texOffs(0, 0).addBox(-0.2014F, -0.4862F, -1.9F, 0.4028F, 0.5069F, 1.9F, new CubeDeformation(0.0F)).texOffs(0, 0).addBox(-0.2342F, -0.5653F, 4.596F, 0.4684F, 0.5894F, 6.404F, new CubeDeformation(0.0F)),
PartPose.offsetAndRotation(0.0F, 0.0F, -9.4624F, 0.0F, 0.0F, -1.5708F));
return LayerDefinition.create(meshdefinition, 16, 16);
}
@Override
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw, float headPitch) {
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay, float red, float green, float blue, float alpha) {
Rockets.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
}

View file

@ -3,38 +3,49 @@ package net.mcreator.superbwarfare.client.renderer.entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.superbwarfare.client.model.entity.ModelMortarShell;
import net.mcreator.superbwarfare.entity.CannonShellEntity;
import net.mcreator.superbwarfare.entity.layer.CannonShellLayer;
import net.mcreator.superbwarfare.entity.model.CannonShellEntityModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class CannonShellRenderer extends EntityRenderer<CannonShellEntity> {
private static final ResourceLocation texture = new ResourceLocation("superbwarfare:textures/entity/mortar_shell.png");
private final ModelMortarShell<CannonShellEntity> model;
public class CannonShellRenderer extends GeoEntityRenderer<CannonShellEntity> {
public CannonShellRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new CannonShellEntityModel());
this.addRenderLayer(new CannonShellLayer(this));
this.shadowRadius = 0f;
}
public CannonShellRenderer(EntityRendererProvider.Context context) {
super(context);
model = new ModelMortarShell<>(context.bakeLayer(ModelMortarShell.LAYER_LOCATION));
@Override
public RenderType getRenderType(CannonShellEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, CannonShellEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void render(CannonShellEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
poseStack.popPose();
}
@Override
public ResourceLocation getTextureLocation(CannonShellEntity entity) {
return texture;
protected float getDeathMaxRotation(CannonShellEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -3,38 +3,47 @@ package net.mcreator.superbwarfare.client.renderer.entity;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import com.mojang.math.Axis;
import net.mcreator.superbwarfare.client.model.entity.ModelRPGRocket;
import net.mcreator.superbwarfare.entity.RpgRocketEntity;
import net.mcreator.superbwarfare.entity.model.RpgRocketModel;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.entity.EntityRenderer;
import net.minecraft.client.renderer.entity.EntityRendererProvider;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoEntityRenderer;
public class RpgRocketRenderer extends EntityRenderer<RpgRocketEntity> {
private static final ResourceLocation texture = new ResourceLocation("superbwarfare:textures/entity/rocket.png");
private final ModelRPGRocket<RpgRocketEntity> model;
public class RpgRocketRenderer extends GeoEntityRenderer<RpgRocketEntity> {
public RpgRocketRenderer(EntityRendererProvider.Context renderManager) {
super(renderManager, new RpgRocketModel());
this.shadowRadius = 0.1f;
}
public RpgRocketRenderer(EntityRendererProvider.Context context) {
super(context);
model = new ModelRPGRocket<>(context.bakeLayer(ModelRPGRocket.LAYER_LOCATION));
@Override
public RenderType getRenderType(RpgRocketEntity animatable, ResourceLocation texture, MultiBufferSource bufferSource, float partialTick) {
return RenderType.entityTranslucent(getTextureLocation(animatable));
}
@Override
public void preRender(PoseStack poseStack, RpgRocketEntity entity, BakedGeoModel model, MultiBufferSource bufferSource, VertexConsumer buffer, boolean isReRender, float partialTick, int packedLight, int packedOverlay, float red, float green,
float blue, float alpha) {
float scale = 1f;
this.scaleHeight = scale;
this.scaleWidth = scale;
super.preRender(poseStack, entity, model, bufferSource, buffer, isReRender, partialTick, packedLight, packedOverlay, red, green, blue, alpha);
}
@Override
public void render(RpgRocketEntity entityIn, float entityYaw, float partialTicks, PoseStack poseStack, MultiBufferSource bufferIn, int packedLightIn) {
VertexConsumer vb = bufferIn.getBuffer(RenderType.entityCutout(this.getTextureLocation(entityIn)));
poseStack.pushPose();
poseStack.mulPose(Axis.YP.rotationDegrees(Mth.lerp(partialTicks, entityIn.yRotO, entityIn.getYRot()) - 90));
poseStack.mulPose(Axis.ZP.rotationDegrees(90 + Mth.lerp(partialTicks, entityIn.xRotO, entityIn.getXRot())));
model.renderToBuffer(poseStack, vb, packedLightIn, OverlayTexture.NO_OVERLAY, 1, 1, 1, 0.0625f);
poseStack.popPose();
super.render(entityIn, entityYaw, partialTicks, poseStack, bufferIn, packedLightIn);
poseStack.popPose();
}
@Override
public ResourceLocation getTextureLocation(RpgRocketEntity entity) {
return texture;
protected float getDeathMaxRotation(RpgRocketEntity entityLivingBaseIn) {
return 0.0F;
}
}

View file

@ -9,6 +9,9 @@ import net.minecraft.core.BlockPos;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
@ -27,8 +30,21 @@ import net.minecraft.world.phys.Vec3;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PacketDistributor;
import net.minecraftforge.network.PlayMessages;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
public class CannonShellEntity extends ThrowableItemProjectile {
public class CannonShellEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity{
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(CannonShellEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
private float damage = 0;
private float explosionRadius = 0;
private float explosionDamage = 0;
@ -77,6 +93,11 @@ public class CannonShellEntity extends ThrowableItemProjectile {
return ModItems.HE_5_INCHES.get();
}
@Override
public boolean shouldRenderAtSqrDistance(double pDistance) {
return true;
}
@Override
public void onHitEntity(EntityHitResult entityHitResult) {
Entity entity = entityHitResult.getEntity();
@ -171,7 +192,7 @@ public class CannonShellEntity extends ThrowableItemProjectile {
public void tick() {
super.tick();
if (this.level() instanceof ServerLevel serverLevel) {
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(),
ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, this.xo, this.yo, this.zo,
1, 0, 0, 0, 0.001, true);
}
if (this.tickCount > 600 || this.isInWater()) {
@ -201,8 +222,52 @@ public class CannonShellEntity extends ThrowableItemProjectile {
this.discard();
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.cannon_shell.idle"));
}
return PlayState.STOP;
}
private PlayState procedurePredicate(AnimationState event) {
if (!animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected float getGravity() {
return 0.05F;
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void setAnimationProcedure(String procedure) {
this.animationprocedure = procedure;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -67,6 +67,11 @@ public class GunGrenadeEntity extends ThrowableItemProjectile {
return ModItems.GRENADE_40MM.get();
}
@Override
public boolean shouldRenderAtSqrDistance(double pDistance) {
return true;
}
@Override
protected void onHitEntity(EntityHitResult result) {
float damageMultiplier = 1 + 0.2f * this.monsterMultiplier;
@ -156,7 +161,7 @@ public class GunGrenadeEntity extends ThrowableItemProjectile {
super.tick();
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(),
ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, this.xo, this.yo, this.zo,
1, 0, 0, 0, 0.02, true);
}

View file

@ -62,6 +62,10 @@ public class HandGrenadeEntity extends ThrowableItemProjectile {
return ModItems.HAND_GRENADE.get();
}
@Override
public boolean shouldRenderAtSqrDistance(double pDistance) {
return true;
}
@Override
protected void onHit(HitResult result) {

View file

@ -55,6 +55,10 @@ public class MortarShellEntity extends ThrowableItemProjectile {
return ModItems.MORTAR_SHELLS.get();
}
@Override
public boolean shouldRenderAtSqrDistance(double pDistance) {
return true;
}
@Override
public void onHitEntity(EntityHitResult entityHitResult) {
@ -81,7 +85,7 @@ public class MortarShellEntity extends ThrowableItemProjectile {
public void tick() {
super.tick();
if (this.level() instanceof ServerLevel serverLevel) {
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(),
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.xo, this.yo, this.zo,
2, 0, 0, 0, 0.02, true);
}
if (this.tickCount > 600 || this.isInWater()) {

View file

@ -73,6 +73,10 @@ public class RgoGrenadeEntity extends ThrowableItemProjectile implements GeoEnti
return ModItems.RGO_GRENADE.get();
}
@Override
public boolean shouldRenderAtSqrDistance(double pDistance) {
return true;
}
@Override
protected void onHit(HitResult result) {

View file

@ -13,6 +13,9 @@ import net.mcreator.superbwarfare.tools.ParticleTool;
import net.minecraft.core.particles.ParticleTypes;
import net.minecraft.network.protocol.Packet;
import net.minecraft.network.protocol.game.ClientGamePacketListener;
import net.minecraft.network.syncher.EntityDataAccessor;
import net.minecraft.network.syncher.EntityDataSerializers;
import net.minecraft.network.syncher.SynchedEntityData;
import net.minecraft.server.level.ServerLevel;
import net.minecraft.server.level.ServerPlayer;
import net.minecraft.sounds.SoundSource;
@ -31,10 +34,23 @@ import net.minecraft.world.phys.Vec3;
import net.minecraftforge.network.NetworkHooks;
import net.minecraftforge.network.PacketDistributor;
import net.minecraftforge.network.PlayMessages;
import software.bernie.geckolib.animatable.GeoEntity;
import software.bernie.geckolib.core.animatable.instance.AnimatableInstanceCache;
import software.bernie.geckolib.core.animation.AnimatableManager;
import software.bernie.geckolib.core.animation.AnimationController;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.core.animation.RawAnimation;
import software.bernie.geckolib.core.object.PlayState;
import software.bernie.geckolib.util.GeckoLibUtil;
import java.util.Optional;
public class RpgRocketEntity extends ThrowableItemProjectile {
public class RpgRocketEntity extends ThrowableItemProjectile implements GeoEntity, AnimatedEntity{
public static final EntityDataAccessor<String> ANIMATION = SynchedEntityData.defineId(CannonShellEntity.class, EntityDataSerializers.STRING);
private final AnimatableInstanceCache cache = GeckoLibUtil.createInstanceCache(this);
public String animationprocedure = "empty";
private int monsterMultiplier = 0;
private float damage = 150f;
@ -160,18 +176,17 @@ public class RpgRocketEntity extends ThrowableItemProjectile {
public void tick() {
super.tick();
if (this.tickCount == 2) {
if (this.tickCount == 3) {
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
ParticleTool.sendParticle(serverLevel, ParticleTypes.CLOUD, this.getX(), this.getY(), this.getZ(), 50, 0.8, 0.8, 0.8, 0.01, true);
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 50, 0.8, 0.8, 0.8, 0.01, true);
ParticleTool.sendParticle(serverLevel, ParticleTypes.CLOUD, this.xo, this.yo, this.zo, 15, 0.8, 0.8, 0.8, 0.01, true);
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.xo, this.yo, this.zo, 10, 0.8, 0.8, 0.8, 0.01, true);
}
}
if (this.tickCount > 1) {
if (this.tickCount > 2) {
this.setDeltaMovement(new Vec3((1.03 * this.getDeltaMovement().x()), (1.03 * this.getDeltaMovement().y() - 0.02), (1.03 * this.getDeltaMovement().z())));
if (!this.level().isClientSide() && this.level() instanceof ServerLevel serverLevel) {
ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, this.getX(), this.getY(), this.getZ(), 2, 0, 0, 0, 0, true);
ParticleTool.sendParticle(serverLevel, ParticleTypes.CAMPFIRE_COSY_SMOKE, this.getX(), this.getY(), this.getZ(), 2, 0, 0, 0, 0, true);
ParticleTool.sendParticle(serverLevel, ParticleTypes.SMOKE, this.xo, this.yo, this.zo, 1, 0, 0, 0, 0, true);
}
}
@ -193,4 +208,53 @@ public class RpgRocketEntity extends ThrowableItemProjectile {
ParticleTool.spawnMediumExplosionParticles(this.level(), this.position());
}
private PlayState movementPredicate(AnimationState event) {
if (this.animationprocedure.equals("empty")) {
return event.setAndContinue(RawAnimation.begin().thenLoop("animation.rpg.idle"));
}
return PlayState.STOP;
}
private PlayState procedurePredicate(AnimationState event) {
if (!animationprocedure.equals("empty") && event.getController().getAnimationState() == AnimationController.State.STOPPED) {
event.getController().setAnimation(RawAnimation.begin().thenPlay(this.animationprocedure));
if (event.getController().getAnimationState() == AnimationController.State.STOPPED) {
this.animationprocedure = "empty";
event.getController().forceAnimationReset();
}
} else if (animationprocedure.equals("empty")) {
return PlayState.STOP;
}
return PlayState.CONTINUE;
}
@Override
protected float getGravity() {
return 0.05F;
}
public String getSyncedAnimation() {
return this.entityData.get(ANIMATION);
}
public void setAnimation(String animation) {
this.entityData.set(ANIMATION, animation);
}
@Override
public void setAnimationProcedure(String procedure) {
this.animationprocedure = procedure;
}
@Override
public void registerControllers(AnimatableManager.ControllerRegistrar data) {
data.add(new AnimationController<>(this, "movement", 0, this::movementPredicate));
data.add(new AnimationController<>(this, "procedure", 0, this::procedurePredicate));
}
@Override
public AnimatableInstanceCache getAnimatableInstanceCache() {
return this.cache;
}
}

View file

@ -0,0 +1,27 @@
package net.mcreator.superbwarfare.entity.layer;
import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.entity.CannonShellEntity;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.client.renderer.texture.OverlayTexture;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.cache.object.BakedGeoModel;
import software.bernie.geckolib.renderer.GeoRenderer;
import software.bernie.geckolib.renderer.layer.GeoRenderLayer;
public class CannonShellLayer extends GeoRenderLayer<CannonShellEntity> {
private static final ResourceLocation LAYER = new ResourceLocation(ModUtils.MODID, "textures/entity/cannon_shell_e.png");
public CannonShellLayer(GeoRenderer<CannonShellEntity> entityRenderer) {
super(entityRenderer);
}
@Override
public void render(PoseStack poseStack, CannonShellEntity animatable, BakedGeoModel bakedModel, RenderType renderType, MultiBufferSource bufferSource, VertexConsumer buffer, float partialTick, int packedLight, int packedOverlay) {
RenderType glowRenderType = RenderType.eyes(LAYER);
getRenderer().reRender(getDefaultBakedModel(animatable), poseStack, bufferSource, animatable, glowRenderType, bufferSource.getBuffer(glowRenderType), partialTick, packedLight, OverlayTexture.NO_OVERLAY, 1, 1, 1, 1);
}
}

View file

@ -0,0 +1,31 @@
package net.mcreator.superbwarfare.entity.model;
import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.entity.CannonShellEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.core.animatable.model.CoreGeoBone;
import software.bernie.geckolib.core.animation.AnimationState;
import software.bernie.geckolib.model.GeoModel;
public class CannonShellEntityModel extends GeoModel<CannonShellEntity> {
@Override
public ResourceLocation getAnimationResource(CannonShellEntity entity) {
return new ResourceLocation(ModUtils.MODID, "animations/cannon_shell.animation.json");
}
@Override
public ResourceLocation getModelResource(CannonShellEntity entity) {
return new ResourceLocation(ModUtils.MODID, "geo/cannon_shell.geo.json");
}
@Override
public ResourceLocation getTextureResource(CannonShellEntity entity) {
return new ResourceLocation(ModUtils.MODID, "textures/entity/cannon_shell.png");
}
@Override
public void setCustomAnimations(CannonShellEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone bone = getAnimationProcessor().getBone("bone");
bone.setHidden(animatable.tickCount <= 1);
}
}

View file

@ -34,8 +34,6 @@ public class ProjectileEntityModel extends GeoModel<ProjectileEntity> {
@Override
public void setCustomAnimations(ProjectileEntity animatable, long instanceId, AnimationState animationState) {
CoreGeoBone bone = getAnimationProcessor().getBone("bone");
bone.setHidden(animatable.tickCount <= 1);
}
}

View file

@ -0,0 +1,29 @@
package net.mcreator.superbwarfare.entity.model;
import net.mcreator.superbwarfare.ModUtils;
import net.mcreator.superbwarfare.entity.RpgRocketEntity;
import net.minecraft.resources.ResourceLocation;
import software.bernie.geckolib.model.GeoModel;
public class RpgRocketModel extends GeoModel<RpgRocketEntity> {
@Override
public ResourceLocation getAnimationResource(RpgRocketEntity entity) {
return new ResourceLocation(ModUtils.MODID, "animations/rpg_rocket.animation.json");
}
@Override
public ResourceLocation getModelResource(RpgRocketEntity entity) {
return new ResourceLocation(ModUtils.MODID, "geo/rpg_rocket.geo.json");
}
@Override
public ResourceLocation getTextureResource(RpgRocketEntity entity) {
return new ResourceLocation(ModUtils.MODID, "textures/entity/rpg_rocket.png");
}
// @Override
// public void setCustomAnimations(RpgRocketEntity animatable, long instanceId, AnimationState animationState) {
// CoreGeoBone bone = getAnimationProcessor().getBone("bone");
// bone.setHidden(animatable.tickCount <= 1);
// }
}

View file

@ -18,7 +18,7 @@ public class ModEntities {
public static final DeferredRegister<EntityType<?>> REGISTRY = DeferredRegister.create(ForgeRegistries.ENTITY_TYPES, ModUtils.MODID);
public static final RegistryObject<EntityType<Target1Entity>> TARGET_1 = register("target_1",
EntityType.Builder.<Target1Entity>of(Target1Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(256).setUpdateInterval(3).setCustomClientFactory(Target1Entity::new).fireImmune().sized(0.875f, 2f));
EntityType.Builder.<Target1Entity>of(Target1Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Target1Entity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<MortarEntity>> MORTAR = register("mortar",
EntityType.Builder.<MortarEntity>of(MortarEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(MortarEntity::new).fireImmune().sized(0.8f, 1.4f));
public static final RegistryObject<EntityType<SenpaiEntity>> SENPAI = register("senpai",
@ -27,37 +27,37 @@ public class ModEntities {
public static final RegistryObject<EntityType<ClaymoreEntity>> CLAYMORE = register("claymore",
EntityType.Builder.<ClaymoreEntity>of(ClaymoreEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(ClaymoreEntity::new).fireImmune().sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<Mk42Entity>> MK_42 = register("mk_42",
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f));
EntityType.Builder.<Mk42Entity>of(Mk42Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(5124).setUpdateInterval(3).setCustomClientFactory(Mk42Entity::new).fireImmune().sized(3.4f, 3.5f));
public static final RegistryObject<EntityType<Mle1934Entity>> MLE_1934 = register("mle_1934",
EntityType.Builder.<Mle1934Entity>of(Mle1934Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(6f, 3.7f));
EntityType.Builder.<Mle1934Entity>of(Mle1934Entity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(Mle1934Entity::new).fireImmune().sized(6f, 3.7f));
public static final RegistryObject<EntityType<DroneEntity>> DRONE = register("drone",
EntityType.Builder.<DroneEntity>of(DroneEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.7f, 0.175f));
EntityType.Builder.<DroneEntity>of(DroneEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(3).setCustomClientFactory(DroneEntity::new).sized(0.7f, 0.175f));
public static final RegistryObject<EntityType<TaserBulletProjectileEntity>> TASER_BULLET_PROJECTILE = register("projectile_taser_bullet_projectile",
EntityType.Builder.<TaserBulletProjectileEntity>of(TaserBulletProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(TaserBulletProjectileEntity::new).setShouldReceiveVelocityUpdates(true).setTrackingRange(64)
.setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<GunGrenadeEntity>> GUN_GRENADE = register("projectile_gun_grenade",
EntityType.Builder.<GunGrenadeEntity>of(GunGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(GunGrenadeEntity::new).sized(0.5f, 0.5f));
EntityType.Builder.<GunGrenadeEntity>of(GunGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(GunGrenadeEntity::new).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<FragEntity>> FRAG = register("projectile_frag",
EntityType.Builder.<FragEntity>of(FragEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(FragEntity::new).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<TargetEntity>> TARGET = register("target",
EntityType.Builder.<TargetEntity>of(TargetEntity::new, MobCategory.CREATURE).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(3).setCustomClientFactory(TargetEntity::new).fireImmune().sized(0.875f, 2f));
public static final RegistryObject<EntityType<RpgRocketEntity>> RPG_ROCKET = register("projectile_rpg_rocket",
EntityType.Builder.<RpgRocketEntity>of(RpgRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(RpgRocketEntity::new).sized(0.5f, 0.5f));
EntityType.Builder.<RpgRocketEntity>of(RpgRocketEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(RpgRocketEntity::new).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<MortarShellEntity>> MORTAR_SHELL = register("projectile_mortar_shell",
EntityType.Builder.<MortarShellEntity>of(MortarShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(MortarShellEntity::new).sized(0.5f, 0.5f));
EntityType.Builder.<MortarShellEntity>of(MortarShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(MortarShellEntity::new).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<BocekArrowEntity>> BOCEK_ARROW = register("projectile_bocekarrow",
EntityType.Builder.<BocekArrowEntity>of(BocekArrowEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setCustomClientFactory(BocekArrowEntity::new).setTrackingRange(64).setUpdateInterval(1).sized(0.5f, 0.5f));
EntityType.Builder.<BocekArrowEntity>of(BocekArrowEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setCustomClientFactory(BocekArrowEntity::new).setTrackingRange(512).setUpdateInterval(1).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<ProjectileEntity>> PROJECTILE = register("projectile",
EntityType.Builder.<ProjectileEntity>of(ProjectileEntity::new, MobCategory.MISC).setCustomClientFactory(ProjectileEntity::new).setTrackingRange(512).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<CannonShellEntity>> CANNON_SHELL = register("projectile_cannon_shell",
EntityType.Builder.<CannonShellEntity>of(CannonShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(CannonShellEntity::new).sized(0.5f, 0.5f));
EntityType.Builder.<CannonShellEntity>of(CannonShellEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(CannonShellEntity::new).sized(0.5f, 0.5f));
public static final RegistryObject<EntityType<HandGrenadeEntity>> HAND_GRENADE_ENTITY = register("projectile_hand_grenade_entity",
EntityType.Builder.<HandGrenadeEntity>of(HandGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(HandGrenadeEntity::new).sized(0.3f, 0.3f));
EntityType.Builder.<HandGrenadeEntity>of(HandGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(HandGrenadeEntity::new).sized(0.3f, 0.3f));
public static final RegistryObject<EntityType<RgoGrenadeEntity>> RGO_GRENADE = register("projectile_rgo_grenade",
EntityType.Builder.<RgoGrenadeEntity>of(RgoGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(64).setUpdateInterval(1).setCustomClientFactory(RgoGrenadeEntity::new).sized(0.3f, 0.3f));
EntityType.Builder.<RgoGrenadeEntity>of(RgoGrenadeEntity::new, MobCategory.MISC).setShouldReceiveVelocityUpdates(true).setTrackingRange(512).setUpdateInterval(1).setCustomClientFactory(RgoGrenadeEntity::new).sized(0.3f, 0.3f));
private static <T extends Entity> RegistryObject<EntityType<T>> register(String registryname, EntityType.Builder<T> entityTypeBuilder) {

View file

@ -10,7 +10,6 @@ import net.minecraftforge.fml.common.Mod;
public class ModModels {
@SubscribeEvent
public static void registerLayerDefinitions(EntityRenderersEvent.RegisterLayerDefinitions event) {
event.registerLayerDefinition(ModelRPGRocket.LAYER_LOCATION, ModelRPGRocket::createBodyLayer);
event.registerLayerDefinition(ModelBullet.LAYER_LOCATION, ModelBullet::createBodyLayer);
event.registerLayerDefinition(ModelMortarShell.LAYER_LOCATION, ModelMortarShell::createBodyLayer);
event.registerLayerDefinition(ModelTaserRod.LAYER_LOCATION, ModelTaserRod::createBodyLayer);

View file

@ -0,0 +1,22 @@
{
"format_version": "1.8.0",
"animations": {
"animation.cannon_shell.idle": {
"loop": true,
"animation_length": 0.5,
"bones": {
"bone": {
"rotation": {
"0.0": {
"vector": [0, 0, 0]
},
"0.5": {
"vector": [0, 360, 0]
}
}
}
}
}
},
"geckolib_format_version": 2
}

View file

@ -0,0 +1,111 @@
{
"format_version": "1.8.0",
"animations": {
"animation.rpg.idle": {
"loop": "hold_on_last_frame",
"animation_length": 6,
"bones": {
"wing1": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing2": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing3": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing4": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing5": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing6": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing7": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"wing8": {
"rotation": {
"0.2417": {
"vector": [0, 0, 0]
},
"0.6": {
"vector": [0, 67.5, 0],
"easing": "easeInElastic"
}
}
},
"body": {
"rotation": {
"0.0": {
"vector": [0, 0, 0]
},
"6.0": {
"vector": [0, 10800, 0],
"easing": "easeInSine"
}
}
}
}
}
},
"geckolib_format_version": 2
}

View file

@ -0,0 +1,517 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.unknown",
"texture_width": 64,
"texture_height": 64,
"visible_bounds_width": 2,
"visible_bounds_height": 2.5,
"visible_bounds_offset": [0, 0.75, 0]
},
"bones": [
{
"name": "bone",
"pivot": [0, 13.5, 0]
},
{
"name": "bone2",
"parent": "bone",
"pivot": [0, 16, 0],
"cubes": [
{
"origin": [-4.81953, 15, -2],
"size": [9.63906, 2, 4],
"uv": {
"east": {"uv": [25, 37], "uv_size": [4, 2]},
"west": {"uv": [29, 37], "uv_size": [4, 2]},
"up": {"uv": [0, 0], "uv_size": [10, 4]},
"down": {"uv": [0, 8], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 15, -2],
"size": [9.63906, 2, 4],
"pivot": [0, 13.5, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [0, 38], "uv_size": [4, 2]},
"west": {"uv": [4, 38], "uv_size": [4, 2]},
"up": {"uv": [0, 8], "uv_size": [10, 4]},
"down": {"uv": [10, 4], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 15, -2],
"size": [9.63906, 2, 4],
"pivot": [0, 13.5, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [8, 38], "uv_size": [4, 2]},
"west": {"uv": [12, 38], "uv_size": [4, 2]},
"up": {"uv": [10, 4], "uv_size": [10, 4]},
"down": {"uv": [10, 12], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 15, -2],
"size": [9.63906, 2, 4],
"pivot": [0, 13.5, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [16, 38], "uv_size": [4, 2]},
"west": {"uv": [33, 38], "uv_size": [4, 2]},
"up": {"uv": [0, 12], "uv_size": [10, 4]},
"down": {"uv": [10, 16], "uv_size": [10, -4]}
}
}
]
},
{
"name": "bone4",
"parent": "bone",
"pivot": [0, 16, 0],
"cubes": [
{
"origin": [-4.81953, 13, -2],
"size": [9.63906, 1, 4],
"uv": {
"east": {"uv": [40, 28], "uv_size": [4, 1]},
"west": {"uv": [40, 29], "uv_size": [4, 1]},
"up": {"uv": [0, 16], "uv_size": [10, 4]},
"down": {"uv": [10, 20], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 13, -2],
"size": [9.63906, 1, 4],
"pivot": [0, 13.5, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [40, 30], "uv_size": [4, 1]},
"west": {"uv": [40, 31], "uv_size": [4, 1]},
"up": {"uv": [0, 20], "uv_size": [10, 4]},
"down": {"uv": [20, 4], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 13, -2],
"size": [9.63906, 1, 4],
"pivot": [0, 13.5, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [32, 40], "uv_size": [4, 1]},
"west": {"uv": [40, 32], "uv_size": [4, 1]},
"up": {"uv": [20, 4], "uv_size": [10, 4]},
"down": {"uv": [20, 12], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 13, -2],
"size": [9.63906, 1, 4],
"pivot": [0, 13.5, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [40, 33], "uv_size": [4, 1]},
"west": {"uv": [36, 40], "uv_size": [4, 1]},
"up": {"uv": [10, 20], "uv_size": [10, 4]},
"down": {"uv": [20, 16], "uv_size": [10, -4]}
}
}
]
},
{
"name": "bone3",
"parent": "bone",
"pivot": [0, 15.93, 0],
"cubes": [
{
"origin": [-4.48216, 14, -1.86],
"size": [8.96433, 1, 3.72],
"uv": {
"east": {"uv": [0, 40], "uv_size": [4, 1]},
"west": {"uv": [4, 40], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 14, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 13.605, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [8, 40], "uv_size": [4, 1]},
"west": {"uv": [12, 40], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 14, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 13.605, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [16, 40], "uv_size": [4, 1]},
"west": {"uv": [40, 25], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 14, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 13.605, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [40, 26], "uv_size": [4, 1]},
"west": {"uv": [40, 27], "uv_size": [4, 1]}
}
}
]
},
{
"name": "bone5",
"parent": "bone",
"pivot": [0, 13.93, 0],
"cubes": [
{
"origin": [-4.48216, 12, -1.86],
"size": [8.96433, 1, 3.72],
"uv": {
"east": {"uv": [40, 40], "uv_size": [4, 1]},
"west": {"uv": [0, 41], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 12, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 11.605, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [4, 41], "uv_size": [4, 1]},
"west": {"uv": [8, 41], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 12, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 11.605, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [12, 41], "uv_size": [4, 1]},
"west": {"uv": [16, 41], "uv_size": [4, 1]}
}
},
{
"origin": [-4.48216, 12, -1.86],
"size": [8.96433, 1, 3.72],
"pivot": [0, 11.605, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [41, 16], "uv_size": [4, 1]},
"west": {"uv": [41, 17], "uv_size": [4, 1]}
}
}
]
},
{
"name": "bone6",
"parent": "bone",
"pivot": [0, 14, 0],
"cubes": [
{
"origin": [-4.81953, 6, -2],
"size": [9.63906, 6, 4],
"pivot": [0, 11.5, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [30, 16], "uv_size": [4, 6]},
"west": {"uv": [30, 22], "uv_size": [4, 6]},
"up": {"uv": [20, 16], "uv_size": [10, 4]},
"down": {"uv": [20, 24], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 6, -2],
"size": [9.63906, 6, 4],
"pivot": [0, 11.5, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [30, 28], "uv_size": [4, 6]},
"west": {"uv": [0, 32], "uv_size": [4, 6]},
"up": {"uv": [0, 24], "uv_size": [10, 4]},
"down": {"uv": [10, 28], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 6, -2],
"size": [9.63906, 6, 4],
"pivot": [0, 11.5, 0],
"rotation": [-180, 0, 180],
"uv": {
"east": {"uv": [4, 32], "uv_size": [4, 6]},
"west": {"uv": [8, 32], "uv_size": [4, 6]},
"up": {"uv": [20, 24], "uv_size": [10, 4]},
"down": {"uv": [0, 32], "uv_size": [10, -4]}
}
},
{
"origin": [-4.81953, 6, -2],
"size": [9.63906, 6, 4],
"pivot": [0, 11.5, 0],
"rotation": [-180, 45, 180],
"uv": {
"east": {"uv": [12, 32], "uv_size": [4, 6]},
"west": {"uv": [16, 32], "uv_size": [4, 6]},
"up": {"uv": [10, 28], "uv_size": [10, 4]},
"down": {"uv": [20, 32], "uv_size": [10, -4]}
}
}
]
},
{
"name": "bone7",
"parent": "bone",
"pivot": [0, 13, 0],
"cubes": [
{
"origin": [-4.33758, 4, -1.8],
"size": [8.67516, 2, 3.6],
"uv": {
"east": {"uv": [38, 34], "uv_size": [4, 2]},
"west": {"uv": [38, 36], "uv_size": [4, 2]},
"down": {"uv": [30, 4], "uv_size": [9, -4]}
}
},
{
"origin": [-4.33758, 4, -1.8],
"size": [8.67516, 2, 3.6],
"pivot": [0, 10.75, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [37, 38], "uv_size": [4, 2]},
"west": {"uv": [39, 0], "uv_size": [4, 2]},
"down": {"uv": [30, 8], "uv_size": [9, -4]}
}
},
{
"origin": [-4.33758, 4, -1.8],
"size": [8.67516, 2, 3.6],
"pivot": [0, 10.75, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [39, 2], "uv_size": [4, 2]},
"west": {"uv": [39, 4], "uv_size": [4, 2]},
"down": {"uv": [30, 12], "uv_size": [9, -4]}
}
},
{
"origin": [-4.33758, 4, -1.8],
"size": [8.67516, 2, 3.6],
"pivot": [0, 10.75, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [39, 6], "uv_size": [4, 2]},
"west": {"uv": [39, 8], "uv_size": [4, 2]},
"down": {"uv": [30, 16], "uv_size": [9, -4]}
}
}
]
},
{
"name": "bone8",
"parent": "bone",
"pivot": [0, 11.65, 0],
"cubes": [
{
"origin": [-3.68694, 2.25, -1.53],
"size": [7.37388, 1.75, 3.06],
"uv": {
"east": {"uv": [27, 32], "uv_size": [3, 2]},
"west": {"uv": [39, 10], "uv_size": [3, 2]},
"down": {"uv": [20, 35], "uv_size": [7, -3]}
}
},
{
"origin": [-3.68694, 2.25, -1.53],
"size": [7.37388, 1.75, 3.06],
"pivot": [0, 9.7375, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [39, 12], "uv_size": [3, 2]},
"west": {"uv": [39, 14], "uv_size": [3, 2]},
"down": {"uv": [34, 19], "uv_size": [7, -3]}
}
},
{
"origin": [-3.68694, 2.25, -1.53],
"size": [7.37388, 1.75, 3.06],
"pivot": [0, 9.7375, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [20, 39], "uv_size": [3, 2]},
"west": {"uv": [23, 39], "uv_size": [3, 2]},
"down": {"uv": [34, 22], "uv_size": [7, -3]}
}
},
{
"origin": [-3.68694, 2.25, -1.53],
"size": [7.37388, 1.75, 3.06],
"pivot": [0, 9.7375, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [26, 39], "uv_size": [3, 2]},
"west": {"uv": [29, 39], "uv_size": [3, 2]},
"down": {"uv": [34, 25], "uv_size": [7, -3]}
}
}
]
},
{
"name": "bone9",
"parent": "bone",
"pivot": [0, 10.146, 0],
"cubes": [
{
"origin": [-3.09703, 1.25, -1.2852],
"size": [6.19406, 1, 2.5704],
"uv": {
"east": {"uv": [41, 18], "uv_size": [3, 1]},
"west": {"uv": [41, 19], "uv_size": [3, 1]},
"down": {"uv": [34, 28], "uv_size": [6, -3]}
}
},
{
"origin": [-3.09703, 1.25, -1.2852],
"size": [6.19406, 1, 2.5704],
"pivot": [0, 8.5395, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [20, 41], "uv_size": [3, 1]},
"west": {"uv": [41, 20], "uv_size": [3, 1]},
"down": {"uv": [27, 37], "uv_size": [6, -3]}
}
},
{
"origin": [-3.09703, 1.25, -1.2852],
"size": [6.19406, 1, 2.5704],
"pivot": [0, 8.5395, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [41, 21], "uv_size": [3, 1]},
"west": {"uv": [41, 22], "uv_size": [3, 1]},
"down": {"uv": [34, 31], "uv_size": [6, -3]}
}
},
{
"origin": [-3.09703, 1.25, -1.2852],
"size": [6.19406, 1, 2.5704],
"pivot": [0, 8.5395, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [23, 41], "uv_size": [3, 1]},
"west": {"uv": [41, 23], "uv_size": [3, 1]},
"down": {"uv": [34, 34], "uv_size": [6, -3]}
}
}
]
},
{
"name": "bone10",
"parent": "bone",
"pivot": [0, 7.922, 0],
"cubes": [
{
"origin": [-2.32277, 0.5, -0.9639],
"size": [4.64555, 0.75, 1.9278],
"uv": {
"east": {"uv": [25, 35], "uv_size": [2, 1]},
"west": {"uv": [25, 36], "uv_size": [2, 1]},
"down": {"uv": [33, 36], "uv_size": [5, -2]}
}
},
{
"origin": [-2.32277, 0.5, -0.9639],
"size": [4.64555, 0.75, 1.9278],
"pivot": [0, 6.71713, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [35, 41], "uv_size": [2, 1]},
"west": {"uv": [37, 41], "uv_size": [2, 1]},
"down": {"uv": [20, 37], "uv_size": [5, -2]}
}
},
{
"origin": [-2.32277, 0.5, -0.9639],
"size": [4.64555, 0.75, 1.9278],
"pivot": [0, 6.71713, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [41, 38], "uv_size": [2, 1]},
"west": {"uv": [39, 41], "uv_size": [2, 1]},
"down": {"uv": [33, 38], "uv_size": [5, -2]}
}
},
{
"origin": [-2.32277, 0.5, -0.9639],
"size": [4.64555, 0.75, 1.9278],
"pivot": [0, 6.71713, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [41, 39], "uv_size": [2, 1]},
"west": {"uv": [41, 41], "uv_size": [2, 1]},
"down": {"uv": [20, 39], "uv_size": [5, -2]}
}
}
]
},
{
"name": "bone11",
"parent": "bone",
"pivot": [0, 5.76962, 0],
"cubes": [
{
"origin": [-1.64917, -0.15313, -0.68437],
"size": [3.29834, 0.65313, 1.36874],
"uv": {
"east": {"uv": [32, 39], "uv_size": [1, 1]},
"west": {"uv": [0, 42], "uv_size": [1, 1]},
"down": {"uv": [41, 25], "uv_size": [3, -1]}
}
},
{
"origin": [-1.64917, -0.15313, -0.68437],
"size": [3.29834, 0.65313, 1.36874],
"pivot": [0, 4.91416, 0],
"rotation": [0, -45, 0],
"uv": {
"east": {"uv": [1, 42], "uv_size": [1, 1]},
"west": {"uv": [2, 42], "uv_size": [1, 1]},
"down": {"uv": [26, 42], "uv_size": [3, -1]}
}
},
{
"origin": [-1.64917, -0.15313, -0.68437],
"size": [3.29834, 0.65313, 1.36874],
"pivot": [0, 4.91416, 0],
"rotation": [0, -90, 0],
"uv": {
"east": {"uv": [3, 42], "uv_size": [1, 1]},
"west": {"uv": [4, 42], "uv_size": [1, 1]},
"down": {"uv": [29, 42], "uv_size": [3, -1]}
}
},
{
"origin": [-1.64917, -0.15313, -0.68437],
"size": [3.29834, 0.65313, 1.36874],
"pivot": [0, 4.91416, 0],
"rotation": [-180, -45, 180],
"uv": {
"east": {"uv": [5, 42], "uv_size": [1, 1]},
"west": {"uv": [6, 42], "uv_size": [1, 1]},
"down": {"uv": [32, 42], "uv_size": [3, -1]}
}
}
]
}
]
}
]
}

View file

@ -0,0 +1,895 @@
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.rpg",
"texture_width": 32,
"texture_height": 32,
"visible_bounds_width": 91,
"visible_bounds_height": 8,
"visible_bounds_offset": [0, 2, 0]
},
"bones": [
{
"name": "bone",
"pivot": [0, 19.5, 0]
},
{
"name": "body",
"parent": "bone",
"pivot": [0, -18.5, 0],
"rotation": [90, 0, 0]
},
{
"name": "wing",
"parent": "body",
"pivot": [-0.00215, -18.54737, 15.73332]
},
{
"name": "wing1",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [3, 29], "uv_size": [1, 1]},
"east": {"uv": [12, 0], "uv_size": [8, 1]},
"south": {"uv": [29, 3], "uv_size": [1, 1]},
"west": {"uv": [12, 1], "uv_size": [8, 1]},
"up": {"uv": [12, 2], "uv_size": [1, 8]},
"down": {"uv": [12, 18], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing2",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, -45],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [4, 29], "uv_size": [1, 1]},
"east": {"uv": [13, 2], "uv_size": [8, 1]},
"south": {"uv": [29, 4], "uv_size": [1, 1]},
"west": {"uv": [13, 3], "uv_size": [8, 1]},
"up": {"uv": [13, 4], "uv_size": [1, 8]},
"down": {"uv": [13, 20], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing3",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, -90],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [5, 29], "uv_size": [1, 1]},
"east": {"uv": [14, 4], "uv_size": [8, 1]},
"south": {"uv": [29, 5], "uv_size": [1, 1]},
"west": {"uv": [14, 5], "uv_size": [8, 1]},
"up": {"uv": [14, 6], "uv_size": [1, 8]},
"down": {"uv": [14, 22], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing4",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, -135],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [6, 29], "uv_size": [1, 1]},
"east": {"uv": [15, 6], "uv_size": [8, 1]},
"south": {"uv": [29, 6], "uv_size": [1, 1]},
"west": {"uv": [15, 7], "uv_size": [8, 1]},
"up": {"uv": [15, 8], "uv_size": [1, 8]},
"down": {"uv": [16, 16], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing5",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, -180],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [7, 29], "uv_size": [1, 1]},
"east": {"uv": [15, 16], "uv_size": [8, 1]},
"south": {"uv": [29, 7], "uv_size": [1, 1]},
"west": {"uv": [17, 8], "uv_size": [8, 1]},
"up": {"uv": [15, 17], "uv_size": [1, 8]},
"down": {"uv": [16, 25], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing6",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, 135],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [8, 29], "uv_size": [1, 1]},
"east": {"uv": [17, 9], "uv_size": [8, 1]},
"south": {"uv": [29, 8], "uv_size": [1, 1]},
"west": {"uv": [17, 10], "uv_size": [8, 1]},
"up": {"uv": [17, 17], "uv_size": [1, 8]},
"down": {"uv": [8, 26], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing7",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, 90],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [9, 29], "uv_size": [1, 1]},
"east": {"uv": [17, 11], "uv_size": [8, 1]},
"south": {"uv": [29, 9], "uv_size": [1, 1]},
"west": {"uv": [17, 12], "uv_size": [8, 1]},
"up": {"uv": [9, 18], "uv_size": [1, 8]},
"down": {"uv": [10, 26], "uv_size": [1, -8]}
}
}
]
},
{
"name": "wing8",
"parent": "wing",
"pivot": [0.02684, -18.54066, 17.03474],
"rotation": [0, 0, 45],
"cubes": [
{
"origin": [-0.59835, -18.97641, 9.72598],
"size": [0.63362, 0.7715, 7.52752],
"pivot": [-0.28154, -18.54066, 13.61474],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [10, 29], "uv_size": [1, 1]},
"east": {"uv": [17, 13], "uv_size": [8, 1]},
"south": {"uv": [29, 10], "uv_size": [1, 1]},
"west": {"uv": [17, 14], "uv_size": [8, 1]},
"up": {"uv": [11, 18], "uv_size": [1, 8]},
"down": {"uv": [12, 26], "uv_size": [1, -8]}
}
}
]
},
{
"name": "bone4",
"parent": "body",
"pivot": [-0.00215, -18.54737, 15.73332]
},
{
"name": "bone23",
"parent": "bone4",
"pivot": [0.02684, -18.54066, -1.03851]
},
{
"name": "bone5",
"parent": "bone23",
"pivot": [-0.00215, -18.54737, 10.23332],
"cubes": [
{
"origin": [-0.23997, -19.18522, -16.12402],
"size": [0.53362, 1.28869, 25.62752],
"pivot": [0.02684, -18.54066, 3.13474],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [11, 29], "uv_size": [1, 1]},
"south": {"uv": [29, 11], "uv_size": [1, 1]},
"up": {"uv": [0, 0], "uv_size": [1, 26]},
"down": {"uv": [1, 26], "uv_size": [1, -26]}
}
},
{
"origin": [-0.24018, -19.185, -16.12402],
"size": [0.53362, 1.28869, 25.62752],
"pivot": [0.02663, -18.54066, 9.18974],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [12, 29], "uv_size": [1, 1]},
"south": {"uv": [29, 12], "uv_size": [1, 1]},
"up": {"uv": [2, 0], "uv_size": [1, 26]},
"down": {"uv": [3, 26], "uv_size": [1, -26]}
}
},
{
"origin": [-0.24018, -19.185, -16.12402],
"size": [0.53362, 1.28869, 25.62752],
"pivot": [0.02663, -18.54066, 9.18974],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [13, 29], "uv_size": [1, 1]},
"south": {"uv": [29, 13], "uv_size": [1, 1]},
"up": {"uv": [4, 0], "uv_size": [1, 26]},
"down": {"uv": [5, 26], "uv_size": [1, -26]}
}
},
{
"origin": [-0.24018, -19.185, -16.12402],
"size": [0.53362, 1.28869, 25.62752],
"pivot": [0.02663, -18.54066, 9.18974],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [29, 14], "uv_size": [1, 1]},
"south": {"uv": [15, 29], "uv_size": [1, 1]},
"up": {"uv": [6, 0], "uv_size": [1, 26]},
"down": {"uv": [7, 26], "uv_size": [1, -26]}
}
}
]
},
{
"name": "bone7",
"parent": "bone23",
"pivot": [-0.00215, -18.54737, 7.23332],
"cubes": [
{
"origin": [-0.60253, -20.15762, -11.65478],
"size": [1.34712, 3.25329, 8.54567],
"pivot": [0.07104, -18.53043, -10.68705],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [21, 0], "uv_size": [1, 3]},
"south": {"uv": [25, 12], "uv_size": [1, 3]},
"up": {"uv": [8, 0], "uv_size": [1, 9]},
"down": {"uv": [9, 9], "uv_size": [1, -9]}
}
},
{
"origin": [-0.60307, -20.15708, -11.65478],
"size": [1.34712, 3.25329, 8.54567],
"pivot": [0.0705, -18.53043, 4.5988],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [15, 25], "uv_size": [1, 3]},
"south": {"uv": [25, 15], "uv_size": [1, 3]},
"up": {"uv": [8, 9], "uv_size": [1, 9]},
"down": {"uv": [9, 18], "uv_size": [1, -9]}
}
},
{
"origin": [-0.60307, -20.15708, -11.65478],
"size": [1.34712, 3.25329, 8.54567],
"pivot": [0.0705, -18.53043, 4.5988],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [16, 25], "uv_size": [1, 3]},
"south": {"uv": [17, 25], "uv_size": [1, 3]},
"up": {"uv": [10, 0], "uv_size": [1, 9]},
"down": {"uv": [10, 18], "uv_size": [1, -9]}
}
},
{
"origin": [-0.60307, -20.15708, -11.65478],
"size": [1.34712, 3.25329, 8.54567],
"pivot": [0.0705, -18.53043, 4.5988],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [18, 25], "uv_size": [1, 3]},
"south": {"uv": [25, 18], "uv_size": [1, 3]},
"up": {"uv": [11, 0], "uv_size": [1, 9]},
"down": {"uv": [11, 18], "uv_size": [1, -9]}
}
}
]
},
{
"name": "bone8",
"parent": "bone23",
"pivot": [-0.00215, -18.54737, -11.76668],
"cubes": [
{
"origin": [-0.33412, -19.43774, -21.21069],
"size": [0.74488, 1.79888, 5.72526],
"pivot": [0.03832, -18.538, -19.67559],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [25, 25], "uv_size": [1, 2]},
"south": {"uv": [0, 26], "uv_size": [1, 2]},
"up": {"uv": [22, 0], "uv_size": [1, 6]},
"down": {"uv": [23, 21], "uv_size": [1, -6]}
}
},
{
"origin": [-0.33442, -19.43744, -21.21069],
"size": [0.74488, 1.79888, 5.72526],
"pivot": [0.03802, -18.538, -11.22341],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [26, 0], "uv_size": [1, 2]},
"south": {"uv": [1, 26], "uv_size": [1, 2]},
"up": {"uv": [23, 21], "uv_size": [1, 6]},
"down": {"uv": [24, 6], "uv_size": [1, -6]}
}
},
{
"origin": [-0.33442, -19.43744, -21.21069],
"size": [0.74488, 1.79888, 5.72526],
"pivot": [0.03802, -18.538, -11.22341],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [2, 26], "uv_size": [1, 2]},
"south": {"uv": [26, 2], "uv_size": [1, 2]},
"up": {"uv": [24, 15], "uv_size": [1, 6]},
"down": {"uv": [24, 27], "uv_size": [1, -6]}
}
},
{
"origin": [-0.33442, -19.43744, -21.21069],
"size": [0.74488, 1.79888, 5.72526],
"pivot": [0.03802, -18.538, -11.22341],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [3, 26], "uv_size": [1, 2]},
"south": {"uv": [4, 26], "uv_size": [1, 2]},
"up": {"uv": [25, 0], "uv_size": [1, 6]},
"down": {"uv": [25, 12], "uv_size": [1, -6]}
}
}
]
},
{
"name": "bone2",
"parent": "bone23",
"pivot": [-0.00215, -18.54737, 28.73332],
"cubes": [
{
"origin": [-0.23997, -19.18522, 17.37598],
"size": [0.53362, 1.28869, 0.62752],
"pivot": [0.02684, -18.54066, 21.63474],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [29, 23], "uv_size": [1, 1]},
"south": {"uv": [24, 29], "uv_size": [1, 1]},
"up": {"uv": [29, 24], "uv_size": [1, 1]},
"down": {"uv": [25, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.24018, -19.185, 17.37598],
"size": [0.53362, 1.28869, 0.62752],
"pivot": [0.02663, -18.54066, 27.68974],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [29, 25], "uv_size": [1, 1]},
"south": {"uv": [26, 29], "uv_size": [1, 1]},
"up": {"uv": [29, 26], "uv_size": [1, 1]},
"down": {"uv": [27, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.24018, -19.185, 17.37598],
"size": [0.53362, 1.28869, 0.62752],
"pivot": [0.02663, -18.54066, 27.68974],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [29, 27], "uv_size": [1, 1]},
"south": {"uv": [28, 29], "uv_size": [1, 1]},
"up": {"uv": [29, 28], "uv_size": [1, 1]},
"down": {"uv": [29, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.24018, -19.185, 17.37598],
"size": [0.53362, 1.28869, 0.62752],
"pivot": [0.02663, -18.54066, 27.68974],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [0, 30], "uv_size": [1, 1]},
"south": {"uv": [30, 0], "uv_size": [1, 1]},
"up": {"uv": [1, 30], "uv_size": [1, 1]},
"down": {"uv": [30, 2], "uv_size": [1, -1]}
}
}
]
},
{
"name": "bone6",
"parent": "bone23",
"pivot": [0.02663, -18.54066, 2.15849],
"cubes": [
{
"origin": [-0.29062, -19.30768, 1.69012],
"size": [0.63501, 1.53354, 1.23175],
"pivot": [0.02688, -18.54066, 3.28304],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [20, 0], "uv_size": [1, 2]},
"south": {"uv": [24, 6], "uv_size": [1, 2]},
"up": {"uv": [29, 15], "uv_size": [1, 1]},
"down": {"uv": [16, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.29088, -19.30743, 1.69012],
"size": [0.63501, 1.53354, 1.23175],
"pivot": [0.02663, -18.54066, 10.48849],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [19, 25], "uv_size": [1, 2]},
"south": {"uv": [20, 25], "uv_size": [1, 2]},
"up": {"uv": [29, 16], "uv_size": [1, 1]},
"down": {"uv": [17, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.29088, -19.30743, 1.69012],
"size": [0.63501, 1.53354, 1.23175],
"pivot": [0.02663, -18.54066, 10.48849],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [21, 25], "uv_size": [1, 2]},
"south": {"uv": [25, 21], "uv_size": [1, 2]},
"up": {"uv": [29, 17], "uv_size": [1, 1]},
"down": {"uv": [18, 30], "uv_size": [1, -1]}
}
},
{
"origin": [-0.29088, -19.30743, 1.69012],
"size": [0.63501, 1.53354, 1.23175],
"pivot": [0.02663, -18.54066, 10.48849],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [22, 25], "uv_size": [1, 2]},
"south": {"uv": [25, 23], "uv_size": [1, 2]},
"up": {"uv": [29, 18], "uv_size": [1, 1]},
"down": {"uv": [19, 30], "uv_size": [1, -1]}
}
}
]
},
{
"name": "bone3",
"parent": "bone23",
"pivot": [0.02663, -18.54066, 17.47598],
"cubes": [
{
"origin": [-0.07735, -18.79204, 9.47598],
"size": [0.20811, 0.50259, 8],
"pivot": [0.02671, -18.54066, 15.2369],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [29, 19], "uv_size": [1, 1]},
"south": {"uv": [20, 29], "uv_size": [1, 1]},
"up": {"uv": [18, 17], "uv_size": [1, 8]},
"down": {"uv": [19, 25], "uv_size": [1, -8]}
}
},
{
"origin": [-0.07743, -18.79195, 9.47598],
"size": [0.20811, 0.50259, 8],
"pivot": [0.02663, -18.54066, 17.59835],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [29, 20], "uv_size": [1, 1]},
"south": {"uv": [21, 29], "uv_size": [1, 1]},
"up": {"uv": [13, 20], "uv_size": [1, 8]},
"down": {"uv": [20, 25], "uv_size": [1, -8]}
}
},
{
"origin": [-0.07743, -18.79195, 9.47598],
"size": [0.20811, 0.50259, 8],
"pivot": [0.02663, -18.54066, 17.59835],
"rotation": [0, 0, 0],
"uv": {
"north": {"uv": [29, 21], "uv_size": [1, 1]},
"south": {"uv": [22, 29], "uv_size": [1, 1]},
"up": {"uv": [21, 17], "uv_size": [1, 8]},
"down": {"uv": [14, 30], "uv_size": [1, -8]}
}
},
{
"origin": [-0.07743, -18.79195, 9.47598],
"size": [0.20811, 0.50259, 8],
"pivot": [0.02663, -18.54066, 17.59835],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [29, 22], "uv_size": [1, 1]},
"south": {"uv": [23, 29], "uv_size": [1, 1]},
"up": {"uv": [22, 17], "uv_size": [1, 8]},
"down": {"uv": [23, 8], "uv_size": [1, -8]}
}
}
]
},
{
"name": "bone22",
"parent": "bone4",
"pivot": [0.02684, -18.54066, 3.38298],
"cubes": [
{
"origin": [-0.08423, -17.6592, 2.25283],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [0.36213, -17.78179, 2.45236],
"rotation": [-45, 0, 0],
"uv": {
"north": {"uv": [17, 15], "uv_size": [1, 1]},
"east": {"uv": [18, 15], "uv_size": [1, 1]},
"south": {"uv": [19, 15], "uv_size": [1, 1]},
"west": {"uv": [20, 15], "uv_size": [1, 1]},
"up": {"uv": [21, 3], "uv_size": [1, 1]},
"down": {"uv": [21, 16], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.85514, 1.80286],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [0.36213, -17.78179, 2.45236],
"rotation": [25.75, 0, 0],
"uv": {
"north": {"uv": [22, 15], "uv_size": [1, 1]},
"east": {"uv": [26, 4], "uv_size": [1, 1]},
"south": {"uv": [5, 26], "uv_size": [1, 1]},
"west": {"uv": [26, 5], "uv_size": [1, 1]},
"up": {"uv": [6, 26], "uv_size": [1, 1]},
"down": {"uv": [26, 7], "uv_size": [1, -1]}
}
},
{
"origin": [0.55057, -17.86848, 1.79643],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [0.36213, -17.78179, 2.45236],
"rotation": [25.75, 0, 45],
"uv": {
"north": {"uv": [7, 26], "uv_size": [1, 1]},
"east": {"uv": [26, 7], "uv_size": [1, 1]},
"south": {"uv": [8, 26], "uv_size": [1, 1]},
"west": {"uv": [26, 8], "uv_size": [1, 1]},
"up": {"uv": [9, 26], "uv_size": [1, 1]},
"down": {"uv": [26, 10], "uv_size": [1, -1]}
}
},
{
"origin": [0.55057, -17.66967, 2.2633],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [0.36213, -17.78179, 2.45236],
"rotation": [-45, 0, 45],
"uv": {
"north": {"uv": [10, 26], "uv_size": [1, 1]},
"east": {"uv": [26, 10], "uv_size": [1, 1]},
"south": {"uv": [11, 26], "uv_size": [1, 1]},
"west": {"uv": [26, 11], "uv_size": [1, 1]},
"up": {"uv": [12, 26], "uv_size": [1, 1]},
"down": {"uv": [26, 13], "uv_size": [1, -1]}
}
},
{
"origin": [0.33935, -18.75335, 2.25283],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [0.78571, -18.87595, 2.45236],
"rotation": [-45, 0, 90],
"uv": {
"north": {"uv": [26, 13], "uv_size": [1, 1]},
"east": {"uv": [26, 14], "uv_size": [1, 1]},
"south": {"uv": [26, 15], "uv_size": [1, 1]},
"west": {"uv": [26, 16], "uv_size": [1, 1]},
"up": {"uv": [26, 17], "uv_size": [1, 1]},
"down": {"uv": [26, 19], "uv_size": [1, -1]}
}
},
{
"origin": [0.33935, -18.94929, 1.80286],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [0.78571, -18.87595, 2.45236],
"rotation": [25.75, 0, 90],
"uv": {
"north": {"uv": [26, 19], "uv_size": [1, 1]},
"east": {"uv": [26, 20], "uv_size": [1, 1]},
"south": {"uv": [26, 21], "uv_size": [1, 1]},
"west": {"uv": [26, 22], "uv_size": [1, 1]},
"up": {"uv": [26, 23], "uv_size": [1, 1]},
"down": {"uv": [26, 25], "uv_size": [1, -1]}
}
},
{
"origin": [0.97415, -18.96264, 1.79643],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [0.78571, -18.87595, 2.45236],
"rotation": [25.75, 0, 135],
"uv": {
"north": {"uv": [26, 25], "uv_size": [1, 1]},
"east": {"uv": [26, 26], "uv_size": [1, 1]},
"south": {"uv": [27, 0], "uv_size": [1, 1]},
"west": {"uv": [27, 1], "uv_size": [1, 1]},
"up": {"uv": [27, 2], "uv_size": [1, 1]},
"down": {"uv": [27, 4], "uv_size": [1, -1]}
}
},
{
"origin": [0.97415, -18.76383, 2.2633],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [0.78571, -18.87595, 2.45236],
"rotation": [-45, 0, 135],
"uv": {
"north": {"uv": [27, 4], "uv_size": [1, 1]},
"east": {"uv": [5, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 5], "uv_size": [1, 1]},
"west": {"uv": [6, 27], "uv_size": [1, 1]},
"up": {"uv": [27, 6], "uv_size": [1, 1]},
"down": {"uv": [7, 28], "uv_size": [1, -1]}
}
},
{
"origin": [-1.03257, -18.11855, 1.81443],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [-45, 0, 180],
"uv": {
"north": {"uv": [27, 7], "uv_size": [1, 1]},
"east": {"uv": [8, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 8], "uv_size": [1, 1]},
"west": {"uv": [9, 27], "uv_size": [1, 1]},
"up": {"uv": [27, 9], "uv_size": [1, 1]},
"down": {"uv": [10, 28], "uv_size": [1, -1]}
}
},
{
"origin": [-1.03257, -18.19446, 2.07221],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [25.75, 0, -180],
"uv": {
"north": {"uv": [27, 10], "uv_size": [1, 1]},
"east": {"uv": [11, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 11], "uv_size": [1, 1]},
"west": {"uv": [12, 27], "uv_size": [1, 1]},
"up": {"uv": [27, 12], "uv_size": [1, 1]},
"down": {"uv": [27, 14], "uv_size": [1, -1]}
}
},
{
"origin": [-0.79548, -18.45982, 1.94422],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [25.75, 0, -135],
"uv": {
"north": {"uv": [27, 14], "uv_size": [1, 1]},
"east": {"uv": [27, 15], "uv_size": [1, 1]},
"south": {"uv": [27, 16], "uv_size": [1, 1]},
"west": {"uv": [27, 17], "uv_size": [1, 1]},
"up": {"uv": [27, 18], "uv_size": [1, 1]},
"down": {"uv": [19, 28], "uv_size": [1, -1]}
}
},
{
"origin": [-0.79548, -18.32687, 2.02275],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [-45, 0, -135],
"uv": {
"north": {"uv": [27, 19], "uv_size": [1, 1]},
"east": {"uv": [20, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 20], "uv_size": [1, 1]},
"west": {"uv": [21, 27], "uv_size": [1, 1]},
"up": {"uv": [27, 21], "uv_size": [1, 1]},
"down": {"uv": [22, 28], "uv_size": [1, -1]}
}
},
{
"origin": [-0.41952, -18.35563, 2.05151],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [-45, 0, -90],
"uv": {
"north": {"uv": [27, 22], "uv_size": [1, 1]},
"east": {"uv": [23, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 23], "uv_size": [1, 1]},
"west": {"uv": [24, 27], "uv_size": [1, 1]},
"up": {"uv": [27, 24], "uv_size": [1, 1]},
"down": {"uv": [25, 28], "uv_size": [1, -1]}
}
},
{
"origin": [-0.41952, -18.49646, 1.92655],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [25.75, 0, -90],
"uv": {
"north": {"uv": [27, 25], "uv_size": [1, 1]},
"east": {"uv": [26, 27], "uv_size": [1, 1]},
"south": {"uv": [27, 26], "uv_size": [1, 1]},
"west": {"uv": [27, 27], "uv_size": [1, 1]},
"up": {"uv": [0, 28], "uv_size": [1, 1]},
"down": {"uv": [28, 1], "uv_size": [1, -1]}
}
},
{
"origin": [-0.12491, -18.28291, 2.02955],
"size": [0.22215, 0.40156, 0.98416],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [25.75, 0, -45],
"uv": {
"north": {"uv": [1, 28], "uv_size": [1, 1]},
"east": {"uv": [28, 1], "uv_size": [1, 1]},
"south": {"uv": [2, 28], "uv_size": [1, 1]},
"west": {"uv": [28, 2], "uv_size": [1, 1]},
"up": {"uv": [3, 28], "uv_size": [1, 1]},
"down": {"uv": [28, 4], "uv_size": [1, -1]}
}
},
{
"origin": [-0.12491, -18.18799, 1.88387],
"size": [0.22215, 0.30156, 0.40994],
"pivot": [-0.44733, -18.67954, 2.45236],
"rotation": [-45, 0, -45],
"uv": {
"north": {"uv": [4, 28], "uv_size": [1, 1]},
"east": {"uv": [28, 4], "uv_size": [1, 1]},
"south": {"uv": [5, 28], "uv_size": [1, 1]},
"west": {"uv": [28, 5], "uv_size": [1, 1]},
"up": {"uv": [6, 28], "uv_size": [1, 1]},
"down": {"uv": [28, 7], "uv_size": [1, -1]}
}
}
]
},
{
"name": "bone21",
"parent": "bone4",
"pivot": [0.02684, -18.54066, 2.69609],
"cubes": [
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"uv": {
"north": {"uv": [7, 28], "uv_size": [1, 1]},
"east": {"uv": [28, 7], "uv_size": [1, 1]},
"south": {"uv": [8, 28], "uv_size": [1, 1]},
"west": {"uv": [28, 8], "uv_size": [1, 1]},
"up": {"uv": [9, 28], "uv_size": [1, 1]},
"down": {"uv": [28, 10], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, -90],
"uv": {
"north": {"uv": [10, 28], "uv_size": [1, 1]},
"east": {"uv": [28, 10], "uv_size": [1, 1]},
"south": {"uv": [11, 28], "uv_size": [1, 1]},
"west": {"uv": [28, 11], "uv_size": [1, 1]},
"up": {"uv": [12, 28], "uv_size": [1, 1]},
"down": {"uv": [28, 13], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, -45],
"uv": {
"north": {"uv": [13, 28], "uv_size": [1, 1]},
"east": {"uv": [28, 13], "uv_size": [1, 1]},
"south": {"uv": [28, 14], "uv_size": [1, 1]},
"west": {"uv": [15, 28], "uv_size": [1, 1]},
"up": {"uv": [28, 15], "uv_size": [1, 1]},
"down": {"uv": [16, 29], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, -135],
"uv": {
"north": {"uv": [28, 16], "uv_size": [1, 1]},
"east": {"uv": [17, 28], "uv_size": [1, 1]},
"south": {"uv": [28, 17], "uv_size": [1, 1]},
"west": {"uv": [18, 28], "uv_size": [1, 1]},
"up": {"uv": [28, 18], "uv_size": [1, 1]},
"down": {"uv": [19, 29], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, 180],
"uv": {
"north": {"uv": [28, 19], "uv_size": [1, 1]},
"east": {"uv": [20, 28], "uv_size": [1, 1]},
"south": {"uv": [28, 20], "uv_size": [1, 1]},
"west": {"uv": [21, 28], "uv_size": [1, 1]},
"up": {"uv": [28, 21], "uv_size": [1, 1]},
"down": {"uv": [22, 29], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, 90],
"uv": {
"north": {"uv": [28, 22], "uv_size": [1, 1]},
"east": {"uv": [23, 28], "uv_size": [1, 1]},
"south": {"uv": [28, 23], "uv_size": [1, 1]},
"west": {"uv": [24, 28], "uv_size": [1, 1]},
"up": {"uv": [28, 24], "uv_size": [1, 1]},
"down": {"uv": [25, 29], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, 135],
"uv": {
"north": {"uv": [28, 25], "uv_size": [1, 1]},
"east": {"uv": [26, 28], "uv_size": [1, 1]},
"south": {"uv": [28, 26], "uv_size": [1, 1]},
"west": {"uv": [27, 28], "uv_size": [1, 1]},
"up": {"uv": [28, 27], "uv_size": [1, 1]},
"down": {"uv": [28, 29], "uv_size": [1, -1]}
}
},
{
"origin": [-0.08423, -17.77908, 2.49113],
"size": [0.22215, 0.14844, 0.40994],
"pivot": [0.02684, -18.54066, 2.69609],
"rotation": [0, 0, 45],
"uv": {
"north": {"uv": [0, 29], "uv_size": [1, 1]},
"east": {"uv": [29, 0], "uv_size": [1, 1]},
"south": {"uv": [1, 29], "uv_size": [1, 1]},
"west": {"uv": [29, 1], "uv_size": [1, 1]},
"up": {"uv": [2, 29], "uv_size": [1, 1]},
"down": {"uv": [29, 3], "uv_size": [1, -1]}
}
}
]
}
]
}
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 571 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B