From 5ceed2672eb8743440d753d6c330d7385cc360f8 Mon Sep 17 00:00:00 2001 From: FlamingRCCars Date: Fri, 17 Jun 2022 16:04:30 -0500 Subject: [PATCH] fixed-elytras --- mods/ITEMS/mcl_armor/register.lua | 4 ++-- mods/PLAYER/mcl_playerplus/init.lua | 20 +++++++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/mods/ITEMS/mcl_armor/register.lua b/mods/ITEMS/mcl_armor/register.lua index a01a952b9..1e779410d 100644 --- a/mods/ITEMS/mcl_armor/register.lua +++ b/mods/ITEMS/mcl_armor/register.lua @@ -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", diff --git a/mods/PLAYER/mcl_playerplus/init.lua b/mods/PLAYER/mcl_playerplus/init.lua index add5da0fa..7d282d9ca 100644 --- a/mods/PLAYER/mcl_playerplus/init.lua +++ b/mods/PLAYER/mcl_playerplus/init.lua @@ -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 @@ -255,7 +254,7 @@ minetest.register_globalstep(function(dtime) local wielded_def = wielded:get_definition() local c_x, c_y = unpack(player_collision(player)) - + --[[ if player_velocity.x + player_velocity.y < .5 and c_x + c_y > 0 then local add_velocity = player.add_player_velocity or player.add_velocity @@ -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")