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