mirror of
https://github.com/LoneWolfHT/headanim.git
synced 2025-07-18 16:20:42 +02:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
580816fb3a | |||
d7839acfdc | |||
7d4fb05ecb | |||
fce30158a7 | |||
63fb160951 | |||
0e79459f96 | |||
daac6ff677 | |||
6828735c14 | |||
b3831e32e7 |
45
.luacheckrc
Normal file
45
.luacheckrc
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
read_globals = {
|
||||||
|
"DIR_DELIM", "INIT",
|
||||||
|
|
||||||
|
"minetest", "core",
|
||||||
|
"dump", "dump2",
|
||||||
|
|
||||||
|
"Raycast",
|
||||||
|
"Settings",
|
||||||
|
"PseudoRandom",
|
||||||
|
"PerlinNoise",
|
||||||
|
"VoxelManip",
|
||||||
|
"SecureRandom",
|
||||||
|
"VoxelArea",
|
||||||
|
"PerlinNoiseMap",
|
||||||
|
"PcgRandom",
|
||||||
|
"ItemStack",
|
||||||
|
"AreaStore",
|
||||||
|
|
||||||
|
"vector",
|
||||||
|
|
||||||
|
table = {
|
||||||
|
fields = {
|
||||||
|
"copy",
|
||||||
|
"indexof",
|
||||||
|
"insert_all",
|
||||||
|
"key_value_swap",
|
||||||
|
"shuffle",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
string = {
|
||||||
|
fields = {
|
||||||
|
"split",
|
||||||
|
"trim",
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
math = {
|
||||||
|
fields = {
|
||||||
|
"hypot",
|
||||||
|
"sign",
|
||||||
|
"factorial"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020 LoneWolfHT
|
Copyright (c) 2020-2021 LoneWolfHT
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
@ -1,2 +1,7 @@
|
|||||||
# Headanim
|
# Headanim
|
||||||
|
[](https://content.minetest.net/packages/Lone_Wolf/headanim/)
|
||||||
|
|
||||||
Makes player heads follow their look dir in Minetest. Requires version 5.3+
|
Makes player heads follow their look dir in Minetest. Requires version 5.3+
|
||||||
|
|
||||||
|
## Similar mods
|
||||||
|
* https://github.com/minetest-mods/playeranim: A lot more complex (and possibly slower?) than Headanim but looks nicer as a result
|
||||||
|
29
init.lua
29
init.lua
@ -1,5 +1,28 @@
|
|||||||
minetest.register_globalstep(function(dtime)
|
local get_connected_players = minetest.get_connected_players
|
||||||
for _, player in pairs(minetest.get_connected_players()) do
|
local lastdir = {}
|
||||||
player:set_bone_position("Head", vector.new(0, 6.35, 0), vector.new(-math.deg(player:get_look_vertical()), 0, 0))
|
local basepos = vector.new(0, 6.35, 0)
|
||||||
|
|
||||||
|
minetest.register_globalstep(function()
|
||||||
|
for _, player in pairs(get_connected_players()) do
|
||||||
|
local pname = player:get_player_name()
|
||||||
|
local ldeg = -player:get_look_vertical()
|
||||||
|
|
||||||
|
if (lastdir[pname] or 0) ~= ldeg then
|
||||||
|
lastdir[pname] = ldeg
|
||||||
|
player:set_bone_override("Head", {
|
||||||
|
position = {
|
||||||
|
vec = basepos,
|
||||||
|
absolute = true
|
||||||
|
},
|
||||||
|
rotation = {
|
||||||
|
vec = {x = ldeg, y = 0, z = 0},
|
||||||
|
interpolation = 0.09,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
minetest.register_on_leaveplayer(function(player)
|
||||||
|
lastdir[player:get_player_name()] = nil
|
||||||
|
end)
|
||||||
|
Reference in New Issue
Block a user