fixed-elytras

This commit is contained in:
FlamingRCCars 2022-06-17 16:04:30 -05:00
parent 5d2552eb97
commit 5ceed2672e
2 changed files with 17 additions and 7 deletions

View File

@ -209,12 +209,12 @@ minetest.register_tool("mcl_armor:elytra", {
_doc_items_longdesc = mcl_armor.longdesc,
_doc_items_usagehelp = mcl_armor.usage,
inventory_image = "mcl_armor_inv_elytra.png",
groups = {armor = 1,non_combat_torse = 1, armor_torso = 1, mcl_armor_uses = 10, enchantability = 1},
groups = {armor = 1, non_combat_tors0 = 1, armor_torso = 1, mcl_armor_uses = 10, enchantability = 1},
sounds = {
_mcl_armor_equip = "mcl_armor_equip_leather",
_mcl_armor_unequip = "mcl_armor_unequip_leather",
},
repair_material = "mcl_mobitems:leather",
_repair_material = "mcl_mobitems:leather",
on_place = mcl_armor.equip_on_use,
on_secondary_use = mcl_armor.equip_on_use,
_mcl_armor_element = "torso",

View File

@ -229,7 +229,6 @@ local function set_bone_position_conditional(player,b,p,r) --bone,position,rotat
end
player:set_bone_position(b,p,r)
end
minetest.register_globalstep(function(dtime)
time = time + dtime
@ -278,9 +277,20 @@ minetest.register_globalstep(function(dtime)
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 elytra = mcl_playerplus.elytra[name]
elytra.active = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra" and not player:get_attach() and (elytra.active or control.jump and player_velocity.y < -6) and (fly_node == "air" or fly_node == "ignore") or "mcl_armor:elytra_enchanted" and not player:get_attach() and (elytra.active or control.jump and player_velocity.y < -6) and (fly_node == "air" or fly_node == "ignore")
elytra.inv = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra"
elytra.enchanted = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra_enchanted"
if not elytra.active then
elytra.active = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra_enchanted" and not player:get_attach() and (elytra.active or control.jump and player_velocity.y < -6) and (fly_node == "air" or fly_node == "ignore")
if not elytra.active then
elytra.active = player:get_inventory():get_stack("armor", 3):get_name() == "mcl_armor:elytra" and not player:get_attach() and (elytra.active or control.jump and player_velocity.y < -6) and (fly_node == "air" or fly_node == "ignore")
end
end
if not (fly_node == "air" or fly_node == "ignore") then
elytra.active = false
end
if (not elytra.inv and not elytra.enchanted) then
elytra.active = false
end
if elytra.active then
mcl_player.player_set_animation(player, "fly")