mirror of
https://github.com/LoneWolfHT/headanim.git
synced 2025-07-17 15:50:47 +02:00
Compare commits
7 Commits
v1.0
...
7d4fb05ecb
Author | SHA1 | Date | |
---|---|---|---|
7d4fb05ecb | |||
fce30158a7 | |||
63fb160951 | |||
0e79459f96 | |||
daac6ff677 | |||
6828735c14 | |||
b3831e32e7 |
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 LoneWolfHT
|
||||
Copyright (c) 2020-2021 LoneWolfHT
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1,2 +1,7 @@
|
||||
# Headanim
|
||||
[](https://content.minetest.net/packages/Lone_Wolf/headanim/)
|
||||
|
||||
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
|
||||
|
20
init.lua
20
init.lua
@ -1,5 +1,21 @@
|
||||
local get_connected_players = minetest.get_connected_players
|
||||
local abs = math.abs
|
||||
local deg = math.deg
|
||||
local basepos = vector.new(0, 6.35, 0)
|
||||
local lastdir = {}
|
||||
|
||||
minetest.register_globalstep(function(dtime)
|
||||
for _, player in pairs(minetest.get_connected_players()) do
|
||||
player:set_bone_position("Head", vector.new(0, 6.35, 0), vector.new(-math.deg(player:get_look_vertical()), 0, 0))
|
||||
for _, player in pairs(get_connected_players()) do
|
||||
local pname = player:get_player_name()
|
||||
local ldeg = -deg(player:get_look_vertical())
|
||||
|
||||
if abs((lastdir[pname] or 0) - ldeg) > 4 then
|
||||
lastdir[pname] = ldeg
|
||||
player:set_bone_position("Head", basepos, {x = ldeg, y = 0, z = 0})
|
||||
end
|
||||
end
|
||||
end)
|
||||
|
||||
minetest.register_on_leaveplayer(function(player)
|
||||
lastdir[player:get_player_name()] = nil
|
||||
end)
|
||||
|
Reference in New Issue
Block a user