diff --git a/compatibility.lua b/compatibility.lua
index 3026101..5c8b6f8 100644
--- a/compatibility.lua
+++ b/compatibility.lua
@@ -538,6 +538,7 @@ if industrialtest.mclAvailable then
industrialtest.elementKeys.copperBlock="mcl_copper:block"
industrialtest.elementKeys.stoneWithCopper="mcl_copper:stone_with_copper"
industrialtest.elementKeys.ironPickaxe="mcl_tools:pick_iron"
+ industrialtest.elementKeys.ironBoots="mcl_armor:boots_iron"
industrialtest.elementKeys.lavaSource="mcl_core:lava_source"
industrialtest.elementKeys.waterSource="mcl_core:water_source"
industrialtest.elementKeys.sugarCane="mcl_core:reeds"
@@ -763,6 +764,7 @@ elseif industrialtest.mtgAvailable then
industrialtest.elementKeys.stoneWithTin="default:stone_with_tin"
industrialtest.elementKeys.bronzeBlock="default:bronzeblock"
industrialtest.elementKeys.ironPickaxe="default:pick_steel"
+ industrialtest.elementKeys.ironBoots="3d_armor:boots_steel"
industrialtest.elementKeys.lavaSource="default:lava_source"
industrialtest.elementKeys.waterSource="default:water_source"
industrialtest.elementKeys.sugarCane="default:papyrus"
diff --git a/init.lua b/init.lua
index 6bc4cf9..314d851 100644
--- a/init.lua
+++ b/init.lua
@@ -58,6 +58,7 @@ dofile(modpath.."/tools/electric_drill.lua")
dofile(modpath.."/tools/electric_hoe.lua")
dofile(modpath.."/tools/electric_saber.lua")
dofile(modpath.."/tools/jetpack.lua")
+dofile(modpath.."/tools/static_boots.lua")
dofile(modpath.."/tools/treetap.lua")
dofile(modpath.."/tools/wrench.lua")
diff --git a/tools/static_boots.lua b/tools/static_boots.lua
new file mode 100644
index 0000000..0985e27
--- /dev/null
+++ b/tools/static_boots.lua
@@ -0,0 +1,126 @@
+-- IndustrialTest
+-- Copyright (C) 2024 mrkubax10
+
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see .
+
+local S=minetest.get_translator("industrialtest")
+
+local updateDelta=0
+local playerPositions={}
+
+local function onGlobalStep(player,inv,stack)
+ if stack:get_name()~="industrialtest:static_boots" then
+ return false
+ end
+ local playerPos=player:get_pos()
+ playerPos.y=0
+ if not playerPositions[player:get_player_name()] then
+ playerPositions[player:get_player_name()]=playerPos
+ return true
+ end
+ if vector.distance(playerPos,playerPositions[player:get_player_name()])<5 then
+ return true
+ end
+ playerPositions[player:get_player_name()]=playerPos
+ local armorList=inv:get_list("armor")
+ for i=1,#armorList do
+ local meta=armorList[i]: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])
+ break
+ end
+ end
+ return true
+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_static_boots.png"
+ })
+end
+minetest.register_craft({
+ type="shaped",
+ output="industrialtest:static_boots",
+ recipe={
+ {industrialtest.elementKeys.ironIngot,"",industrialtest.elementKeys.ironIngot},
+ {industrialtest.elementKeys.ironIngot,industrialtest.elementKeys.whiteWool,industrialtest.elementKeys.ironIngot},
+ {"industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable"}
+ }
+})
+minetest.register_craft({
+ type="shaped",
+ output="industrialtest:static_boots",
+ recipe={
+ {"",industrialtest.elementKeys.ironBoots,""},
+ {"",industrialtest.elementKeys.whiteWool,""},
+ {"industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable","industrialtest:insulated_copper_cable"}
+ }
+})
+
+minetest.register_on_leaveplayer(function(player)
+ playerPositions[player:get_player_name()]=nil
+end)
+
+minetest.register_globalstep(function(dtime)
+ updateDelta=updateDelta+dtime
+ if updateDelta