kpoppel
2013-07-02 053fa59739f4b772174bf0a090969b3395ab3f98
technic/mining_drill.lua
@@ -1,9 +1,9 @@
mining_drill_max_charge=60000
mining_drill_mk2_max_charge=240000
mining_drill_mk3_max_charge=960000
mining_drill_power_usage=200
mining_drill_mk2_power_usage=600
mining_drill_mk3_power_usage=1800
local mining_drill_max_charge=60000
local mining_drill_mk2_max_charge=240000
local mining_drill_mk3_max_charge=960000
local mining_drill_power_usage=200
local mining_drill_mk2_power_usage=600
local mining_drill_mk3_power_usage=1800
minetest.register_craft({
   output = 'technic:mining_drill',
@@ -210,24 +210,24 @@
   drill_dig_it0 (pos,player)
end
register_power_tool ("technic:mining_drill",mining_drill_max_charge)
technic.register_MV_power_tool ("technic:mining_drill",mining_drill_max_charge)
minetest.register_tool("technic:mining_drill", {
   description = "Mining Drill Mk1",
   inventory_image = "technic_mining_drill.png",
   stack_max = 1,
   on_use = function(itemstack, user, pointed_thing)
      if pointed_thing.type=="node" then 
      item=itemstack:to_table()
      local item=itemstack:to_table()
      local meta=get_item_meta(item["metadata"])
      if meta==nil then return end --tool not charghed
      if meta["charge"]==nil then return end
      charge=meta["charge"]
      local charge=meta["charge"]
      if charge-mining_drill_power_usage>0 then
         charge_to_take=drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user,1,1)
         charge =charge-mining_drill_power_usage;
         meta["charge"]=charge
         item["metadata"]=set_item_meta(meta)
         set_RE_wear(item,charge,mining_drill_max_charge)
         technic.set_RE_wear(item,charge,mining_drill_max_charge)
         itemstack:replace(item)
         end
      return itemstack
@@ -243,10 +243,10 @@
   return itemstack
   end,
})
register_power_tool ("technic:mining_drill_mk2",mining_drill_mk2_max_charge)
technic.register_HV_power_tool ("technic:mining_drill_mk2",mining_drill_mk2_max_charge)
for i=1,4,1 do
register_power_tool ("technic:mining_drill_mk2_"..i,mining_drill_mk2_max_charge)
technic.register_HV_power_tool ("technic:mining_drill_mk2_"..i,mining_drill_mk2_max_charge)
minetest.register_tool("technic:mining_drill_mk2_"..i, {
   description = "Mining Drill Mk2 in Mode "..i,
   inventory_image = "technic_mining_drill_mk2.png^technic_tool_mode"..i..".png",
@@ -267,10 +267,10 @@
   return itemstack
   end,
})
register_power_tool ("technic:mining_drill_mk3",mining_drill_mk3_max_charge)
technic.register_HV_power_tool ("technic:mining_drill_mk3",mining_drill_mk3_max_charge)
for i=1,5,1 do
register_power_tool ("technic:mining_drill_mk3_"..i,mining_drill_mk3_max_charge)
technic.register_HV_power_tool ("technic:mining_drill_mk3_"..i,mining_drill_mk3_max_charge)
minetest.register_tool("technic:mining_drill_mk3_"..i, {
   description = "Mining Drill Mk3 in Mode "..i,
   inventory_image = "technic_mining_drill_mk3.png^technic_tool_mode"..i..".png",
@@ -287,7 +287,7 @@
   local keys=user:get_player_control()
   local player_name=user:get_player_name()
   local item=itemstack:to_table()
   meta=get_item_meta(item["metadata"])
   local meta=get_item_meta(item["metadata"])
   if meta==nil or keys["sneak"]==true then return mining_drill_mk2_setmode(user,itemstack) end
   if meta["mode"]==nil then return mining_drill_mk2_setmode(user,itemstack) end
   if pointed_thing.type~="node" then return end
@@ -299,7 +299,7 @@
      if charge<0 then charge=0 end
      meta["charge"]=charge
      item["metadata"]=set_item_meta(meta)
      set_RE_wear(item,charge,mining_drill_mk2_max_charge)
      technic.set_RE_wear(item,charge,mining_drill_mk2_max_charge)
      itemstack:replace(item)
   end
   return itemstack
@@ -309,20 +309,19 @@
   local keys=user:get_player_control()
   local player_name=user:get_player_name()
   local item=itemstack:to_table()
   meta=get_item_meta(item["metadata"])
   local meta=get_item_meta(item["metadata"])
   if meta==nil or keys["sneak"]==true then return mining_drill_mk3_setmode(user,itemstack) end
   if meta["mode"]==nil then return mining_drill_mk3_setmode(user,itemstack) end
   if pointed_thing.type~="node" then return end
   if meta["charge"]==nil then return end
   charge=meta["charge"]
   local charge=meta["charge"]
   if charge-mining_drill_power_usage>0 then
      print(dump(meta))
      local charge_to_take=drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user,3,meta["mode"])
      charge=charge-charge_to_take;
      if charge<0 then charge=0 end
      meta["charge"]=charge
      item["metadata"]=set_item_meta(meta)
      set_RE_wear(item,charge,mining_drill_mk3_max_charge)
      technic.set_RE_wear(item,charge,mining_drill_mk3_max_charge)
      itemstack:replace(item)
   end
   return itemstack