100 lines
2.7 KiB
Lua
100 lines
2.7 KiB
Lua
|
-- Bone alias
|
||
|
local BODY = "Body"
|
||
|
local HEAD = "Head"
|
||
|
local CAPE = "Cape"
|
||
|
local LARM = "Arm_Left"
|
||
|
local RARM = "Arm_Right"
|
||
|
local LLEG = "Leg_Left"
|
||
|
local RLEG = "Leg_Right"
|
||
|
|
||
|
-- Version of player model
|
||
|
local DEFAULT_PLAYER_MODEL_VERSION = "MTG_4_Jun_2017"
|
||
|
|
||
|
local VALID_PLAYER_MODEL_VERSIONS = {
|
||
|
MTG_4_Jun_2017 = true,
|
||
|
MTG_4_Nov_2017 = true,
|
||
|
}
|
||
|
|
||
|
local LEGACY_PLAYER_MODEL_VERSIONS = {
|
||
|
default_character_v1 = true,
|
||
|
default_character_v2 = true,
|
||
|
default_character_v3 = true,
|
||
|
}
|
||
|
|
||
|
local BONE_POSITIONS = {
|
||
|
MTG_4_Jun_2017 = {
|
||
|
[BODY] = {x = 0, y = -3.5, z = 0},
|
||
|
[HEAD] = {x = 0, y = 6.5, z = 0},
|
||
|
[CAPE] = {x = 0, y = 6.5, z = 1.2},
|
||
|
[LARM] = {x = 3, y = 5.5, z = 0},
|
||
|
[RARM] = {x = -3, y = 5.5, z = 0},
|
||
|
[LLEG] = {x = 1, y = 0, z = 0},
|
||
|
[RLEG] = {x = -1, y = 0, z = 0},
|
||
|
|
||
|
body_sit = {x = 0, y = -5.5, z = 0},
|
||
|
body_lay = {x = 0, y = -5.5, z = 0},
|
||
|
},
|
||
|
MTG_4_Nov_2017 = {
|
||
|
[BODY] = {x = 0, y = 6.25, z = 0},
|
||
|
[HEAD] = {x = 0, y = 6.5, z = 0},
|
||
|
[CAPE] = {x = 0, y = 6.5, z = 1.2},
|
||
|
[LARM] = {x = 3, y = 5.5, z = 0},
|
||
|
[RARM] = {x = -3, y = 5.5, z = 0},
|
||
|
[LLEG] = {x = 1, y = 0, z = 0},
|
||
|
[RLEG] = {x = -1, y = 0, z = 0},
|
||
|
|
||
|
body_sit = {x = 0, y = -5, z = 0},
|
||
|
body_lay = {x = 0, y = -5, z = 0},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
local BONE_ROTATIONS = {
|
||
|
MTG_4_Jun_2017 = {
|
||
|
[BODY] = {x = 0, y = 0, z = 0},
|
||
|
[HEAD] = {x = 0, y = 0, z = 0},
|
||
|
[CAPE] = {x = 0, y = 0, z = 0},
|
||
|
[LARM] = {x = 0, y = 0, z = 0},
|
||
|
[RARM] = {x = 0, y = 0, z = 0},
|
||
|
[LLEG] = {x = 0, y = 0, z = 0},
|
||
|
[RLEG] = {x = 0, y = 0, z = 0},
|
||
|
|
||
|
body_sit = {x = 0, y = 0, z = 0},
|
||
|
body_lay = {x = 270, y = 0, z = 0},
|
||
|
},
|
||
|
MTG_4_Nov_2017 = {
|
||
|
[BODY] = {x = 0, y = 0, z = 0},
|
||
|
[HEAD] = {x = 0, y = 0, z = 0},
|
||
|
[CAPE] = {x = 0, y = 0, z = 0},
|
||
|
[LARM] = {x = 0, y = 0, z = 0},
|
||
|
[RARM] = {x = 0, y = 0, z = 0},
|
||
|
[LLEG] = {x = 0, y = 0, z = 0},
|
||
|
[RLEG] = {x = 0, y = 0, z = 0},
|
||
|
|
||
|
body_sit = {x = 0, y = 0, z = 0},
|
||
|
body_lay = {x = 270, y = 0, z = 0},
|
||
|
},
|
||
|
}
|
||
|
|
||
|
local PLAYER_MODEL_VERSION = (function()
|
||
|
local version = minetest.settings:get("playeranim.model_version")
|
||
|
if version == nil or version == "" then
|
||
|
version = DEFAULT_PLAYER_MODEL_VERSION
|
||
|
end
|
||
|
|
||
|
if LEGACY_PLAYER_MODEL_VERSIONS[version] then
|
||
|
error("The model version '" .. version .. "' is no longer suppported")
|
||
|
elseif not VALID_PLAYER_MODEL_VERSIONS[version] then
|
||
|
error("Invalid value for playeranim.model_version in minetest.conf: " .. version)
|
||
|
end
|
||
|
|
||
|
return version
|
||
|
end)()
|
||
|
|
||
|
local BONE_POSITION = BONE_POSITIONS[PLAYER_MODEL_VERSION]
|
||
|
local BONE_ROTATION = BONE_ROTATIONS[PLAYER_MODEL_VERSION]
|
||
|
if not BONE_POSITION or not BONE_ROTATION then
|
||
|
error("Internal error: invalid player_model_version: " .. PLAYER_MODEL_VERSION)
|
||
|
end
|
||
|
|
||
|
return BONE_POSITION, BONE_ROTATION
|