diff --git a/tools/static_boots.lua b/tools/static_boots.lua index 3c72d0f..a553339 100644 --- a/tools/static_boots.lua +++ b/tools/static_boots.lua @@ -15,65 +15,45 @@ -- along with this program. If not, see . local S=minetest.get_translator("industrialtest") +industrialtest.StaticBoots=table.copy(industrialtest.GearTool) + +local image=(industrialtest.mtgAvailable and "industrialtest_static_boots.png" or "industrialtest_mcl_static_boots.png") + +industrialtest.internal.unpackTableInto(industrialtest.StaticBoots,{ + name="industrialtest:static_boots", + description=S("Static Boots"), + inventoryImage="industrialtest_static_boots_inv.png", + part="feet", + modelImage=image +}) local updateDelta=0 local playerPositions={} - -local function onGlobalStep(player,inv,stack) - if stack:get_name()~="industrialtest:static_boots" then - return false - end +function industrialtest.StaticBoots.update(self,player,inv,itemstack,dtime) local playerPos=player:get_pos() playerPos.y=0 if not playerPositions[player:get_player_name()] then playerPositions[player:get_player_name()]=playerPos - return true + return false end if vector.distance(playerPos,playerPositions[player:get_player_name()])<5 then - return true + return false end playerPositions[player:get_player_name()]=playerPos local armorList=inv:get_list("armor") - for i=1,#armorList do - local meta=armorList[i]:get_meta() + for i,armorItemstack in ipairs(armorList) do + local meta=armorItemstack:get_meta() if industrialtest.api.hasPowerStorage(meta) and not industrialtest.api.isFullyCharged(meta) then - industrialtest.api.addPowerToItem(armorList[i],1) - inv:set_stack("armor",i,armorList[i]) + industrialtest.api.addPowerToItem(armorItemstack,1) + inv:set_stack("armor",i,armorItemstack) break end end - return true + return false end -if industrialtest.mtgAvailable then - armor:register_armor("industrialtest:static_boots",{ - description=S("Static Boots"), - inventory_image="industrialtest_static_boots_inv.png", - groups={ - armor_feet=1, - armor_heal=0 - } - }) -elseif industrialtest.mclAvailable then - minetest.register_tool("industrialtest:static_boots",{ - description=S("Static Boots"), - inventory_image="industrialtest_static_boots_inv.png", - groups={ - armor=1, - non_combat_armor=1, - armor_feet=1, - non_combat_feet=1 - }, - sounds={ - _mcl_armor_equip="mcl_armor_equip_iron", - _mcl_armor_unequip="mcl_armor_unequip_iron" - }, - on_place=mcl_armor.equip_on_use, - on_secondary_use=mcl_armor.equip_on_use, - _mcl_armor_element="feet", - _mcl_armor_texture="industrialtest_mcl_static_boots.png" - }) -end +industrialtest.StaticBoots:register() + minetest.register_craft({ type="shaped", output="industrialtest:static_boots", @@ -83,6 +63,7 @@ minetest.register_craft({ {"industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable"} } }) + minetest.register_craft({ type="shaped", output="industrialtest:static_boots", @@ -96,31 +77,3 @@ minetest.register_craft({ minetest.register_on_leaveplayer(function(player) playerPositions[player:get_player_name()]=nil end) - -minetest.register_globalstep(function(dtime) - updateDelta=updateDelta+dtime - if updateDelta