feature: add tux and label copy machine

This commit is contained in:
nimsolated
2026-03-05 18:06:26 -08:00
parent 7dc07af0c9
commit ffb0f8d129
47 changed files with 2418 additions and 66 deletions

View File

@@ -0,0 +1,129 @@
{
"format_version": "1.9.0",
"credit": "Made with Blockbench",
"textures": {
"0": "nims_random_bullshit:block/mailbox_base",
"1": "nims_random_bullshit:block/label_copy_machine_buttons",
"2": "nims_random_bullshit:block/label_copy_machine_line",
"particle": "nims_random_bullshit:block/mailbox_base"
},
"elements": [
{
"from": [1, 0, 1],
"to": [15, 2, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 0, 7]},
"faces": {
"north": {"uv": [2, 0, 16, 2], "texture": "#0"},
"east": {"uv": [0, 0, 14, 2], "texture": "#0"},
"south": {"uv": [0, 0, 14, 2], "texture": "#0"},
"west": {"uv": [1, 0, 15, 2], "texture": "#0"},
"up": {"uv": [0, 1, 14, 15], "texture": "#0"},
"down": {"uv": [0, 0, 14, 14], "texture": "#0"}
}
},
{
"from": [1, 3, 1],
"to": [15, 5, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 3, 7]},
"faces": {
"north": {"uv": [2, 0, 16, 2], "texture": "#0"},
"east": {"uv": [0, 0, 14, 2], "texture": "#0"},
"south": {"uv": [0, 0, 14, 2], "texture": "#0"},
"west": {"uv": [1, 0, 15, 2], "texture": "#0"},
"up": {"uv": [0, 1, 14, 15], "texture": "#0"},
"down": {"uv": [0, 0, 14, 14], "texture": "#0"}
}
},
{
"from": [3, 5, 2],
"to": [4, 6, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [7, 5, 7]},
"faces": {
"north": {"uv": [13, 1, 14, 2], "texture": "#1"},
"east": {"uv": [12, 1, 13, 2], "texture": "#1"},
"south": {"uv": [2, 1, 3, 2], "texture": "#1"},
"west": {"uv": [2, 1, 3, 2], "texture": "#1"},
"up": {"uv": [2, 2, 3, 3], "texture": "#1"},
"down": {"uv": [2, 12, 3, 13], "texture": "#1"}
}
},
{
"from": [6, 5, 2],
"to": [7, 6, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [10, 5, 7]},
"faces": {
"north": {"uv": [13, 1, 14, 2], "texture": "#1"},
"east": {"uv": [12, 1, 13, 2], "texture": "#1"},
"south": {"uv": [2, 1, 3, 2], "texture": "#1"},
"west": {"uv": [2, 1, 3, 2], "texture": "#1"},
"up": {"uv": [2, 2, 3, 3], "texture": "#1"},
"down": {"uv": [2, 12, 3, 13], "texture": "#1"}
}
},
{
"from": [9, 5, 2],
"to": [10, 6, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [13, 5, 7]},
"faces": {
"north": {"uv": [13, 1, 14, 2], "texture": "#1"},
"east": {"uv": [12, 1, 13, 2], "texture": "#1"},
"south": {"uv": [2, 1, 3, 2], "texture": "#1"},
"west": {"uv": [2, 1, 3, 2], "texture": "#1"},
"up": {"uv": [2, 2, 3, 3], "texture": "#1"},
"down": {"uv": [2, 12, 3, 13], "texture": "#1"}
}
},
{
"from": [3, 5, 5],
"to": [13, 7, 13],
"rotation": {"angle": 0, "axis": "y", "origin": [16, 5, 17]},
"faces": {
"north": {"uv": [5, 0, 15, 2], "texture": "#0"},
"east": {"uv": [6, 0, 14, 2], "texture": "#0"},
"south": {"uv": [1, 0, 11, 2], "texture": "#0"},
"west": {"uv": [2, 0, 10, 2], "texture": "#0"},
"up": {"uv": [1, 2, 11, 10], "texture": "#0"},
"down": {"uv": [1, 6, 11, 14], "texture": "#0"}
}
},
{
"from": [1, 2, 3],
"to": [15, 3, 15],
"rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 2]},
"faces": {
"north": {"uv": [0, 1, 14, 2], "texture": "#2"},
"east": {"uv": [0, 1, 12, 2], "texture": "#0"},
"south": {"uv": [0, 1, 14, 2], "texture": "#0"},
"west": {"uv": [1, 1, 13, 2], "texture": "#0"},
"up": {"uv": [0, 1, 14, 13], "texture": "#2"},
"down": {"uv": [0, 0, 14, 12], "texture": "#2"}
}
},
{
"from": [1, 2, 1],
"to": [8, 3, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [11, 2, 1]},
"faces": {
"north": {"uv": [7, 1, 14, 2], "texture": "#2"},
"east": {"uv": [11, 1, 13, 2], "texture": "#2"},
"south": {"uv": [0, 1, 7, 2], "texture": "#2"},
"west": {"uv": [0, 1, 2, 2], "texture": "#2"},
"up": {"uv": [0, 0, 7, 2], "texture": "#2"},
"down": {"uv": [0, 11, 7, 13], "texture": "#2"}
}
},
{
"from": [14, 2, 1],
"to": [15, 3, 3],
"rotation": {"angle": 0, "axis": "y", "origin": [18, 2, 1]},
"faces": {
"north": {"uv": [7, 1, 8, 2], "texture": "#2"},
"east": {"uv": [11, 1, 13, 2], "texture": "#2"},
"south": {"uv": [6, 1, 7, 2], "texture": "#2"},
"west": {"uv": [0, 1, 2, 2], "texture": "#2"},
"up": {"uv": [6, 0, 7, 2], "texture": "#2"},
"down": {"uv": [6, 11, 7, 13], "texture": "#2"}
}
}
]
}

View File

@@ -0,0 +1,12 @@
{
"mappings": {
"default": {
"map": {
"0": "mailbox_base",
"1": "label_copy_machine_buttons",
"2": "label_copy_machine_line"
},
"name": "default"
}
}
}

View File

@@ -0,0 +1,84 @@
// Made with Blockbench 5.0.7
// Exported for Minecraft version 1.17 or later with Mojang mappings
// Paste this class into your mod and generate all required imports
public class Modelpeguin<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("modid", "peguin"), "main");
private final ModelPart root;
private final ModelPart Head;
private final ModelPart BodySegment;
private final ModelPart LeftLeg;
private final ModelPart RightLeg;
private final ModelPart Body;
private final ModelPart RightArm;
private final ModelPart LeftArm;
public Modelpeguin(ModelPart root) {
this.root = root.getChild("root");
this.Head = this.root.getChild("Head");
this.BodySegment = this.root.getChild("BodySegment");
this.LeftLeg = this.BodySegment.getChild("LeftLeg");
this.RightLeg = this.BodySegment.getChild("RightLeg");
this.Body = this.BodySegment.getChild("Body");
this.RightArm = this.BodySegment.getChild("RightArm");
this.LeftArm = this.BodySegment.getChild("LeftArm");
}
public static LayerDefinition createBodyLayer() {
MeshDefinition meshdefinition = new MeshDefinition();
PartDefinition partdefinition = meshdefinition.getRoot();
PartDefinition root = partdefinition.addOrReplaceChild("root", CubeListBuilder.create(),
PartPose.offsetAndRotation(-0.3125F, 24.0F, -0.0938F, 0.0F, 1.5708F, 0.0F));
PartDefinition Head = root.addOrReplaceChild("Head",
CubeListBuilder.create().texOffs(42, 46)
.addBox(0.5625F, -2.7188F, 1.0625F, 2.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)).texOffs(0, 30)
.addBox(-7.0F, -8.0F, -1.0F, 8.0F, 8.0F, 8.0F, new CubeDeformation(0.0F)),
PartPose.offset(2.875F, -16.0625F, -2.8438F));
PartDefinition BodySegment = root.addOrReplaceChild("BodySegment", CubeListBuilder.create(),
PartPose.offset(-1.5625F, 0.0F, -2.0F));
PartDefinition LeftLeg = BodySegment.addOrReplaceChild("LeftLeg", CubeListBuilder.create().texOffs(30, 46)
.addBox(-1.8125F, -2.0F, -1.125F, 2.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)),
PartPose.offset(9.6875F, 0.0F, 5.2188F));
PartDefinition RightLeg = BodySegment.addOrReplaceChild("RightLeg", CubeListBuilder.create().texOffs(18, 46)
.addBox(-1.8125F, -2.0F, -1.3438F, 2.0F, 2.0F, 4.0F, new CubeDeformation(0.0F)),
PartPose.offset(9.6875F, 0.0F, -2.5625F));
PartDefinition Body = BodySegment.addOrReplaceChild("Body", CubeListBuilder.create().texOffs(0, 0)
.addBox(-14.0F, -16.0F, 0.0F, 14.0F, 16.0F, 14.0F, new CubeDeformation(0.0F)),
PartPose.offset(8.5938F, 0.0F, -4.7813F));
PartDefinition RightArm = BodySegment.addOrReplaceChild("RightArm", CubeListBuilder.create().texOffs(32, 30)
.addBox(-4.25F, 0.0F, -0.0625F, 8.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(1.6875F, -16.0313F, -5.6875F));
PartDefinition LeftArm = BodySegment.addOrReplaceChild("LeftArm", CubeListBuilder.create().texOffs(0, 46)
.addBox(-4.0F, -0.0313F, -1.0F, 8.0F, 15.0F, 1.0F, new CubeDeformation(0.0F)),
PartPose.offset(1.4375F, -16.0F, 10.125F));
return LayerDefinition.create(meshdefinition, 64, 64);
}
@Override
public void renderToBuffer(PoseStack poseStack, VertexConsumer vertexConsumer, int packedLight, int packedOverlay,
float red, float green, float blue, float alpha) {
root.render(poseStack, vertexConsumer, packedLight, packedOverlay, red, green, blue, alpha);
}
public void setupAnim(T entity, float limbSwing, float limbSwingAmount, float ageInTicks, float netHeadYaw,
float headPitch) {
this.LeftLeg.xRot = Mth.cos(limbSwing * 1.0F) * -1.0F * limbSwingAmount;
this.RightArm.xRot = Mth.cos(limbSwing * 0.6662F + (float) Math.PI) * limbSwingAmount;
this.Head.yRot = netHeadYaw / (180F / (float) Math.PI);
this.Head.xRot = headPitch / (180F / (float) Math.PI);
this.RightLeg.xRot = Mth.cos(limbSwing * 1.0F) * 1.0F * limbSwingAmount;
this.LeftArm.xRot = Mth.cos(limbSwing * 0.6662F) * limbSwingAmount;
}
}