Версия Minecraft
1.7.10

Endless

Любитель OpenGL
270
11
82
Вообщем все как-то странно, сделал модель в toolbox 2.0
Скриншот 11-03-2019 204920.png
Сохранил в формате .tcn (потому-что MCanimor можно импортировать модели только такого формата)
Импортировал. Все обычные боксы импортировались хорошо, а вот шейпи как-то криво (разбросанные параллелепипеды, это и есть шейпы) Скриншот 11-03-2019 205234.png
Сделал анимацию, поскольку мне надо было сделать анимацию только одной руки (а с ней все в порядке).
Теперь сама суть вопроса. Нормально ли перенесется модель из МКаниматора?(как в задумке) Или надо как-то химичить с моделью из Тулбокса и анимацией Мканиматора?
Прикреплю коды модели из Тулбокса и МКаниматора
Код:
package yourModPackage.client.models;

import java.util.HashMap;

import net.minecraft.client.model.ModelBase;
import net.minecraft.entity.Entity;

import yourModPackage.client.MCAClientLibrary.MCAModelRenderer;
import yourModPackage.common.MCACommonLibrary.MCAVersionChecker;
import yourModPackage.common.MCACommonLibrary.animation.AnimationHandler;
import yourModPackage.common.MCACommonLibrary.math.Matrix4f;
import yourModPackage.common.MCACommonLibrary.math.Quaternion;
import yourModPackage.common.entities.mobs.EntityAnimationPersecution;

public class ModelAnimationPersecution extends ModelBase {
public final int MCA_MIN_REQUESTED_VERSION = 5;
public HashMap<String, MCAModelRenderer> parts = new HashMap<String, MCAModelRenderer>();

MCAModelRenderer 049Scp01;
MCAModelRenderer 049Scp02;
MCAModelRenderer 049Scp03;
MCAModelRenderer 049Scp04;
MCAModelRenderer 049Scp05;
MCAModelRenderer 049Scp06;
MCAModelRenderer 049Scp07;
MCAModelRenderer 049Scp08;
MCAModelRenderer 049Scp09;
MCAModelRenderer 049Scp10;
MCAModelRenderer 049Scp11;
MCAModelRenderer 049Scp12;
MCAModelRenderer 049Scp13;
MCAModelRenderer 049Scp14;
MCAModelRenderer 049Scp15;
MCAModelRenderer 049Scp16;
MCAModelRenderer 049Scp17;
MCAModelRenderer 049Scp18;
MCAModelRenderer 049Scp19;
MCAModelRenderer 049Scp20;
MCAModelRenderer 049Scp21;
MCAModelRenderer 049Scp22;
MCAModelRenderer 049Scp23;
MCAModelRenderer 049Scp24;
MCAModelRenderer 049Scp25;
MCAModelRenderer 049Scp26;
MCAModelRenderer 049Scp27;
MCAModelRenderer 049Scp28;
MCAModelRenderer 049Scp29;
MCAModelRenderer 049Scp30;
MCAModelRenderer 049Scp31;
MCAModelRenderer 049Scp32;

public ModelAnimationPersecution()
{
MCAVersionChecker.checkForLibraryVersion(getClass(), MCA_MIN_REQUESTED_VERSION);

textureWidth = 512;
textureHeight = 512;

049Scp01 = new MCAModelRenderer(this, "049Scp01", 0, 0);
049Scp01.mirror = false;
049Scp01.addBox(0.0F, -12.0F, -4.0F, 4, 12, 4);
049Scp01.setInitialRotationPoint(-20.0F, 2.0F, 2.0F);
049Scp01.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp01.setTextureSize(512, 512);
parts.put(049Scp01.boxName, 049Scp01);

049Scp02 = new MCAModelRenderer(this, "049Scp02", 0, 0);
049Scp02.mirror = false;
049Scp02.addBox(0.0F, -12.0F, -4.0F, 4, 12, 4);
049Scp02.setInitialRotationPoint(-16.0F, 2.0F, 2.0F);
049Scp02.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp02.setTextureSize(512, 512);
parts.put(049Scp02.boxName, 049Scp02);

049Scp03 = new MCAModelRenderer(this, "049Scp03", 0, 0);
049Scp03.mirror = false;
049Scp03.addBox(0.0F, -12.0F, -4.0F, 8, 12, 4);
049Scp03.setInitialRotationPoint(-20.0F, 14.0F, 2.0F);
049Scp03.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp03.setTextureSize(512, 512);
parts.put(049Scp03.boxName, 049Scp03);

049Scp04 = new MCAModelRenderer(this, "049Scp04", 0, 0);
049Scp04.mirror = false;
049Scp04.addBox(0.0F, -12.0F, -4.0F, 4, 12, 4);
049Scp04.setInitialRotationPoint(-24.0F, 14.0F, 2.0F);
049Scp04.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp04.setTextureSize(512, 512);
parts.put(049Scp04.boxName, 049Scp04);

049Scp05 = new MCAModelRenderer(this, "049Scp05", 0, 0);
049Scp05.mirror = false;
049Scp05.addBox(0.0F, -12.0F, -4.0F, 4, 12, 4);
049Scp05.setInitialRotationPoint(-12.0F, 14.0F, 2.0F);
049Scp05.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp05.setTextureSize(512, 512);
parts.put(049Scp05.boxName, 049Scp05);

049Scp06 = new MCAModelRenderer(this, "049Scp06", 0, 0);
049Scp06.mirror = false;
049Scp06.addBox(0.0F, -8.0F, -8.0F, 8, 8, 8);
049Scp06.setInitialRotationPoint(-20.0F, 22.0F, 4.0F);
049Scp06.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp06.setTextureSize(512, 512);
parts.put(049Scp06.boxName, 049Scp06);

049Scp07 = new MCAModelRenderer(this, "049Scp07", 0, 0);
049Scp07.mirror = false;
049Scp07.addBox(0.0F, -5.0F, -2.0F, 7, 5, 2);
049Scp07.setInitialRotationPoint(-15.0F, 9.0F, 15.0F);
049Scp07.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, -0.70710677F, 0.0F, 0.70710677F)).transpose());
049Scp07.setTextureSize(512, 512);
parts.put(049Scp07.boxName, 049Scp07);

049Scp08 = new MCAModelRenderer(this, "049Scp08", 0, 0);
049Scp08.mirror = false;
049Scp08.addBox(0.0F, -10.0F, -1.0F, 14, 10, 1);
049Scp08.setInitialRotationPoint(-7.0F, 13.0F, 4.0F);
049Scp08.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp08.setTextureSize(512, 512);
parts.put(049Scp08.boxName, 049Scp08);

049Scp09 = new MCAModelRenderer(this, "049Scp09", 0, 0);
049Scp09.mirror = false;
049Scp09.addBox(0.0F, -10.0F, -1.0F, 10, 10, 1);
049Scp09.setInitialRotationPoint(-11.0F, 23.0F, -6.0F);
049Scp09.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.70710677F, 0.0F, 0.0F, 0.70710677F)).transpose());
049Scp09.setTextureSize(512, 512);
parts.put(049Scp09.boxName, 049Scp09);

049Scp10 = new MCAModelRenderer(this, "049Scp10", 0, 0);
049Scp10.mirror = false;
049Scp10.addBox(0.0F, -1.0F, -9.0F, 8, 1, 8);
049Scp10.setInitialRotationPoint(-20.0F, 24.0F, 4.0F);
049Scp10.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp10.setTextureSize(512, 512);
parts.put(049Scp10.boxName, 049Scp10);

049Scp11 = new MCAModelRenderer(this, "049Scp11", 0, 0);
049Scp11.mirror = false;
049Scp11.addBox(8.0F, -1.0F, -8.0F, 10, 1, 8);
049Scp11.setInitialRotationPoint(-10.0F, 23.0F, -5.0F);
049Scp11.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp11.setTextureSize(512, 512);
parts.put(049Scp11.boxName, 049Scp11);

049Scp12 = new MCAModelRenderer(this, "049Scp12", 0, 0);
049Scp12.mirror = false;
049Scp12.addBox(8.0F, -1.0F, -8.0F, 10, 1, 8);
049Scp12.setInitialRotationPoint(-20.0F, 25.0F, -5.0F);
049Scp12.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.70710677F, 0.70710677F)).transpose());
049Scp12.setTextureSize(512, 512);
parts.put(049Scp12.boxName, 049Scp12);

049Scp13 = new MCAModelRenderer(this, "049Scp13", 0, 0);
049Scp13.mirror = false;
049Scp13.addBox(8.0F, -1.0F, -8.0F, 10, 1, 8);
049Scp13.setInitialRotationPoint(-12.0F, 23.0F, 5.0F);
049Scp13.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, -0.70710677F, 0.0F, 0.70710677F)).transpose());
049Scp13.setTextureSize(512, 512);
parts.put(049Scp13.boxName, 049Scp13);

049Scp14 = new MCAModelRenderer(this, "049Scp14", 0, 0);
049Scp14.mirror = false;
049Scp14.addBox(8.0F, -1.0F, -8.0F, 10, 1, 8);
049Scp14.setInitialRotationPoint(-12.0F, 25.0F, -5.0F);
049Scp14.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(-0.49999997F, -0.49999997F, 0.49999997F, 0.49999997F)).transpose());
049Scp14.setTextureSize(512, 512);
parts.put(049Scp14.boxName, 049Scp14);

049Scp15 = new MCAModelRenderer(this, "049Scp15", 0, 0);
049Scp15.mirror = false;
049Scp15.addBox(0.0F, -0.0F, -6.0F, 10, 0, 6);
049Scp15.setInitialRotationPoint(-21.0F, 16.0F, -6.0F);
049Scp15.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.70710677F, 0.0F, 0.0F, 0.70710677F)).transpose());
049Scp15.setTextureSize(512, 512);
parts.put(049Scp15.boxName, 049Scp15);

049Scp16 = new MCAModelRenderer(this, "049Scp16", 0, 0);
049Scp16.mirror = false;
049Scp16.addBox(0.0F, -0.0F, -3.0F, 10, 0, 3);
049Scp16.setInitialRotationPoint(-21.0F, 14.0F, -4.0F);
049Scp16.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.39874908F, 0.0F, 0.0F, 0.9170601F)).transpose());
049Scp16.setTextureSize(512, 512);
parts.put(049Scp16.boxName, 049Scp16);

049Scp17 = new MCAModelRenderer(this, "049Scp17", 0, 0);
049Scp17.mirror = false;
049Scp17.addBox(0.0F, -0.0F, -6.0F, 10, 0, 6);
049Scp17.setInitialRotationPoint(-21.0F, 16.0F, -6.0F);
049Scp17.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.49999997F, -0.49999997F, 0.49999997F, 0.49999997F)).transpose());
049Scp17.setTextureSize(512, 512);
parts.put(049Scp17.boxName, 049Scp17);

049Scp18 = new MCAModelRenderer(this, "049Scp18", 0, 0);
049Scp18.mirror = false;
049Scp18.addBox(0.0F, -1.0F, -0.0F, 10, 1, 0);
049Scp18.setInitialRotationPoint(-21.0F, 16.0F, -14.0F);
049Scp18.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(-0.70710677F, 3.090862E-8F, 0.70710677F, -3.090862E-8F)).transpose());
049Scp18.setTextureSize(512, 512);
parts.put(049Scp18.boxName, 049Scp18);

049Scp19 = new MCAModelRenderer(this, "049Scp19", 0, 0);
049Scp19.mirror = false;
049Scp19.addBox(0.0F, -0.0F, -2.0F, 8, 0, 2);
049Scp19.setInitialRotationPoint(-21.0F, 14.0F, 4.0F);
049Scp19.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.49999997F, 0.49999997F, -0.49999997F, 0.49999997F)).transpose());
049Scp19.setTextureSize(512, 512);
parts.put(049Scp19.boxName, 049Scp19);

049Scp20 = new MCAModelRenderer(this, "049Scp20", 0, 0);
049Scp20.mirror = false;
049Scp20.addBox(0.0F, -0.0F, -6.0F, 10, 0, 6);
049Scp20.setInitialRotationPoint(-11.0F, 16.0F, -6.0F);
049Scp20.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.49999997F, -0.49999997F, 0.49999997F, 0.49999997F)).transpose());
049Scp20.setTextureSize(512, 512);
parts.put(049Scp20.boxName, 049Scp20);

049Scp21 = new MCAModelRenderer(this, "049Scp21", 0, 0);
049Scp21.mirror = false;
049Scp21.addBox(0.0F, -1.0F, -0.0F, 10, 1, 0);
049Scp21.setInitialRotationPoint(-11.0F, 16.0F, -14.0F);
049Scp21.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(-0.70710677F, 3.090862E-8F, 0.70710677F, -3.090862E-8F)).transpose());
049Scp21.setTextureSize(512, 512);
parts.put(049Scp21.boxName, 049Scp21);

049Scp22 = new MCAModelRenderer(this, "049Scp22", 0, 0);
049Scp22.mirror = false;
049Scp22.addBox(0.0F, -0.0F, -2.0F, 8, 0, 2);
049Scp22.setInitialRotationPoint(-11.0F, 14.0F, 4.0F);
049Scp22.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.49999997F, 0.49999997F, -0.49999997F, 0.49999997F)).transpose());
049Scp22.setTextureSize(512, 512);
parts.put(049Scp22.boxName, 049Scp22);

049Scp23 = new MCAModelRenderer(this, "049Scp23", 0, 0);
049Scp23.mirror = false;
049Scp23.addBox(0.0F, -0.0F, -2.0F, 10, 0, 2);
049Scp23.setInitialRotationPoint(-21.0F, 14.0F, 4.0F);
049Scp23.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp23.setTextureSize(512, 512);
parts.put(049Scp23.boxName, 049Scp23);

049Scp24 = new MCAModelRenderer(this, "049Scp24", 0, 0);
049Scp24.mirror = false;
049Scp24.addBox(0.0F, -0.0F, -8.0F, 1, 0, 8);
049Scp24.setInitialRotationPoint(-12.0F, 14.0F, 4.0F);
049Scp24.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.70710677F, 0.0F, 0.0F, 0.70710677F)).transpose());
049Scp24.setTextureSize(512, 512);
parts.put(049Scp24.boxName, 049Scp24);

049Scp25 = new MCAModelRenderer(this, "049Scp25", 0, 0);
049Scp25.mirror = false;
049Scp25.addBox(0.0F, -0.0F, -8.0F, 1, 0, 8);
049Scp25.setInitialRotationPoint(-21.0F, 14.0F, 4.0F);
049Scp25.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.70710677F, 0.0F, 0.0F, 0.70710677F)).transpose());
049Scp25.setTextureSize(512, 512);
parts.put(049Scp25.boxName, 049Scp25);

049Scp26 = new MCAModelRenderer(this, "049Scp26", 0, 0);
049Scp26.mirror = false;
049Scp26.addBox(0.0F, -1.0F, -1.0F, 8, 1, 1);
049Scp26.setInitialRotationPoint(-20.0F, 5.0F, 2.5F);
049Scp26.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp26.setTextureSize(512, 512);
parts.put(049Scp26.boxName, 049Scp26);

049Scp27 = new MCAModelRenderer(this, "049Scp27", 0, 0);
049Scp27.mirror = false;
049Scp27.addBox(0.0F, -1.0F, -0.5F, 8, 1, 1);
049Scp27.setInitialRotationPoint(-20.0F, 5.0F, -2.0F);
049Scp27.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp27.setTextureSize(512, 512);
parts.put(049Scp27.boxName, 049Scp27);

049Scp28 = new MCAModelRenderer(this, "049Scp28", 0, 0);
049Scp28.mirror = false;
049Scp28.addBox(0.0F, -1.0F, -4.0F, 1, 1, 4);
049Scp28.setInitialRotationPoint(-20.25F, 5.0F, 2.0F);
049Scp28.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp28.setTextureSize(512, 512);
parts.put(049Scp28.boxName, 049Scp28);

049Scp29 = new MCAModelRenderer(this, "049Scp29", 0, 0);
049Scp29.mirror = false;
049Scp29.addBox(0.0F, -1.0F, -4.0F, 1, 1, 4);
049Scp29.setInitialRotationPoint(-12.75F, 5.0F, 2.0F);
049Scp29.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp29.setTextureSize(512, 512);
parts.put(049Scp29.boxName, 049Scp29);

049Scp30 = new MCAModelRenderer(this, "049Scp30", 0, 0);
049Scp30.mirror = false;
049Scp30.addBox(0.0F, -2.0F, -1.0F, 2, 2, 1);
049Scp30.setInitialRotationPoint(-16.95F, 5.5F, 3.0F);
049Scp30.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp30.setTextureSize(512, 512);
parts.put(049Scp30.boxName, 049Scp30);

049Scp31 = new MCAModelRenderer(this, "049Scp31", 0, 0);
049Scp31.mirror = false;
049Scp31.addBox(0.0F, -0.0F, -6.0F, 1, 0, 6);
049Scp31.setInitialRotationPoint(-12.0F, 14.0F, 2.0F);
049Scp31.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp31.setTextureSize(512, 512);
parts.put(049Scp31.boxName, 049Scp31);

049Scp32 = new MCAModelRenderer(this, "049Scp32", 0, 0);
049Scp32.mirror = false;
049Scp32.addBox(0.0F, -0.0F, -6.0F, 1, 0, 6);
049Scp32.setInitialRotationPoint(-21.0F, 14.0F, 2.0F);
049Scp32.setInitialRotationMatrix(new Matrix4f().set(new Quaternion(0.0F, 0.0F, 0.0F, 1.0F)).transpose());
049Scp32.setTextureSize(512, 512);
parts.put(049Scp32.boxName, 049Scp32);

}

@Override
public void render(Entity par1Entity, float par2, float par3, float par4, float par5, float par6, float par7)
{
EntityAnimationPersecution entity = (EntityAnimationPersecution)par1Entity;

AnimationHandler.performAnimationInModel(parts, entity);

//Render every non-child part
049Scp01.render(par7);
049Scp02.render(par7);
049Scp03.render(par7);
049Scp04.render(par7);
049Scp05.render(par7);
049Scp06.render(par7);
049Scp07.render(par7);
049Scp08.render(par7);
049Scp09.render(par7);
049Scp10.render(par7);
049Scp11.render(par7);
049Scp12.render(par7);
049Scp13.render(par7);
049Scp14.render(par7);
049Scp15.render(par7);
049Scp16.render(par7);
049Scp17.render(par7);
049Scp18.render(par7);
049Scp19.render(par7);
049Scp20.render(par7);
049Scp21.render(par7);
049Scp22.render(par7);
049Scp23.render(par7);
049Scp24.render(par7);
049Scp25.render(par7);
049Scp26.render(par7);
049Scp27.render(par7);
049Scp28.render(par7);
049Scp29.render(par7);
049Scp30.render(par7);
049Scp31.render(par7);
049Scp32.render(par7);
}
@Override
public void setRotationAngles(float par1, float par2, float par3, float par4, float par5, float par6, Entity par7Entity) {}

public MCAModelRenderer getModelRendererFromName(String name)
{
return parts.get(name);
}
}
Код:
package yourModPackage.client.renders;

import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.util.ResourceLocation;

import org.lwjgl.opengl.GL11;

import yourModPackage.common.entities.mobs.EntityAnimationPersecution;

public class RenderAnimationPersecution extends RenderLiving {

    public static final ResourceLocation AnimationPersecution_texture = new ResourceLocation("yourAssetsFolder", "textures/models/AnimationPersecution.png");
    public static ModelAnimationPersecution modelAnimationPersecution = new ModelAnimationPersecution();   
    public static float modelHeight = 2F;
    
    public RenderAnimationPersecution()
    {
        super(modelAnimationPersecution, 1F);
    }
    
    @Override
    public void doRender(Entity _entity, double posX, double posY, double posZ, float var8, float var9) {
        EntityAnimationPersecution entity = (EntityAnimationPersecution) _entity;
                
        GL11.glPushMatrix();
        GL11.glDisable(GL11.GL_CULL_FACE);
        super.doRender(_entity, posX, posY, posZ, var8, var9);
        GL11.glEnable(GL11.GL_CULL_FACE);
        GL11.glPopMatrix();
    }
    
    @Override
    protected void preRenderCallback(EntityLivingBase entityliving, float f)
    {
        GL11.glRotatef(180F, 0, 1F, 0F);
        GL11.glRotatef(180F, 0, 0, 1F);
        GL11.glTranslatef(0, modelHeight, 0);
    }

    @Override
    protected ResourceLocation getEntityTexture(Entity var1) {
        return AnimationPersecution_texture;
    }
}
Код:
//This File was created with the Minecraft-SMP Modelling Toolbox 2.3.0.0
// Copyright (C) 2019 Minecraft-SMP.de
// This file is for Flan's Flying Mod Version 4.0.x+

// Model:
// Model Creator:
// Created on: 11.03.2019 - 14:59:23
// Last changed on: 11.03.2019 - 14:59:23

package net.minecraft.src;

public class YourClassName extends ModelBase
{
    ModelRenderer Part_0; // 049Scp01
    ModelRenderer Part_1; // 049Scp02
    ModelRenderer Part_2; // 049Scp03
    ModelRenderer Part_3; // 049Scp04
    ModelRenderer Part_4; // 049Scp05
    ModelRenderer Part_5; // 049Scp06
    ModelRenderer Part_6; // 049Scp07
    ModelRenderer Part_7; // 049Scp08
    ModelRenderer Part_8; // 049Scp09
    ModelRenderer Part_9; // 049Scp10
    ModelRenderer Part_10; // 049Scp11
    ModelRenderer Part_11; // 049Scp12
    ModelRenderer Part_12; // 049Scp13
    ModelRenderer Part_13; // 049Scp14
    ModelRenderer Part_14; // 049Scp15
    ModelRenderer Part_15; // 049Scp16
    ModelRenderer Part_16; // 049Scp17
    ModelRenderer Part_17; // 049Scp18
    ModelRenderer Part_18; // 049Scp19
    ModelRenderer Part_19; // 049Scp20
    ModelRenderer Part_20; // 049Scp21
    ModelRenderer Part_21; // 049Scp22
    ModelRenderer Part_22; // 049Scp23
    ModelRenderer Part_23; // 049Scp24
    ModelRenderer Part_24; // 049Scp25
    ModelRenderer Part_25; // 049Scp26
    ModelRenderer Part_26; // 049Scp27
    ModelRenderer Part_27; // 049Scp28
    ModelRenderer Part_28; // 049Scp29
    ModelRenderer Part_29; // 049Scp30
    ModelRenderer Part_30; // 049Scp31
    ModelRenderer Part_31; // 049Scp32

    public YourClassName()
    {
        textureWidth = 512;
        textureHeight = 512;

        init_1();
    }

    private void init_1();
    {
        Part_0 = new ModelRenderer(this, 0, 0); // 049Scp01
        Part_0.addBox(0F, 0F, 0F, 4, 12, 4);
        Part_0.setRotationPoint(-20F, 0F, 0F);
        Part_0.setTextureSize(512, 512);
        Part_0.mirror = true;
        setRotation(Part_0, 0F, 0F, 0F);

        Part_1 = new ModelRenderer(this, 0, 0); // 049Scp02
        Part_1.addBox(0F, 0F, 0F, 4, 12, 4);
        Part_1.setRotationPoint(-16F, 0F, 0F);
        Part_1.setTextureSize(512, 512);
        Part_1.mirror = true;
        setRotation(Part_1, 0F, 0F, 0F);

        Part_2 = new ModelRenderer(this, 0, 0); // 049Scp03
        Part_2.addBox(0F, 0F, 0F, 8, 12, 4);
        Part_2.setRotationPoint(-20F, -12F, 0F);
        Part_2.setTextureSize(512, 512);
        Part_2.mirror = true;
        setRotation(Part_2, 0F, 0F, 0F);

        Part_3 = new ModelRenderer(this, 0, 0); // 049Scp04
        Part_3.addBox(0F, 0F, 0F, 4, 12, 4);
        Part_3.setRotationPoint(-24F, -12F, 0F);
        Part_3.setTextureSize(512, 512);
        Part_3.mirror = true;
        setRotation(Part_3, 0F, 0F, 0F);

        Part_4 = new ModelRenderer(this, 0, 0); // 049Scp05
        Part_4.addBox(0F, 0F, 0F, 4, 12, 4);
        Part_4.setRotationPoint(-12F, -12F, 0F);
        Part_4.setTextureSize(512, 512);
        Part_4.mirror = true;
        setRotation(Part_4, 0F, 0F, 0F);

        Part_5 = new ModelRenderer(this, 0, 0); // 049Scp06
        Part_5.addBox(0F, 0F, 0F, 8, 8, 8);
        Part_5.setRotationPoint(-20F, -20F, -2F);
        Part_5.setTextureSize(512, 512);
        Part_5.mirror = true;
        setRotation(Part_5, 0F, 0F, 0F);

        Part_6 = new ModelRenderer(this, 0, 0); // 049Scp07
        Part_6.addBox(0F, 0F, 0F, 7, 5, 2);
        Part_6.setRotationPoint(-15F, -7F, -13F);
        Part_6.setTextureSize(512, 512);
        Part_6.mirror = true;
        setRotation(Part_6, 0F, 1.57079633F, 0F);

        Part_7 = new ModelRenderer(this, 0, 0); // 049Scp08
        Part_7.addBox(0F, 0F, 0F, 14, 10, 1);
        Part_7.setRotationPoint(-7F, -11F, -2F);
        Part_7.setTextureSize(512, 512);
        Part_7.mirror = true;
        setRotation(Part_7, 0F, 0F, 0F);

        Part_8 = new ModelRenderer(this, 0, 0); // 049Scp09
        Part_8.addBox(0F, 0F, 0F, 10, 10, 1);
        Part_8.setRotationPoint(-11F, -21F, 8F);
        Part_8.setTextureSize(512, 512);
        Part_8.mirror = true;
        setRotation(Part_8, 1.57079633F, 0F, 0F);

        Part_9 = new ModelRenderer(this, 0, 0); // 049Scp10
        Part_9.addBox(0F, 0F, 1F, 8, 1, 8);
        Part_9.setRotationPoint(-20F, -22F, -2F);
        Part_9.setTextureSize(512, 512);
        Part_9.mirror = true;
        setRotation(Part_9, 0F, 0F, 0F);

        Part_10 = new ModelRenderer(this, 0, 0); // 049Scp11
        Part_10.addBox(8F, 0F, 0F, 10, 1, 8);
        Part_10.setRotationPoint(-10F, -21F, 7F);
        Part_10.setTextureSize(512, 512);
        Part_10.mirror = true;
        setRotation(Part_10, 0F, 0F, 0F);

        Part_11 = new ModelRenderer(this, 0, 0); // 049Scp12
        Part_11.addBox(8F, 0F, 0F, 10, 1, 8);
        Part_11.setRotationPoint(-20F, -23F, 7F);
        Part_11.setTextureSize(512, 512);
        Part_11.mirror = true;
        setRotation(Part_11, 0F, 0F, -1.57079633F);

        Part_12 = new ModelRenderer(this, 0, 0); // 049Scp13
        Part_12.addBox(8F, 0F, 0F, 10, 1, 8);
        Part_12.setRotationPoint(-12F, -21F, -3F);
        Part_12.setTextureSize(512, 512);
        Part_12.mirror = true;
        setRotation(Part_12, 0F, 1.57079633F, 0F);

        Part_13 = new ModelRenderer(this, 0, 0); // 049Scp14
        Part_13.addBox(8F, 0F, 0F, 10, 1, 8);
        Part_13.setRotationPoint(-12F, -23F, 7F);
        Part_13.setTextureSize(512, 512);
        Part_13.mirror = true;
        setRotation(Part_13, 0F, 1.57079633F, -1.57079633F);

        Part_14 = new ModelRenderer(this, 0, 0); // 049Scp15
        Part_14.addBox(0F, 0F, 0F, 10, 0, 6);
        Part_14.setRotationPoint(-21F, -14F, 8F);
        Part_14.setTextureSize(512, 512);
        Part_14.mirror = true;
        setRotation(Part_14, 1.57079633F, 0F, 0F);

        Part_15 = new ModelRenderer(this, 0, 0); // 049Scp16
        Part_15.addBox(0F, 0F, 0F, 10, 0, 3);
        Part_15.setRotationPoint(-21F, -12F, 6F);
        Part_15.setTextureSize(512, 512);
        Part_15.mirror = true;
        setRotation(Part_15, 0.82030475F, 0F, 0F);

        Part_16 = new ModelRenderer(this, 0, 0); // 049Scp17
        Part_16.addBox(0F, 0F, 0F, 10, 0, 6);
        Part_16.setRotationPoint(-21F, -14F, 8F);
        Part_16.setTextureSize(512, 512);
        Part_16.mirror = true;
        setRotation(Part_16, 1.57079633F, 1.57079633F, 0F);

        Part_17 = new ModelRenderer(this, 0, 0); // 049Scp18
        Part_17.addBox(0F, 0F, 0F, 10, 1, 0);
        Part_17.setRotationPoint(-21F, -14F, 16F);
        Part_17.setTextureSize(512, 512);
        Part_17.mirror = true;
        setRotation(Part_17, 0F, 1.57079633F, -3.14159265F);

        Part_18 = new ModelRenderer(this, 0, 0); // 049Scp19
        Part_18.addBox(0F, 0F, 0F, 8, 0, 2);
        Part_18.setRotationPoint(-21F, -12F, -2F);
        Part_18.setTextureSize(512, 512);
        Part_18.mirror = true;
        setRotation(Part_18, 1.57079633F, -1.57079633F, 0F);

        Part_19 = new ModelRenderer(this, 0, 0); // 049Scp20
        Part_19.addBox(0F, 0F, 0F, 10, 0, 6);
        Part_19.setRotationPoint(-11F, -14F, 8F);
        Part_19.setTextureSize(512, 512);
        Part_19.mirror = true;
        setRotation(Part_19, 1.57079633F, 1.57079633F, 0F);

        Part_20 = new ModelRenderer(this, 0, 0); // 049Scp21
        Part_20.addBox(0F, 0F, 0F, 10, 1, 0);
        Part_20.setRotationPoint(-11F, -14F, 16F);
        Part_20.setTextureSize(512, 512);
        Part_20.mirror = true;
        setRotation(Part_20, 0F, 1.57079633F, -3.14159265F);

        Part_21 = new ModelRenderer(this, 0, 0); // 049Scp22
        Part_21.addBox(0F, 0F, 0F, 8, 0, 2);
        Part_21.setRotationPoint(-11F, -12F, -2F);
        Part_21.setTextureSize(512, 512);
        Part_21.mirror = true;
        setRotation(Part_21, 1.57079633F, -1.57079633F, 0F);

        Part_22 = new ModelRenderer(this, 0, 0); // 049Scp23
        Part_22.addBox(0F, 0F, 0F, 10, 0, 2);
        Part_22.setRotationPoint(-21F, -12F, -2F);
        Part_22.setTextureSize(512, 512);
        Part_22.mirror = true;
        setRotation(Part_22, 0F, 0F, 0F);

        Part_23 = new ModelRenderer(this, 0, 0); // 049Scp24
        Part_23.addBox(0F, 0F, 0F, 1, 0, 8);
        Part_23.setRotationPoint(-12F, -12F, -2F);
        Part_23.setTextureSize(512, 512);
        Part_23.mirror = true;
        setRotation(Part_23, 1.57079633F, 0F, 0F);

        Part_24 = new ModelRenderer(this, 0, 0); // 049Scp25
        Part_24.addBox(0F, 0F, 0F, 1, 0, 8);
        Part_24.setRotationPoint(-21F, -12F, -2F);
        Part_24.setTextureSize(512, 512);
        Part_24.mirror = true;
        setRotation(Part_24, 1.57079633F, 0F, 0F);

        Part_25 = new ModelRenderer(this, 0, 0); // 049Scp26
        Part_25.addBox(0F, 0F, 0F, 8, 1, 1);
        Part_25.setRotationPoint(-20F, -3F, -0.5F);
        Part_25.setTextureSize(512, 512);
        Part_25.mirror = true;
        setRotation(Part_25, 0F, 0F, 0F);

        Part_26 = new ModelRenderer(this, 0, 0); // 049Scp27
        Part_26.addBox(0F, 0F, -0.5F, 8, 1, 1);
        Part_26.setRotationPoint(-20F, -3F, 4F);
        Part_26.setTextureSize(512, 512);
        Part_26.mirror = true;
        setRotation(Part_26, 0F, 0F, 0F);

        Part_27 = new ModelRenderer(this, 0, 0); // 049Scp28
        Part_27.addBox(0F, 0F, 0F, 1, 1, 4);
        Part_27.setRotationPoint(-20.25F, -3F, 0F);
        Part_27.setTextureSize(512, 512);
        Part_27.mirror = true;
        setRotation(Part_27, 0F, 0F, 0F);

        Part_28 = new ModelRenderer(this, 0, 0); // 049Scp29
        Part_28.addBox(0F, 0F, 0F, 1, 1, 4);
        Part_28.setRotationPoint(-12.75F, -3F, 0F);
        Part_28.setTextureSize(512, 512);
        Part_28.mirror = true;
        setRotation(Part_28, 0F, 0F, 0F);

        Part_29 = new ModelRenderer(this, 0, 0); // 049Scp30
        Part_29.addBox(0F, 0F, 0F, 2, 2, 1);
        Part_29.setRotationPoint(-16.95F, -3.5F, -1F);
        Part_29.setTextureSize(512, 512);
        Part_29.mirror = true;
        setRotation(Part_29, 0F, 0F, 0F);

        Part_30 = new ModelRenderer(this, 0, 0); // 049Scp31
        Part_30.addBox(0F, 0F, 0F, 1, 0, 6);
        Part_30.setRotationPoint(-12F, -12F, 0F);
        Part_30.setTextureSize(512, 512);
        Part_30.mirror = true;
        setRotation(Part_30, 0F, 0F, 0F);

        Part_31 = new ModelRenderer(this, 0, 0); // 049Scp32
        Part_31.addBox(0F, 0F, 0F, 1, 0, 6);
        Part_31.setRotationPoint(-21F, -12F, 0F);
        Part_31.setTextureSize(512, 512);
        Part_31.mirror = true;
        setRotation(Part_31, 0F, 0F, 0F);

    }

    public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
    {
        super.render(entity, f, f1, f2, f3, f4, f5);
        setRotationAngles(f, f1, f2, f3, f4, f5);
        Part_0.render(f5); // 049Scp01
        Part_1.render(f5); // 049Scp02
        Part_2.render(f5); // 049Scp03
        Part_3.render(f5); // 049Scp04
        Part_4.render(f5); // 049Scp05
        Part_5.render(f5); // 049Scp06
        Part_6.render(f5); // 049Scp07
        Part_7.render(f5); // 049Scp08
        Part_8.render(f5); // 049Scp09
        Part_9.render(f5); // 049Scp10
        Part_10.render(f5); // 049Scp11
        Part_11.render(f5); // 049Scp12
        Part_12.render(f5); // 049Scp13
        Part_13.render(f5); // 049Scp14
        Part_14.render(f5); // 049Scp15
        Part_15.render(f5); // 049Scp16
        Part_16.render(f5); // 049Scp17
        Part_17.render(f5); // 049Scp18
        Part_18.render(f5); // 049Scp19
        Part_19.render(f5); // 049Scp20
        Part_20.render(f5); // 049Scp21
        Part_21.render(f5); // 049Scp22
        Part_22.render(f5); // 049Scp23
        Part_23.render(f5); // 049Scp24
        Part_24.render(f5); // 049Scp25
        Part_25.render(f5); // 049Scp26
        Part_26.render(f5); // 049Scp27
        Part_27.render(f5); // 049Scp28
        Part_28.render(f5); // 049Scp29
        Part_29.render(f5); // 049Scp30
        Part_30.render(f5); // 049Scp31
        Part_31.render(f5); // 049Scp32
    }

    private void setRotation(ModelRenderer model, float x, float y, float z)
    {
        model.rotateAngleX = x;
        model.rotateAngleY = y;
        model.rotateAngleZ = z;
    }

    public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
    {
        super.setRotationAngles(f, f1, f2, f3, f4, f5);
    }

}
Если, что Мканиматор использует свою библиотеку
(если надо скину свою анимацию java коде)
 
Решение
Эх сейчас бы думать, что тчн формат хавает не только кубы
Эх сейчас бы юзать тулбокс модели без библиотеки TurboModelThingy
Эххх, откуда 23 симпатии, резко вскакивает у меня в голове
Как ты вообще собираешь писать туториал по мканиматору, если даже не знаешь о нем почти ничего?
1,173
28
168
Эх сейчас бы думать, что тчн формат хавает не только кубы
Эх сейчас бы юзать тулбокс модели без библиотеки TurboModelThingy
Эххх, откуда 23 симпатии, резко вскакивает у меня в голове
Как ты вообще собираешь писать туториал по мканиматору, если даже не знаешь о нем почти ничего?
 
Сверху