forked from VoxeLibre/VoxeLibre
Slab detection
This commit is contained in:
parent
48f6699a6a
commit
531b17c5bd
|
@ -42,6 +42,7 @@ function mcl_playerinfo:collision_detect(pos,player)
|
|||
}
|
||||
--Your distance from a block is < 1.1 if you're touching it.
|
||||
local too_close = 1.1
|
||||
local slab_too_close = 1.42
|
||||
--[[
|
||||
Takes the current degree angle that the player is facing
|
||||
Degrees in minetest are determined counter clock wise
|
||||
|
@ -89,8 +90,13 @@ function mcl_playerinfo:collision_detect(pos,player)
|
|||
local node = minetest.get_node(coord)
|
||||
-- How far is the player from the block in the given direction and
|
||||
-- if the block is not air the player is colliding with it
|
||||
print(node.name)
|
||||
print(vector.distance(pos, coord))
|
||||
if vector.distance(pos, coord) < too_close and node.name ~= "air" then
|
||||
return false
|
||||
--Should be able to detect when you head is touching a slab
|
||||
elseif vector.distance(pos, coord) < slab_too_close and vector.distance(pos, coord) > too_close and placement == "front_ofplayerplus" and node.name ~= "air" then
|
||||
return false
|
||||
end
|
||||
end
|
||||
return true
|
||||
|
|
Loading…
Reference in New Issue