Magnemite remodel 🧲⚪🧲

This commit is contained in:
FrankTheFarmer
2025-04-25 11:08:27 +10:00
parent f882c89485
commit dd76a16e08
6 changed files with 168 additions and 70 deletions
@@ -1,65 +0,0 @@
/*
* Copyright (C) 2023 Cobblemon Contributors
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/.
*/
package com.cobblemon.mod.common.client.render.models.blockbench.pokemon.gen1
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.PokemonPosableModel
import com.cobblemon.mod.common.client.render.models.blockbench.PosableState
import com.cobblemon.mod.common.client.render.models.blockbench.pokemon.CryProvider
import com.cobblemon.mod.common.client.render.models.blockbench.pose.Pose
import com.cobblemon.mod.common.entity.PoseType
import net.minecraft.client.model.geom.ModelPart
import net.minecraft.world.phys.Vec3
class MagnemiteModel(root: ModelPart) : PokemonPosableModel(root) {
override val rootPart = root.registerChildWithAllChildren("magnemite")
override var portraitScale = 2.2F
override var portraitTranslation = Vec3(-0.1, -1.5, 0.0)
override var profileScale = 1.0F
override var profileTranslation = Vec3(0.0, 0.18, 0.0)
lateinit var standing: Pose
lateinit var walk: Pose
lateinit var sleep: Pose
override val cryAnimation = CryProvider { bedrockStateful("magnemite", "cry") }
override fun registerPoses() {
val blink = quirk { bedrockStateful("magnemite", "blink") }
sleep = registerPose(
poseType = PoseType.SLEEP,
animations = arrayOf(bedrock("magnemite", "sleep"))
)
registerPose(
poseName = "hover",
poseTypes = PoseType.ALL_POSES - PoseType.FLY - PoseType.SLEEP - PoseType.SWIM,
transformTicks = 10,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("magnemite", "air_idle")
)
)
registerPose(
poseName = "fly",
poseTypes = setOf(PoseType.FLY, PoseType.SWIM),
transformTicks = 10,
quirks = arrayOf(blink),
animations = arrayOf(
bedrock("magnemite", "air_fly")
)
)
}
override fun getFaintAnimation(state: PosableState) = bedrockStateful("magnemite", "faint")
}
@@ -290,8 +290,6 @@ object VaryingModelRepository {
inbuilt("koffing", ::KoffingModel)
inbuilt("krabby", ::KrabbyModel)
inbuilt("lickitung", ::LickitungModel)
inbuilt("magnemite", ::MagnemiteModel)
inbuilt("magneton", ::MagnetonModel)
inbuilt("marowak", ::MarowakModel)
inbuilt("meowth", ::MeowthModel)
inbuilt("mew", ::MewModel)
@@ -15,6 +15,22 @@
"name": "magnemite",
"pivot": [0, 0, 0]
},
{
"name": "locator_root",
"parent": "magnemite",
"pivot": [0, 0, 0],
"locators": {
"root": [0, 0, 0]
}
},
{
"name": "locator_top",
"parent": "magnemite",
"pivot": [0, 13.5, 0],
"locators": {
"top": [0, 13.5, 0]
}
},
{
"name": "body",
"parent": "magnemite",
@@ -23,6 +39,55 @@
{"origin": [-4, 1, -4], "size": [8, 8, 8], "uv": [0, 0]}
]
},
{
"name": "locator_target",
"parent": "body",
"pivot": [0, 5, -6],
"locators": {
"target": [0, 5, -6]
}
},
{
"name": "locator_middle",
"parent": "body",
"pivot": [0, 5, 0],
"locators": {
"middle": [0, 5, 0]
}
},
{
"name": "locator_item_hat",
"parent": "body",
"pivot": [0, 9, 0],
"locators": {
"item_hat": [0, 9, 0]
}
},
{
"name": "locator_head",
"parent": "body",
"pivot": [0, 9, -3],
"locators": {
"head": [0, 9, -3]
}
},
{
"name": "locator_face",
"parent": "body",
"pivot": [0, 5, -4],
"locators": {
"face": [0, 5, -4],
"physical": [0, 5, -4]
}
},
{
"name": "locator_item_face",
"parent": "body",
"pivot": [0, 5, -4],
"locators": {
"item_face": [0, 5, -4]
}
},
{
"name": "eye",
"parent": "body",
@@ -31,6 +96,22 @@
{"origin": [-2, 3, -4.01], "size": [4, 4, 0], "uv": [32, 8]}
]
},
{
"name": "eye_angry",
"parent": "eye",
"pivot": [0, 6, -3.92],
"cubes": [
{"origin": [-2, 5, -3.92], "size": [4, 2, 0], "inflate": 0.01, "uv": [0, 16]}
]
},
{
"name": "eye_sad",
"parent": "eye",
"pivot": [0, 6, -3.92],
"cubes": [
{"origin": [-2, 6, -3.92], "size": [4, 1, 0], "inflate": 0.01, "uv": [8, 16]}
]
},
{
"name": "pupil",
"parent": "eye",
@@ -39,6 +120,15 @@
{"origin": [-0.5, 4.5, -4.02], "size": [1, 1, 0], "uv": [40, 8]}
]
},
{
"name": "locator_eye",
"parent": "pupil",
"pivot": [0, 5, -4],
"locators": {
"eye": [0, 5, -4],
"special": [0, 5, -4]
}
},
{
"name": "pupil_closed",
"parent": "eye",
@@ -47,6 +137,23 @@
{"origin": [-1.5, 4.5, -3.92], "size": [3, 1, 0], "uv": [32, 15]}
]
},
{
"name": "pupil_happy",
"parent": "eye",
"pivot": [0, 5, -3.92],
"cubes": [
{"origin": [-1.5, 4, -3.92], "size": [3, 2, 0], "uv": [58, 13]}
]
},
{
"name": "pupil_recoil",
"parent": "eye",
"pivot": [0, 5, -3.92],
"rotation": [0, 0, 45],
"cubes": [
{"origin": [-1.5, 3.5, -3.92], "size": [3, 3, 0], "uv": [0, 18]}
]
},
{
"name": "nail_head",
"parent": "body",
@@ -113,9 +220,12 @@
]
},
{
"name": "nails",
"parent": "body",
"pivot": [0, 4.5, 0]
"name": "locator_item",
"parent": "magnet_right",
"pivot": [-11, 5, 0],
"locators": {
"item": [-11, 5, 0]
}
}
]
}
@@ -0,0 +1,55 @@
{
"portraitScale": 2.2,
"portraitTranslation": [ -0.1, -1.5, 0],
"profileScale": 1,
"profileTranslation": [ 0, 0.18, 0],
"rootBone": "magnemite",
"animations": {
"faint": "q.bedrock_primary('magnemite', 'faint', q.curve('one'))",
"cry": "q.bedrock_stateful('magnemite', 'cry')"
},
"poses": {
"sleep": {
"poseName": "sleep",
"poseTypes": [
"SLEEP"
],
"animations": [
"q.bedrock('magnemite', 'sleep')"
]
},
"hover": {
"poseName": "hover",
"poseTypes": [
"STAND",
"FLOAT",
"HOVER",
"PORTRAIT",
"PROFILE",
"NONE"
],
"animations": [
"q.bedrock('magnemite', 'air_idle')"
],
"transformTicks": 10,
"quirks": [
"q.bedrock_quirk('magnemite', 'blink')"
]
},
"fly": {
"poseName": "fly",
"poseTypes": [
"FLY",
"WALK",
"SWIM"
],
"animations": [
"q.bedrock('magnemite', 'air_fly')"
],
"transformTicks": 10,
"quirks": [
"q.bedrock_quirk('magnemite', 'blink')"
]
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB