forked from MineClone5/MineClone5
#198 Fix a crash, step 5
This commit is contained in:
parent
8b441a8156
commit
e9e3479fb3
|
@ -10,7 +10,8 @@ local function register_rocket(n, duration, force)
|
||||||
inventory_image = "mcl_fireworks_rocket.png",
|
inventory_image = "mcl_fireworks_rocket.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
on_use = function(itemstack, user, pointed_thing)
|
on_use = function(itemstack, user, pointed_thing)
|
||||||
local elytra = mcl_playerplus.elytra[user]
|
if not user:is_player then return end
|
||||||
|
local elytra = mcl_playerplus.elytra[user:get_player_name()]
|
||||||
if elytra.active and elytra.rocketing <= 0 then
|
if elytra.active and elytra.rocketing <= 0 then
|
||||||
elytra.rocketing = duration
|
elytra.rocketing = duration
|
||||||
if not minetest.is_creative_enabled(user:get_player_name()) then
|
if not minetest.is_creative_enabled(user:get_player_name()) then
|
||||||
|
|
|
@ -39,7 +39,7 @@ local function update_player(player_object)
|
||||||
local feet_y, head_y = floor(pos.y-0.1), floor(pos.y + 1.49)
|
local feet_y, head_y = floor(pos.y-0.1), floor(pos.y + 1.49)
|
||||||
|
|
||||||
if mcl_playerplus.elytra then
|
if mcl_playerplus.elytra then
|
||||||
local elytra = mcl_playerplus.elytra[player_object]
|
local elytra = mcl_playerplus.elytra[name]
|
||||||
if elytra and elytra.active then
|
if elytra and elytra.active then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
|
@ -275,7 +275,7 @@ minetest.register_globalstep(function(dtime)
|
||||||
|
|
||||||
local fly_pos = player:get_pos()
|
local fly_pos = player:get_pos()
|
||||||
local fly_node = minetest.get_node({x = fly_pos.x, y = fly_pos.y - 0.5, z = fly_pos.z}).name
|
local fly_node = minetest.get_node({x = fly_pos.x, y = fly_pos.y - 0.5, z = fly_pos.z}).name
|
||||||
local elytra = mcl_playerplus.elytra[player]
|
local elytra = mcl_playerplus.elytra[name]
|
||||||
|
|
||||||
elytra.active = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra"
|
elytra.active = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra"
|
||||||
and not player:get_attach()
|
and not player:get_attach()
|
||||||
|
@ -625,15 +625,14 @@ minetest.register_globalstep(function(dtime)
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- set to blank on join (for 3rd party mods)
|
-- set to blank on join (for 3rd party mods)
|
||||||
minetest.register_on_joinplayer(function(player)
|
minetest.register_on_authplayer(function(name, ip, is_success)
|
||||||
local name = player:get_player_name()
|
if not is_success then return end
|
||||||
|
|
||||||
mcl_playerplus_internal[name] = {
|
mcl_playerplus_internal[name] = {
|
||||||
lastPos = nil,
|
lastPos = nil,
|
||||||
swimDistance = 0,
|
swimDistance = 0,
|
||||||
jump_cooldown = -1, -- Cooldown timer for jumping, we need this to prevent the jump exhaustion to increase rapidly
|
jump_cooldown = -1, -- Cooldown timer for jumping, we need this to prevent the jump exhaustion to increase rapidly
|
||||||
}
|
}
|
||||||
mcl_playerplus.elytra[player] = {active = false, rocketing = 0}
|
mcl_playerplus.elytra[name] = {active = false, rocketing = 0}
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- clear when player leaves
|
-- clear when player leaves
|
||||||
|
@ -641,7 +640,7 @@ minetest.register_on_leaveplayer(function(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
|
|
||||||
mcl_playerplus_internal[name] = nil
|
mcl_playerplus_internal[name] = nil
|
||||||
mcl_playerplus.elytra[player] = nil
|
mcl_playerplus.elytra[name] = nil
|
||||||
end)
|
end)
|
||||||
|
|
||||||
-- Don't change HP if the player falls in the water or through End Portal:
|
-- Don't change HP if the player falls in the water or through End Portal:
|
||||||
|
|
Loading…
Reference in New Issue