Fixed UV-Coordinate rendering
This commit is contained in:
parent
3d6f0adc56
commit
770f12ee20
12 changed files with 204 additions and 127 deletions
|
@ -22,14 +22,14 @@ public class ArmoredElytraModel<T extends LivingEntity> extends AgeableListModel
|
|||
MeshDefinition modelData = new MeshDefinition();
|
||||
PartDefinition modelPartData = modelData.getRoot();
|
||||
modelPartData.addOrReplaceChild(PartNames.LEFT_WING, CubeListBuilder.create()
|
||||
.addBox(-10.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f)
|
||||
.texOffs(22, 0),
|
||||
.texOffs(22, 0)
|
||||
.addBox(-10.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f),
|
||||
PartPose.ZERO);
|
||||
|
||||
modelPartData.addOrReplaceChild(PartNames.RIGHT_WING, CubeListBuilder.create()
|
||||
.mirror()
|
||||
.addBox(0.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f)
|
||||
.texOffs(22, 0),
|
||||
.texOffs(22, 0)
|
||||
.addBox(0.0f, 0.0f, 0.0f, 10.0f, 20.0f, 2.0f),
|
||||
PartPose.ZERO);
|
||||
|
||||
return LayerDefinition.create(modelData, 48, 48);
|
||||
|
|
|
@ -22,16 +22,27 @@ public class CrystaliteBootsModel extends HumanoidModel<LivingEntity> {
|
|||
final float scale = 1.0f;
|
||||
MeshDefinition modelData = new MeshDefinition();
|
||||
PartDefinition modelPartData = modelData.getRoot();
|
||||
CubeDeformation deformation = new CubeDeformation(scale + 0.25f);
|
||||
|
||||
// TODO: see if we need to subclass HumanoidModel
|
||||
// Humanoid model tries to retrieve all parts in it's constructor,
|
||||
// so we need to add empty Nodes
|
||||
modelPartData.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
|
||||
CubeDeformation deformation = new CubeDeformation(scale + 0.25f);
|
||||
modelPartData.addOrReplaceChild("leftBoot", CubeListBuilder.create()
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(0, 32),
|
||||
.texOffs(0, 32)
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(1.9f, 12.0f, 0.0f));
|
||||
|
||||
modelPartData.addOrReplaceChild("rightBoot", CubeListBuilder.create()
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(0, 16),
|
||||
.texOffs(0, 16)
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(-1.9f, 12.0f, 0.0f));
|
||||
|
||||
return LayerDefinition.create(modelData, 64, 48);
|
||||
|
|
|
@ -33,35 +33,47 @@ public class CrystaliteChestplateModel extends HumanoidModel<LivingEntity> {
|
|||
private static LayerDefinition getTexturedModelData(float scale, boolean thinArms) {
|
||||
MeshDefinition modelData = new MeshDefinition();
|
||||
PartDefinition modelPartData = modelData.getRoot();
|
||||
|
||||
// TODO: see if we need to subclass HumanoidModel
|
||||
// Humanoid model tries to retrieve all parts in it's constructor,
|
||||
// so we need to add empty Nodes
|
||||
modelPartData.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO);
|
||||
// modelPartData.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
|
||||
CubeDeformation deformation = new CubeDeformation(scale + 0.25F);
|
||||
PartDefinition body = modelPartData.addOrReplaceChild(PartNames.BODY, CubeListBuilder.create()
|
||||
.addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(16, 16),
|
||||
.texOffs(16, 16)
|
||||
.addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.ZERO);
|
||||
|
||||
if (thinArms) {
|
||||
deformation = new CubeDeformation(scale + 0.45F);
|
||||
PartDefinition leftShoulder = modelPartData.addOrReplaceChild("leftShoulder", CubeListBuilder.create()
|
||||
.mirror()
|
||||
.addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(40, 32),
|
||||
.texOffs(40, 32)
|
||||
.addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(5.0f, 2.0f, 0.0f));
|
||||
|
||||
PartDefinition rightShoulder = modelPartData.addOrReplaceChild("rightShoulder", CubeListBuilder.create()
|
||||
.addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(40, 16),
|
||||
.texOffs(40, 16)
|
||||
.addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(-5.0f, 2.0f, 10.0f));
|
||||
} else {
|
||||
deformation = new CubeDeformation(scale + 0.45F);
|
||||
PartDefinition leftShoulder = modelPartData.addOrReplaceChild("leftShoulder", CubeListBuilder.create()
|
||||
.mirror()
|
||||
.addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(40, 32),
|
||||
.texOffs(40, 32)
|
||||
.addBox(-1.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(5.0f, 2.0f, 0.0f));
|
||||
|
||||
PartDefinition rightShoulder = modelPartData.addOrReplaceChild("rightShoulder", CubeListBuilder.create()
|
||||
.addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(40, 16),
|
||||
.texOffs(40, 16)
|
||||
.addBox(-3.0f, -2.5f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(-5.0f, 2.0f, 10.0f));
|
||||
}
|
||||
return LayerDefinition.create(modelData, 64, 48);
|
||||
|
|
|
@ -15,6 +15,7 @@ import net.minecraft.client.model.geom.builders.*;
|
|||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import ru.betterend.registry.EndEntitiesRenders;
|
||||
import shadow.fabric.impl.client.rendering.ArmorProviderExtensions;
|
||||
|
||||
@Environment(EnvType.CLIENT)
|
||||
public class CrystaliteHelmetModel extends HumanoidModel<LivingEntity> {
|
||||
|
@ -23,10 +24,22 @@ public class CrystaliteHelmetModel extends HumanoidModel<LivingEntity> {
|
|||
final float scale = 1.0f;
|
||||
MeshDefinition modelData = new MeshDefinition();
|
||||
PartDefinition modelPartData = modelData.getRoot();
|
||||
|
||||
// TODO: see if we need to subclass HumanoidModel
|
||||
// Humanoid model tries to retrieve all parts in it's constructor,
|
||||
// so we need to add empty Nodes
|
||||
modelPartData.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.ZERO);
|
||||
//modelPartData.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
|
||||
CubeDeformation deformation_hat = new CubeDeformation(scale + 0.5f);
|
||||
PartDefinition hat = modelPartData.addOrReplaceChild(PartNames.HAT, CubeListBuilder.create()
|
||||
.addBox(-4.0f, -8.0f, -4.0f, 8.0f, 8.0f, 8.0f, deformation_hat)
|
||||
.texOffs(0, 0),
|
||||
.texOffs(0, 0)
|
||||
.addBox(-4.0f, -8.0f, -4.0f, 8.0f, 8.0f, 8.0f, deformation_hat),
|
||||
PartPose.ZERO);
|
||||
|
||||
return LayerDefinition.create(modelData, 64, 48);
|
||||
|
|
|
@ -19,20 +19,32 @@ public class CrystaliteLeggingsModel extends HumanoidModel<LivingEntity> {
|
|||
float scale = 1.0f;
|
||||
MeshDefinition modelData = new MeshDefinition();
|
||||
PartDefinition modelPartData = modelData.getRoot();
|
||||
|
||||
// TODO: see if we need to subclass HumanoidModel
|
||||
// Humanoid model tries to retrieve all parts in it's constructor,
|
||||
// so we need to add empty Nodes
|
||||
modelPartData.addOrReplaceChild("head", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("hat", CubeListBuilder.create(), PartPose.ZERO);
|
||||
// modelPartData.addOrReplaceChild("body", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("right_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
modelPartData.addOrReplaceChild("left_arm", CubeListBuilder.create(), PartPose.ZERO);
|
||||
// modelPartData.addOrReplaceChild("right_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
// modelPartData.addOrReplaceChild("left_leg", CubeListBuilder.create(), PartPose.ZERO);
|
||||
|
||||
CubeDeformation deformation = new CubeDeformation(scale);
|
||||
modelPartData.addOrReplaceChild(PartNames.BODY, CubeListBuilder.create()
|
||||
.addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(16, 16),
|
||||
.texOffs(16, 16)
|
||||
.addBox(-4.0f, 0.0f, -2.0f, 8.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.ZERO);
|
||||
|
||||
modelPartData.addOrReplaceChild(PartNames.LEFT_LEG, CubeListBuilder.create()
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(0, 32),
|
||||
.texOffs(0, 32)
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(1.9f, 12.0f, 0.0f));
|
||||
|
||||
modelPartData.addOrReplaceChild(PartNames.RIGHT_LEG, CubeListBuilder.create()
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation)
|
||||
.texOffs(0, 16),
|
||||
.texOffs(0, 16)
|
||||
.addBox(-2.0f, 0.0f, -2.0f, 4.0f, 12.0f, 4.0f, deformation),
|
||||
PartPose.offset(-1.9f, 12.0f, 0.0f));
|
||||
|
||||
return LayerDefinition.create(modelData, 64, 48);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue