make a start on upgrade able mining drills

notes: they don't work. for some reason they should but they dont.

added recipes to craft them, and a replacement to get the energy crystal
back, along with the battery-less drill
This commit is contained in:
Jordan Snelling 2012-12-06 14:40:01 +00:00
parent 36979ebffd
commit 07e5664c08
1 changed files with 129 additions and 5 deletions

View File

@ -1,4 +1,18 @@
mining_drill_max_charge=60000
-- Max charge for the three different drills.
-- Low power drill variable
mining_drill_r_max_charge=60000
-- Medium power drill variable
mining_drill_g_max_charge=120000
-- High power drill variable.
mining_drill_b_max_charge=240000
-- Lov voltage mining drill
minetest.register_tool("technic:mining_drill", {
description = "Mining Drill",
@ -13,7 +27,7 @@ minetest.register_tool("technic:mining_drill", {
drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user)
charge =charge-200;
item["metadata"]=tostring(charge)
set_RE_wear(item,charge,mining_drill_max_charge)
set_RE_wear(item,charge,mining_drill_r_max_charge)
itemstack:replace(item)
end
return itemstack
@ -21,19 +35,129 @@ minetest.register_tool("technic:mining_drill", {
end,
})
-- Medium Voltage mining drill
minetest.register_tool("technic:mining_drill_g", {
description = "Mining Drill",
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()
if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged
charge=tonumber(item["metadata"])
if charge-200>0 then
drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user)
charge =charge-200;
item["metadata"]=tostring(charge)
set_RE_wear(item,charge,mining_drill_g_max_charge)
itemstack:replace(item)
end
return itemstack
end
end,
})
-- High voltage mining drill
minetest.register_tool("technic:mining_drill_b", {
description = "Mining Drill",
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()
if item["metadata"]=="" or item["metadata"]=="0" then return end --tool not charged
charge=tonumber(item["metadata"])
if charge-200>0 then
drill_dig_it(minetest.get_pointed_thing_position(pointed_thing, above),user)
charge =charge-200;
item["metadata"]=tostring(charge)
set_RE_wear(item,charge,mining_drill_b_max_charge)
itemstack:replace(item)
end
return itemstack
end
end,
})
-- Create a craftitem drill
minetest.register_craftitem( "technic:mining_drill_empty", {
description = "Mining Drill",
inventory_image = "technic_mining_drill.png",
on_place_on_ground = minetest.craftitem_place_item,
})
-- Low Power mining drill
minetest.register_craft({
output = 'technic:mining_drill',
recipe = {
{'', 'technic:mining_drill_empty', ''},
{'', 'technic:red_energy_crystal', ''},
}
})
-- Medium power mining drill
minetest.register_craft({
output = 'technic:mining_drill_g',
recipe = {
{'', 'technic:mining_drill_empty', ''},
{'', 'technic:green_energy_crystal', ''},
}
})
-- High power mining drill
minetest.register_craft({
output = 'technic:mining_drill_b',
recipe = {
{'', 'technic:mining_drill_empty', ''},
{'', 'technic:blue_energy_crystal', ''},
}
})
-- Register a craft for the useless mining drill.
minetest.register_craft({
output = 'technic:mining_drill_empty',
recipe = {
{'technic:stainless_steel_ingot', 'technic:diamond_drill_head', 'technic:stainless_steel_ingot'},
{'technic:stainless_steel_ingot', 'technic:red_energy_crystal', 'technic:stainless_steel_ingot'},
{'technic:stainless_steel_ingot', '', 'technic:stainless_steel_ingot'},
{'', 'moreores:copper_ingot', ''},
}
})
-- These return the energy crystal and the empty mining drill
minetest.register_craft({
output = 'technic:red_energy_crystal',
recipe = {
{'', 'technic:mining_drill', ''},
},
replacements = { { 'technic:mining_drill', 'technic:mining_drill_empty' }, },
})
minetest.register_craft({
output = 'technic:green_energy_crystal',
recipe = {
{'', 'technic:mining_drill_g', ''},
},
replacements = { { 'technic:mining_drill_g', 'technic:mining_drill_empty' }, },
})
minetest.register_craft({
output = 'technic:blue_energy_crystal',
recipe = {
{'', 'technic:mining_drill_b', ''},
},
replacements = { { 'technic:mining_drill_b', 'technic:mining_drill_empty' }, },
})
-- Function for digging blocks that is not either lava or water.
function drill_dig_it (pos, player)
local node=minetest.env:get_node(pos)