*Dragonfly* Model
This commit is contained in:
parent
fd062bf9a9
commit
813880aa19
3 changed files with 144 additions and 62 deletions
|
@ -4,6 +4,12 @@ import com.mojang.blaze3d.vertex.PoseStack;
|
||||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
|
|
||||||
import net.minecraft.client.model.geom.ModelPart;
|
import net.minecraft.client.model.geom.ModelPart;
|
||||||
|
import net.minecraft.client.model.geom.PartNames;
|
||||||
|
import net.minecraft.client.model.geom.PartPose;
|
||||||
|
import net.minecraft.client.model.geom.builders.CubeListBuilder;
|
||||||
|
import net.minecraft.client.model.geom.builders.LayerDefinition;
|
||||||
|
import net.minecraft.client.model.geom.builders.MeshDefinition;
|
||||||
|
import net.minecraft.client.model.geom.builders.PartDefinition;
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import ru.betterend.entity.DragonflyEntity;
|
import ru.betterend.entity.DragonflyEntity;
|
||||||
|
|
||||||
|
@ -19,65 +25,135 @@ public class DragonflyEntityModel extends BlockBenchModel<DragonflyEntity> {
|
||||||
private final ModelPart legs_1;
|
private final ModelPart legs_1;
|
||||||
private final ModelPart legs_2;
|
private final ModelPart legs_2;
|
||||||
|
|
||||||
public DragonflyEntityModel() {
|
public static LayerDefinition getTexturedModelData() {
|
||||||
super(RenderType::entityCutout);
|
MeshDefinition modelData = new MeshDefinition();
|
||||||
|
PartDefinition modelPartData = modelData.getRoot();
|
||||||
|
|
||||||
texWidth = 64;
|
PartDefinition bodyPart = modelPartData.addOrReplaceChild(PartNames.BODY, CubeListBuilder.create()
|
||||||
texHeight = 64;
|
.texOffs(0, 0)
|
||||||
|
.addBox(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F),
|
||||||
model = new ModelPart(this);
|
PartPose.offset(2.0F, 21.5F, -4.0F));
|
||||||
|
/*model = new ModelPart(this);
|
||||||
model.setPos(2.0F, 21.5F, -4.0F);
|
model.setPos(2.0F, 21.5F, -4.0F);
|
||||||
model.texOffs(0, 0).addBox(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F, 0.0F);
|
model.texOffs(0, 0).addBox(-4.0F, -4.0F, 0.0F, 4.0F, 4.0F, 9.0F, 0.0F);*/
|
||||||
|
|
||||||
head = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.HEAD, CubeListBuilder.create()
|
||||||
|
.texOffs(17, 0)
|
||||||
|
.addBox(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F),
|
||||||
|
PartPose.offsetAndRotation(-2.0F, -2.0F, 0.0F,
|
||||||
|
0.3491F, 0.0F, 0.0F));
|
||||||
|
/*head = new ModelPart(this);
|
||||||
head.setPos(-2.0F, -2.0F, 0.0F);
|
head.setPos(-2.0F, -2.0F, 0.0F);
|
||||||
model.addChild(head);
|
model.addChild(head);
|
||||||
setRotationAngle(head, 0.3491F, 0.0F, 0.0F);
|
setRotationAngle(head, 0.3491F, 0.0F, 0.0F);
|
||||||
head.texOffs(17, 0).addBox(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F, 0.0F);
|
head.texOffs(17, 0).addBox(-1.5F, -1.5F, -2.5F, 3.0F, 3.0F, 3.0F, 0.0F);*/
|
||||||
|
|
||||||
|
PartDefinition tailPart = bodyPart.addOrReplaceChild(PartNames.TAIL, CubeListBuilder.create()
|
||||||
|
.texOffs(26, 0)
|
||||||
|
.addBox(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F),
|
||||||
|
PartPose.offset(-2.0F, -2.0F, 9.0F));
|
||||||
|
/*
|
||||||
tail = new ModelPart(this);
|
tail = new ModelPart(this);
|
||||||
tail.setPos(-2.0F, -2.0F, 9.0F);
|
tail.setPos(-2.0F, -2.0F, 9.0F);
|
||||||
model.addChild(tail);
|
model.addChild(tail);
|
||||||
tail.texOffs(26, 0).addBox(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F, 0.0F);
|
tail.texOffs(26, 0).addBox(-1.5F, -1.5F, 0.0F, 3.0F, 3.0F, 7.0F, 0.0F);
|
||||||
|
*/
|
||||||
|
|
||||||
|
tailPart.addOrReplaceChild(PartNames.TAIL_FIN, CubeListBuilder.create()
|
||||||
|
.texOffs(36, 0)
|
||||||
|
.addBox(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F),
|
||||||
|
PartPose.offset(0.0F, 0.0F, 7.0F));
|
||||||
|
|
||||||
|
/*
|
||||||
tail_2 = new ModelPart(this);
|
tail_2 = new ModelPart(this);
|
||||||
tail_2.setPos(0.0F, 0.0F, 7.0F);
|
tail_2.setPos(0.0F, 0.0F, 7.0F);
|
||||||
tail.addChild(tail_2);
|
tail.addChild(tail_2);
|
||||||
tail_2.texOffs(36, 0).addBox(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F, 0.0F);
|
tail_2.texOffs(36, 0).addBox(-1.0F, -1.0F, 0.0F, 2.0F, 2.0F, 10.0F, 0.0F);
|
||||||
|
*/
|
||||||
|
|
||||||
wing_1 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.LEFT_WING, CubeListBuilder.create()
|
||||||
|
.texOffs(0, 13)
|
||||||
|
.addBox(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F),
|
||||||
|
PartPose.offset(-2.0F, -4.0F, 4.0F));
|
||||||
|
|
||||||
|
/*wing_1 = new ModelPart(this);
|
||||||
wing_1.setPos(-2.0F, -4.0F, 4.0F);
|
wing_1.setPos(-2.0F, -4.0F, 4.0F);
|
||||||
model.addChild(wing_1);
|
model.addChild(wing_1);
|
||||||
wing_1.texOffs(0, 13).addBox(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F);
|
wing_1.texOffs(0, 13).addBox(-15.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F);*/
|
||||||
|
|
||||||
wing_2 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.RIGHT_WING, CubeListBuilder.create()
|
||||||
|
.mirror()
|
||||||
|
.texOffs(0, 13)
|
||||||
|
.addBox(0.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F),
|
||||||
|
PartPose.offset(-2.0F, -4.0F, 4.0F));
|
||||||
|
/*wing_2 = new ModelPart(this);
|
||||||
wing_2.setPos(-2.0F, -4.0F, 4.0F);
|
wing_2.setPos(-2.0F, -4.0F, 4.0F);
|
||||||
model.addChild(wing_2);
|
model.addChild(wing_2);
|
||||||
wing_2.mirror = true;
|
wing_2.mirror = true;
|
||||||
wing_2.texOffs(0, 13).addBox(0.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F);
|
wing_2.texOffs(0, 13).addBox(0.0F, 0.0F, -3.0F, 15.0F, 0.0F, 4.0F, 0.0F);*/
|
||||||
|
|
||||||
wing_3 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.LEFT_WING_BASE, CubeListBuilder.create()
|
||||||
|
.texOffs(4, 17)
|
||||||
|
.addBox(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F),
|
||||||
|
PartPose.offset(-2.0F, -4.0F, 8.0F));
|
||||||
|
/*wing_3 = new ModelPart(this);
|
||||||
wing_3.setPos(-2.0F, -4.0F, 8.0F);
|
wing_3.setPos(-2.0F, -4.0F, 8.0F);
|
||||||
model.addChild(wing_3);
|
model.addChild(wing_3);
|
||||||
wing_3.texOffs(4, 17).addBox(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F);
|
wing_3.texOffs(4, 17).addBox(-12.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F);*/
|
||||||
|
|
||||||
wing_4 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.RIGHT_WING_BASE, CubeListBuilder.create()
|
||||||
|
.mirror()
|
||||||
|
.texOffs(4, 17)
|
||||||
|
.addBox(0.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F),
|
||||||
|
PartPose.offset(-2.0F, -4.0F, 8.0F));
|
||||||
|
/*wing_4 = new ModelPart(this);
|
||||||
wing_4.setPos(-2.0F, -4.0F, 8.0F);
|
wing_4.setPos(-2.0F, -4.0F, 8.0F);
|
||||||
model.addChild(wing_4);
|
model.addChild(wing_4);
|
||||||
wing_4.mirror = true;
|
wing_4.mirror = true;
|
||||||
wing_4.texOffs(4, 17).addBox(0.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F);
|
wing_4.texOffs(4, 17).addBox(0.0F, 0.0F, -2.5F, 12.0F, 0.0F, 3.0F, 0.0F);*/
|
||||||
|
|
||||||
legs_1 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.LEFT_LEG, CubeListBuilder.create()
|
||||||
|
.texOffs(50, 1)
|
||||||
|
.addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F),
|
||||||
|
PartPose.offsetAndRotation(-1.0F, 0.0F, 1.0F,
|
||||||
|
0.0F, 0.0F, -0.5236F));
|
||||||
|
/*legs_1 = new ModelPart(this);
|
||||||
legs_1.setPos(-1.0F, 0.0F, 1.0F);
|
legs_1.setPos(-1.0F, 0.0F, 1.0F);
|
||||||
model.addChild(legs_1);
|
model.addChild(legs_1);
|
||||||
setRotationAngle(legs_1, 0.0F, 0.0F, -0.5236F);
|
setRotationAngle(legs_1, 0.0F, 0.0F, -0.5236F);
|
||||||
legs_1.texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F);
|
legs_1.texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F);*/
|
||||||
|
|
||||||
legs_2 = new ModelPart(this);
|
bodyPart.addOrReplaceChild(PartNames.RIGHT_LEG, CubeListBuilder.create()
|
||||||
|
.texOffs(50, 1)
|
||||||
|
.addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F),
|
||||||
|
PartPose.offsetAndRotation(-3.0F, 0.0F, 1.0F,
|
||||||
|
0.0F, 0.0F, 0.5236F));
|
||||||
|
/*legs_2 = new ModelPart(this);
|
||||||
legs_2.setPos(-3.0F, 0.0F, 1.0F);
|
legs_2.setPos(-3.0F, 0.0F, 1.0F);
|
||||||
model.addChild(legs_2);
|
model.addChild(legs_2);
|
||||||
setRotationAngle(legs_2, 0.0F, 0.0F, 0.5236F);
|
setRotationAngle(legs_2, 0.0F, 0.0F, 0.5236F);
|
||||||
legs_2.texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F);
|
legs_2.texOffs(50, 1).addBox(0.0F, 0.0F, 0.0F, 0.0F, 3.0F, 6.0F, 0.0F);*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
texWidth = 64;
|
||||||
|
texHeight = 64;
|
||||||
|
*/
|
||||||
|
return LayerDefinition.create(modelData, 64, 64);
|
||||||
|
}
|
||||||
|
|
||||||
|
public DragonflyEntityModel(ModelPart modelPart) {
|
||||||
|
super(RenderType::entityCutout);
|
||||||
|
|
||||||
|
model = modelPart.getChild(PartNames.BODY);
|
||||||
|
head = modelPart.getChild(PartNames.HEAD);
|
||||||
|
tail = modelPart.getChild(PartNames.TAIL);
|
||||||
|
tail_2 = modelPart.getChild(PartNames.TAIL_FIN);
|
||||||
|
wing_1 = modelPart.getChild(PartNames.LEFT_WING);
|
||||||
|
wing_2 = modelPart.getChild(PartNames.RIGHT_WING);
|
||||||
|
wing_3 = modelPart.getChild(PartNames.LEFT_WING_TIP);
|
||||||
|
wing_4 = modelPart.getChild(PartNames.RIGHT_WING_BASE);
|
||||||
|
legs_1 = modelPart.getChild(PartNames.LEFT_LEG);
|
||||||
|
legs_2 = modelPart.getChild(PartNames.RIGHT_LEG);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -2,19 +2,22 @@ package ru.betterend.entity.render;
|
||||||
|
|
||||||
import net.minecraft.client.renderer.RenderType;
|
import net.minecraft.client.renderer.RenderType;
|
||||||
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
|
import net.minecraft.client.renderer.entity.EntityRenderDispatcher;
|
||||||
|
import net.minecraft.client.renderer.entity.EntityRendererProvider;
|
||||||
import net.minecraft.client.renderer.entity.MobRenderer;
|
import net.minecraft.client.renderer.entity.MobRenderer;
|
||||||
import net.minecraft.client.renderer.entity.layers.EyesLayer;
|
import net.minecraft.client.renderer.entity.layers.EyesLayer;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import ru.betterend.BetterEnd;
|
import ru.betterend.BetterEnd;
|
||||||
import ru.betterend.entity.DragonflyEntity;
|
import ru.betterend.entity.DragonflyEntity;
|
||||||
|
import ru.betterend.entity.model.CubozoaEntityModel;
|
||||||
import ru.betterend.entity.model.DragonflyEntityModel;
|
import ru.betterend.entity.model.DragonflyEntityModel;
|
||||||
|
import ru.betterend.registry.EndEntitiesRenders;
|
||||||
|
|
||||||
public class RendererEntityDragonfly extends MobRenderer<DragonflyEntity, DragonflyEntityModel> {
|
public class RendererEntityDragonfly extends MobRenderer<DragonflyEntity, DragonflyEntityModel> {
|
||||||
private static final ResourceLocation TEXTURE = BetterEnd.makeID("textures/entity/dragonfly.png");
|
private static final ResourceLocation TEXTURE = BetterEnd.makeID("textures/entity/dragonfly.png");
|
||||||
private static final RenderType GLOW = RenderType.eyes(BetterEnd.makeID("textures/entity/dragonfly_glow.png"));
|
private static final RenderType GLOW = RenderType.eyes(BetterEnd.makeID("textures/entity/dragonfly_glow.png"));
|
||||||
|
|
||||||
public RendererEntityDragonfly(EntityRenderDispatcher entityRenderDispatcher) {
|
public RendererEntityDragonfly(EntityRendererProvider.Context ctx) {
|
||||||
super(entityRenderDispatcher, new DragonflyEntityModel(), 0.5f);
|
super(ctx, new DragonflyEntityModel(ctx.bakeLayer(EndEntitiesRenders.DRAGONFLY_MODEL)), 0.5f);
|
||||||
this.addLayer(new EyesLayer<DragonflyEntity, DragonflyEntityModel>(this) {
|
this.addLayer(new EyesLayer<DragonflyEntity, DragonflyEntityModel>(this) {
|
||||||
@Override
|
@Override
|
||||||
public RenderType renderType() {
|
public RenderType renderType() {
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.resources.ResourceLocation;
|
||||||
import net.minecraft.world.entity.EntityType;
|
import net.minecraft.world.entity.EntityType;
|
||||||
import ru.betterend.BetterEnd;
|
import ru.betterend.BetterEnd;
|
||||||
import ru.betterend.entity.model.CubozoaEntityModel;
|
import ru.betterend.entity.model.CubozoaEntityModel;
|
||||||
|
import ru.betterend.entity.model.DragonflyEntityModel;
|
||||||
import ru.betterend.entity.model.EndSlimeEntityModel;
|
import ru.betterend.entity.model.EndSlimeEntityModel;
|
||||||
import ru.betterend.entity.render.RendererEntityCubozoa;
|
import ru.betterend.entity.render.RendererEntityCubozoa;
|
||||||
import ru.betterend.entity.render.RendererEntityDragonfly;
|
import ru.betterend.entity.render.RendererEntityDragonfly;
|
||||||
|
@ -18,6 +19,7 @@ import ru.betterend.entity.render.SilkMothEntityRenderer;
|
||||||
|
|
||||||
public class EndEntitiesRenders {
|
public class EndEntitiesRenders {
|
||||||
public static final ModelLayerLocation CUBOZOA_MODEL = registerMain("cubozoa");
|
public static final ModelLayerLocation CUBOZOA_MODEL = registerMain("cubozoa");
|
||||||
|
public static final ModelLayerLocation DRAGONFLY_MODEL = registerMain("dragonfly");
|
||||||
public static final ModelLayerLocation END_SLIME_SHELL_MODEL = registerMain("endslime_shell");
|
public static final ModelLayerLocation END_SLIME_SHELL_MODEL = registerMain("endslime_shell");
|
||||||
public static final ModelLayerLocation END_SLIME_MODEL = registerMain("endslime");
|
public static final ModelLayerLocation END_SLIME_MODEL = registerMain("endslime");
|
||||||
|
|
||||||
|
@ -29,9 +31,10 @@ public class EndEntitiesRenders {
|
||||||
register(EndEntities.CUBOZOA, RendererEntityCubozoa.class);
|
register(EndEntities.CUBOZOA, RendererEntityCubozoa.class);
|
||||||
register(EndEntities.SILK_MOTH, SilkMothEntityRenderer.class);
|
register(EndEntities.SILK_MOTH, SilkMothEntityRenderer.class);
|
||||||
|
|
||||||
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(DRAGONFLY_MODEL, DragonflyEntityModel::getTexturedModelData);
|
||||||
EntityModelLayerRegistry.registerModelLayer(END_SLIME_SHELL_MODEL, EndSlimeEntityModel::getShellOnlyTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(END_SLIME_SHELL_MODEL, EndSlimeEntityModel::getShellOnlyTexturedModelData);
|
||||||
EntityModelLayerRegistry.registerModelLayer(END_SLIME_MODEL, EndSlimeEntityModel::getCompleteTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(END_SLIME_MODEL, EndSlimeEntityModel::getCompleteTexturedModelData);
|
||||||
|
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void register(EntityType<?> type, Class<? extends MobRenderer<?, ?>> renderer) {
|
private static void register(EntityType<?> type, Class<? extends MobRenderer<?, ?>> renderer) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue