*EndFish* Model
This commit is contained in:
parent
813880aa19
commit
b0ecc1152c
3 changed files with 78 additions and 21 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.EndFishEntity;
|
import ru.betterend.entity.EndFishEntity;
|
||||||
|
|
||||||
|
@ -15,47 +21,91 @@ public class EndFishEntityModel extends BlockBenchModel<EndFishEntity> {
|
||||||
private final ModelPart fin_right;
|
private final ModelPart fin_right;
|
||||||
private final ModelPart fin_left;
|
private final ModelPart fin_left;
|
||||||
|
|
||||||
public EndFishEntityModel() {
|
public static LayerDefinition getTexturedModelData() {
|
||||||
super(RenderType::entityCutout);
|
MeshDefinition modelData = new MeshDefinition();
|
||||||
|
PartDefinition modelPartData = modelData.getRoot();
|
||||||
|
|
||||||
texWidth = 32;
|
PartDefinition bodyPart = modelPartData.addOrReplaceChild(PartNames.BODY, CubeListBuilder.create()
|
||||||
texHeight = 32;
|
.texOffs(0, 0)
|
||||||
|
.addBox(-1.0F, -2.0F, -4.0F, 2.0F, 4.0F, 8.0F),
|
||||||
model = new ModelPart(this);
|
PartPose.offset(0.0F, 20.0F, 0.0F));
|
||||||
|
/*model = new ModelPart(this);
|
||||||
model.setPos(0.0F, 20.0F, 0.0F);
|
model.setPos(0.0F, 20.0F, 0.0F);
|
||||||
model.texOffs(0, 0).addBox(-1.0F, -2.0F, -4.0F, 2.0F, 4.0F, 8.0F, 0.0F);
|
model.texOffs(0, 0).addBox(-1.0F, -2.0F, -4.0F, 2.0F, 4.0F, 8.0F, 0.0F);*/
|
||||||
|
|
||||||
fin_top = new ModelPart(this);
|
modelPartData.addOrReplaceChild(PartNames.TOP_FIN, CubeListBuilder.create()
|
||||||
fin_top.setPos(0.0F, -2.0F, -4.0F);
|
.texOffs(0, 6)
|
||||||
|
.addBox(0.0F, -8.0F, 0.0F, 0.0F, 8.0F, 6.0F),
|
||||||
|
PartPose.offsetAndRotation(0.0F, -2.0F, -4.0F,
|
||||||
|
-0.6981F, 0.0F, 0.0F));
|
||||||
|
/*fin_top.setPos(0.0F, -2.0F, -4.0F);
|
||||||
model.addChild(fin_top);
|
model.addChild(fin_top);
|
||||||
setRotationAngle(fin_top, -0.6981F, 0.0F, 0.0F);
|
setRotationAngle(fin_top, -0.6981F, 0.0F, 0.0F);
|
||||||
fin_top.texOffs(0, 6).addBox(0.0F, -8.0F, 0.0F, 0.0F, 8.0F, 6.0F, 0.0F);
|
fin_top.texOffs(0, 6).addBox(0.0F, -8.0F, 0.0F, 0.0F, 8.0F, 6.0F, 0.0F);*
|
||||||
|
*/
|
||||||
|
|
||||||
fin_bottom = new ModelPart(this);
|
modelPartData.addOrReplaceChild(PartNames.BOTTOM_FIN, CubeListBuilder.create()
|
||||||
|
.texOffs(0, 6)
|
||||||
|
.addBox(0.0F, 0.0F, 0.0F, 0.0F, 8.0F, 6.0F),
|
||||||
|
PartPose.offsetAndRotation(0.0F, 2.0F, -4.0F,
|
||||||
|
0.6981F, 0.0F, 0.0F));
|
||||||
|
/*fin_bottom = new ModelPart(this);
|
||||||
fin_bottom.setPos(0.0F, 2.0F, -4.0F);
|
fin_bottom.setPos(0.0F, 2.0F, -4.0F);
|
||||||
model.addChild(fin_bottom);
|
model.addChild(fin_bottom);
|
||||||
setRotationAngle(fin_bottom, 0.6981F, 0.0F, 0.0F);
|
setRotationAngle(fin_bottom, 0.6981F, 0.0F, 0.0F);
|
||||||
fin_bottom.texOffs(0, 6).addBox(0.0F, 0.0F, 0.0F, 0.0F, 8.0F, 6.0F, 0.0F);
|
fin_bottom.texOffs(0, 6).addBox(0.0F, 0.0F, 0.0F, 0.0F, 8.0F, 6.0F, 0.0F);*/
|
||||||
|
|
||||||
flipper = new ModelPart(this);
|
modelPartData.addOrReplaceChild(PartNames.TAIL_FIN, CubeListBuilder.create()
|
||||||
|
.texOffs(0, 15)
|
||||||
|
.addBox(0.0F, -5.0F, 0.0F, 0.0F, 5.0F, 5.0F),
|
||||||
|
PartPose.offsetAndRotation(0.0F, 0.0F, 2.0F,
|
||||||
|
-0.7854F, 0.0F, 0.0F));
|
||||||
|
/*flipper = new ModelPart(this);
|
||||||
flipper.setPos(0.0F, 0.0F, 2.0F);
|
flipper.setPos(0.0F, 0.0F, 2.0F);
|
||||||
model.addChild(flipper);
|
model.addChild(flipper);
|
||||||
setRotationAngle(flipper, -0.7854F, 0.0F, 0.0F);
|
setRotationAngle(flipper, -0.7854F, 0.0F, 0.0F);
|
||||||
flipper.texOffs(0, 15).addBox(0.0F, -5.0F, 0.0F, 0.0F, 5.0F, 5.0F, 0.0F);
|
flipper.texOffs(0, 15).addBox(0.0F, -5.0F, 0.0F, 0.0F, 5.0F, 5.0F, 0.0F);*/
|
||||||
|
|
||||||
fin_right = new ModelPart(this);
|
modelPartData.addOrReplaceChild(PartNames.RIGHT_FIN, CubeListBuilder.create()
|
||||||
|
.texOffs(0, 25)
|
||||||
|
.addBox(-3.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F),
|
||||||
|
PartPose.offsetAndRotation(-1.0F, 0.0F, -1.0F,
|
||||||
|
1.5708F, 0.7854F, 0.0F));
|
||||||
|
/*fin_right = new ModelPart(this);
|
||||||
fin_right.setPos(-1.0F, 0.0F, -1.0F);
|
fin_right.setPos(-1.0F, 0.0F, -1.0F);
|
||||||
model.addChild(fin_right);
|
model.addChild(fin_right);
|
||||||
setRotationAngle(fin_right, 1.5708F, 0.7854F, 0.0F);
|
setRotationAngle(fin_right, 1.5708F, 0.7854F, 0.0F);
|
||||||
fin_right.texOffs(0, 25).addBox(-3.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F, 0.0F);
|
fin_right.texOffs(0, 25).addBox(-3.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F, 0.0F);*/
|
||||||
|
|
||||||
fin_left = new ModelPart(this);
|
modelPartData.addOrReplaceChild(PartNames.LEFT_FIN, CubeListBuilder.create()
|
||||||
|
.mirror()
|
||||||
|
.texOffs(0, 25)
|
||||||
|
.addBox(0.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F),
|
||||||
|
PartPose.offsetAndRotation(-1.0F, 0.0F, -1.0F,
|
||||||
|
1.5708F, -0.7854F, 0.0F));
|
||||||
|
/*fin_left = new ModelPart(this);
|
||||||
fin_left.setPos(1.0F, 0.0F, -1.0F);
|
fin_left.setPos(1.0F, 0.0F, -1.0F);
|
||||||
model.addChild(fin_left);
|
model.addChild(fin_left);
|
||||||
setRotationAngle(fin_left, 1.5708F, -0.7854F, 0.0F);
|
setRotationAngle(fin_left, 1.5708F, -0.7854F, 0.0F);
|
||||||
fin_left.texOffs(0, 25).addBox(0.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F, 0.0F, true);
|
fin_left.texOffs(0, 25).addBox(0.7071F, 0.7071F, -1.5F, 3.0F, 0.0F, 3.0F, 0.0F, true);*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
texWidth = 32;
|
||||||
|
texHeight = 32;
|
||||||
|
*/
|
||||||
|
return LayerDefinition.create(modelData, 32, 32);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public EndFishEntityModel(ModelPart modelPart) {
|
||||||
|
super(RenderType::entityCutout);
|
||||||
|
|
||||||
|
model = modelPart.getChild(PartNames.BODY);
|
||||||
|
fin_top = modelPart.getChild(PartNames.TOP_FIN);
|
||||||
|
fin_bottom = modelPart.getChild(PartNames.BOTTOM_FIN);
|
||||||
|
flipper = modelPart.getChild(PartNames.TAIL_FIN);
|
||||||
|
fin_right = modelPart.getChild(PartNames.RIGHT_FIN);
|
||||||
|
fin_left = modelPart.getChild(PartNames.LEFT_FIN);}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setupAnim(EndFishEntity entity, float limbAngle, float limbDistance, float animationProgress,
|
public void setupAnim(EndFishEntity entity, float limbAngle, float limbDistance, float animationProgress,
|
||||||
float headYaw, float headPitch) {
|
float headYaw, float headPitch) {
|
||||||
|
|
|
@ -6,20 +6,23 @@ import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||||
import net.minecraft.client.renderer.MultiBufferSource;
|
import net.minecraft.client.renderer.MultiBufferSource;
|
||||||
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.client.renderer.texture.OverlayTexture;
|
import net.minecraft.client.renderer.texture.OverlayTexture;
|
||||||
import net.minecraft.resources.ResourceLocation;
|
import net.minecraft.resources.ResourceLocation;
|
||||||
import ru.betterend.BetterEnd;
|
import ru.betterend.BetterEnd;
|
||||||
import ru.betterend.entity.EndFishEntity;
|
import ru.betterend.entity.EndFishEntity;
|
||||||
|
import ru.betterend.entity.model.DragonflyEntityModel;
|
||||||
import ru.betterend.entity.model.EndFishEntityModel;
|
import ru.betterend.entity.model.EndFishEntityModel;
|
||||||
|
import ru.betterend.registry.EndEntitiesRenders;
|
||||||
|
|
||||||
public class RendererEntityEndFish extends MobRenderer<EndFishEntity, EndFishEntityModel> {
|
public class RendererEntityEndFish extends MobRenderer<EndFishEntity, EndFishEntityModel> {
|
||||||
private static final ResourceLocation[] TEXTURE = new ResourceLocation[EndFishEntity.VARIANTS];
|
private static final ResourceLocation[] TEXTURE = new ResourceLocation[EndFishEntity.VARIANTS];
|
||||||
private static final RenderType[] GLOW = new RenderType[EndFishEntity.VARIANTS];
|
private static final RenderType[] GLOW = new RenderType[EndFishEntity.VARIANTS];
|
||||||
|
|
||||||
public RendererEntityEndFish(EntityRenderDispatcher entityRenderDispatcher) {
|
public RendererEntityEndFish(EntityRendererProvider.Context ctx) {
|
||||||
super(entityRenderDispatcher, new EndFishEntityModel(), 0.5f);
|
super(ctx, new EndFishEntityModel(ctx.bakeLayer(EndEntitiesRenders.END_FISH_MODEL)), 0.5f);
|
||||||
this.addLayer(new EyesLayer<EndFishEntity, EndFishEntityModel>(this) {
|
this.addLayer(new EyesLayer<EndFishEntity, EndFishEntityModel>(this) {
|
||||||
@Override
|
@Override
|
||||||
public RenderType renderType() {
|
public RenderType renderType() {
|
||||||
|
|
|
@ -9,6 +9,7 @@ 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.DragonflyEntityModel;
|
||||||
|
import ru.betterend.entity.model.EndFishEntityModel;
|
||||||
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,10 +19,12 @@ import ru.betterend.entity.render.RendererEntityShadowWalker;
|
||||||
import ru.betterend.entity.render.SilkMothEntityRenderer;
|
import ru.betterend.entity.render.SilkMothEntityRenderer;
|
||||||
|
|
||||||
public class EndEntitiesRenders {
|
public class EndEntitiesRenders {
|
||||||
public static final ModelLayerLocation CUBOZOA_MODEL = registerMain("cubozoa");
|
|
||||||
public static final ModelLayerLocation DRAGONFLY_MODEL = registerMain("dragonfly");
|
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");
|
||||||
|
public static final ModelLayerLocation END_FISH_MODEL = registerMain("endfish");
|
||||||
|
public static final ModelLayerLocation CUBOZOA_MODEL = registerMain("cubozoa");
|
||||||
|
|
||||||
public static void register() {
|
public static void register() {
|
||||||
register(EndEntities.DRAGONFLY, RendererEntityDragonfly.class);
|
register(EndEntities.DRAGONFLY, RendererEntityDragonfly.class);
|
||||||
|
@ -34,6 +37,7 @@ public class EndEntitiesRenders {
|
||||||
EntityModelLayerRegistry.registerModelLayer(DRAGONFLY_MODEL, DragonflyEntityModel::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(END_FISH_MODEL, EndFishEntityModel::getTexturedModelData);
|
||||||
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
|
EntityModelLayerRegistry.registerModelLayer(CUBOZOA_MODEL, CubozoaEntityModel::getTexturedModelData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue