parent
ddeaf76ade
commit
c28c2499c3
@ -1,5 +1,4 @@
|
||||
unused_args = false
|
||||
max_line_length = 999
|
||||
|
||||
globals = {
|
||||
"technic", "technic_cnc", "minetest", "wrench"
|
||||
@ -32,6 +31,8 @@ read_globals = {
|
||||
-- Remove after network update
|
||||
files["technic/machines/register/cables.lua"].ignore = { "name", "from_below", "p" }
|
||||
files["technic/machines/switching_station.lua"].ignore = { "pos1", "tier", "poshash" }
|
||||
files["technic/machines/switching_station.lua"].max_line_length = false
|
||||
|
||||
-- Remove after chests update
|
||||
files["technic_chests/register.lua"].ignore = { "fs_helpers", "name", "locked_after_place" }
|
||||
files["technic_chests/register.lua"].max_line_length = false
|
||||
|
@ -57,35 +57,56 @@ if minetest.get_modpath("moreblocks") then
|
||||
tiles={"technic_stainless_steel_block.png"},
|
||||
})
|
||||
|
||||
-- FIXME: Clean this function up somehow
|
||||
local function register_technic_stairs_alias(modname, origname, newmod, newname)
|
||||
minetest.register_alias(modname .. ":slab_" .. origname, newmod..":slab_" .. newname)
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_inverted", newmod..":slab_" .. newname .. "_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_inverted", newmod..":slab_" .. newname .. "_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_wall", newmod..":slab_" .. newname .. "_wall")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter", newmod..":slab_" .. newname .. "_quarter")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter_inverted", newmod..":slab_" .. newname .. "_quarter_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_quarter_wall", newmod..":slab_" .. newname .. "_quarter_wall")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter", newmod..":slab_" .. newname .. "_three_quarter")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter_inverted", newmod..":slab_" .. newname .. "_three_quarter_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname .. "_three_quarter_wall", newmod..":slab_" .. newname .. "_three_quarter_wall")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_quarter", newmod..":slab_" .. newname .. "_quarter")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_quarter_inverted", newmod..":slab_" .. newname .. "_quarter_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_quarter_wall", newmod..":slab_" .. newname .. "_quarter_wall")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_three_quarter", newmod..":slab_" .. newname .. "_three_quarter")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_three_quarter_inverted", newmod..":slab_" .. newname .. "_three_quarter_inverted")
|
||||
minetest.register_alias(modname .. ":slab_" .. origname ..
|
||||
"_three_quarter_wall", newmod..":slab_" .. newname .. "_three_quarter_wall")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname, newmod..":stair_" .. newname)
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_inverted", newmod..":stair_" .. newname .. "_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_inverted", newmod..":stair_" .. newname .. "_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_wall", newmod..":stair_" .. newname .. "_wall")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_wall_half", newmod..":stair_" .. newname .. "_wall_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_half", newmod..":stair_" .. newname .. "_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_half_inverted", newmod..":stair_" .. newname .. "_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_right_half", newmod..":stair_" .. newname .. "_right_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_right_half_inverted", newmod..":stair_" .. newname .. "_right_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half", newmod..":stair_" .. newname .. "_wall_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_half_inverted", newmod..":stair_" .. newname .. "_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_right_half", newmod..":stair_" .. newname .. "_right_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_right_half_inverted", newmod..":stair_" .. newname .. "_right_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_wall_half", newmod..":stair_" .. newname .. "_wall_half")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_wall_half_inverted", newmod..":stair_" .. newname .. "_wall_half_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_inner", newmod..":stair_" .. newname .. "_inner")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_inner_inverted", newmod..":stair_" .. newname .. "_inner_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_inner_inverted", newmod..":stair_" .. newname .. "_inner_inverted")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_outer", newmod..":stair_" .. newname .. "_outer")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname .. "_outer_inverted", newmod..":stair_" .. newname .. "_outer_inverted")
|
||||
minetest.register_alias(modname .. ":panel_" .. origname .. "_bottom", newmod..":panel_" .. newname .. "_bottom")
|
||||
minetest.register_alias(modname .. ":stair_" .. origname ..
|
||||
"_outer_inverted", newmod..":stair_" .. newname .. "_outer_inverted")
|
||||
minetest.register_alias(modname .. ":panel_" .. origname ..
|
||||
"_bottom", newmod..":panel_" .. newname .. "_bottom")
|
||||
minetest.register_alias(modname .. ":panel_" .. origname .. "_top", newmod..":panel_" .. newname .. "_top")
|
||||
minetest.register_alias(modname .. ":panel_" .. origname .. "_vertical", newmod..":panel_" .. newname .. "_vertical")
|
||||
minetest.register_alias(modname .. ":micro_" .. origname .. "_bottom", newmod..":micro_" .. newname .. "_bottom")
|
||||
minetest.register_alias(modname .. ":panel_" .. origname ..
|
||||
"_vertical", newmod..":panel_" .. newname .. "_vertical")
|
||||
minetest.register_alias(modname .. ":micro_" .. origname ..
|
||||
"_bottom", newmod..":micro_" .. newname .. "_bottom")
|
||||
minetest.register_alias(modname .. ":micro_" .. origname .. "_top", newmod..":micro_" .. newname .. "_top")
|
||||
end
|
||||
|
||||
|
@ -16,7 +16,22 @@ technic.modpath = modpath
|
||||
if rawget(_G, "intllib") then
|
||||
technic.getter = intllib.Getter()
|
||||
else
|
||||
technic.getter = function(s,a,...)if a==nil then return s end a={a,...}return s:gsub("(@?)@(%(?)(%d+)(%)?)",function(e,o,n,c)if e==""then return a[tonumber(n)]..(o==""and c or"")else return"@"..o..n..c end end) end
|
||||
technic.getter = function(s, a, ...)
|
||||
if a == nil then
|
||||
return s
|
||||
end
|
||||
a = {a, ...}
|
||||
return s:gsub(
|
||||
"(@?)@(%(?)(%d+)(%)?)",
|
||||
function(e, o, n, c)
|
||||
if e == "" then
|
||||
return a[tonumber(n)] .. (o == "" and c or "")
|
||||
else
|
||||
return "@" .. o .. n .. c
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
local S = technic.getter
|
||||
|
||||
|
@ -121,9 +121,11 @@ local function set_forcefield_formspec(meta)
|
||||
formspec = formspec.."button[0,1;5,1;mesecon_mode_0;"..S("Controlled by Mesecon Signal").."]"
|
||||
end
|
||||
if meta:get_int("enabled") == 0 then
|
||||
formspec = formspec.."button[0,1.75;5,1;enable;"..S("%s Disabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
|
||||
formspec = formspec..
|
||||
"button[0,1.75;5,1;enable;"..S("%s Disabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
|
||||
else
|
||||
formspec = formspec.."button[0,1.75;5,1;disable;"..S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
|
||||
formspec = formspec..
|
||||
"button[0,1.75;5,1;disable;"..S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]"
|
||||
end
|
||||
meta:set_string("formspec", formspec)
|
||||
end
|
||||
|
@ -82,7 +82,11 @@ local function set_quarry_status(pos)
|
||||
else
|
||||
local rel_y = meta:get_int("dig_level") - pos.y
|
||||
status = S("Digging %d m "..(rel_y > 0 and "above" or "below").." machine"):format(math.abs(rel_y))
|
||||
meta:set_string("infotext", S(meta:get_int("HV_EU_input") >= quarry_demand and "%s Active" or "%s Unpowered"):format(machine_name))
|
||||
if meta:get_int("HV_EU_input") >= quarry_demand then
|
||||
meta:set_string("infotext", S("%s Active"):format(machine_name))
|
||||
else
|
||||
meta:set_string("infotext", S("%s Unpowered"):format(machine_name))
|
||||
end
|
||||
meta:set_int("HV_EU_demand", quarry_demand)
|
||||
end
|
||||
else
|
||||
|
@ -36,7 +36,7 @@ technic.register_inductive_machine = function(name)
|
||||
end
|
||||
|
||||
-- Appliances:
|
||||
-- has_supply: pos of supply node if the appliance has a power radiator near with sufficient power for the demand else ""
|
||||
-- has_supply: pos of supply node if the appliance has a power radiator near with sufficient power for the demand
|
||||
-- EU_demand: The power demand of the device.
|
||||
-- EU_charge: Actual use. set to EU_demand if active==1
|
||||
-- active: set to 1 if the device is on
|
||||
|
@ -61,7 +61,8 @@ local function set_display(pos, meta)
|
||||
(meta:get_int("enabled") == 0 and
|
||||
"button[3,2;2,1;enable;"..minetest.formspec_escape(S("Disabled")).."]" or
|
||||
"button[3,2;2,1;disable;"..minetest.formspec_escape(S("Enabled")).."]")..
|
||||
"label[0,3;"..minetest.formspec_escape(S("Keeping %d/%d map blocks loaded"):format(#currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta))).."]")
|
||||
"label[0,3;"..minetest.formspec_escape(S("Keeping %d/%d map blocks loaded"):format(
|
||||
#currently_forceloaded_positions(meta), #compute_forceload_positions(pos, meta))).."]")
|
||||
end
|
||||
|
||||
minetest.register_node("technic:admin_anchor", {
|
||||
@ -80,7 +81,8 @@ minetest.register_node("technic:admin_anchor", {
|
||||
end,
|
||||
can_dig = function (pos, player)
|
||||
local meta = minetest.get_meta(pos)
|
||||
return meta:get_int("locked") == 0 or (player and player:is_player() and player:get_player_name() == meta:get_string("owner"))
|
||||
return meta:get_int("locked") == 0 or (player and player:is_player()
|
||||
and player:get_player_name() == meta:get_string("owner"))
|
||||
end,
|
||||
on_destruct = function (pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
@ -99,7 +101,9 @@ minetest.register_node("technic:admin_anchor", {
|
||||
forceload_off(meta)
|
||||
if fields.disable then meta:set_int("enabled", 0) end
|
||||
if fields.enable then meta:set_int("enabled", 1) end
|
||||
if fields.radius and string.find(fields.radius, "^[0-9]+$") and tonumber(fields.radius) < 256 then meta:set_int("radius", fields.radius) end
|
||||
if fields.radius and string.find(fields.radius, "^[0-9]+$") and tonumber(fields.radius) < 256 then
|
||||
meta:set_int("radius", fields.radius)
|
||||
end
|
||||
if meta:get_int("enabled") ~= 0 then
|
||||
forceload_on(pos, meta)
|
||||
end
|
||||
|
@ -26,7 +26,8 @@ local recipes = {
|
||||
{"technic:silicon_wafer", "technic:gold_dust", "technic:doped_silicon_wafer"},
|
||||
-- from https://en.wikipedia.org/wiki/Carbon_black
|
||||
-- The highest volume use of carbon black is as a reinforcing filler in rubber products, especially tires.
|
||||
-- "[Compounding a] pure gum vulcanizate … with 50% of its weight of carbon black improves its tensile strength and wear resistance …"
|
||||
-- "[Compounding a] pure gum vulcanizate … with 50% of its weight of carbon black
|
||||
-- improves its tensile strength and wear resistance …"
|
||||
{"technic:raw_latex 4", "technic:coal_dust 2", "technic:rubber 6", 2},
|
||||
{"default:ice", "bucket:bucket_empty", "bucket:bucket_water", 1 },
|
||||
{"default:obsidian", "bucket:bucket_empty", "bucket:bucket_lava", 1 },
|
||||
|
@ -51,29 +51,23 @@ local default_extract = dye and "dye:brown 2"
|
||||
-- https://en.wikipedia.org/wiki/Catechu ancient brown dye from the wood of acacia trees
|
||||
local acacia_extract = dye and "dye:brown 8"
|
||||
|
||||
register_tree_grinding("Common Tree", "group:tree", "group:wood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:tree", "default:wood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:aspen_tree", "default:aspen_wood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:jungletree", "default:junglewood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:pine_tree", "default:pine_wood", default_extract)
|
||||
register_tree_grinding("Rubber Tree", "moretrees:rubber_tree_trunk", rubber_tree_planks, "technic:raw_latex")
|
||||
register_tree_grinding("Rubber Tree", "moretrees:rubber_tree_trunk_empty", nil, "technic:raw_latex")
|
||||
-- technic recipes don't support groups yet :/
|
||||
--register_tree_grinding("Common Tree", "group:tree", "group:wood", default_extract)
|
||||
|
||||
register_tree_grinding("Acacia", "default:acacia_tree", "default:acacia_wood", acacia_extract)
|
||||
register_tree_grinding("Common Tree", "default:tree", "default:wood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:aspen_tree", "default:aspen_wood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:jungletree", "default:junglewood", default_extract)
|
||||
register_tree_grinding("Common Tree", "default:pine_tree", "default:pine_wood", default_extract)
|
||||
register_tree_grinding("Rubber Tree", "moretrees:rubber_tree_trunk", rubber_tree_planks, "technic:raw_latex")
|
||||
register_tree_grinding("Rubber Tree", "moretrees:rubber_tree_trunk_empty", nil, "technic:raw_latex")
|
||||
|
||||
if moretrees then
|
||||
register_tree_grinding("Common Tree", "moretrees:beech_tree_trunk", "moretrees:beech_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:apple_tree_trunk", "moretrees:apple_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:oak_tree_trunk", "moretrees:oak_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:giant_sequoia_trunk", "moretrees:giant_sequoia_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:birch_tree_trunk", "moretrees:birch_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:palm_tree_trunk", "moretrees:palm_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:date_palm_tree_trunk", "moretrees:date_palm_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:spruce_tree_trunk", "moretrees:spruce_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:ceder_tree_trunk", "moretrees:ceder_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:poplar_tree_trunk", "moretrees:poplar_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:wollow_tree_trunk", "moretrees:wollow_tree_planks", default_extract)
|
||||
register_tree_grinding("Common Tree", "moretrees:douglas_fir_trunk", "moretrees:douglas_fir_planks", default_extract)
|
||||
|
||||
register_tree_grinding("Acacia", "moretrees:acacia_trunk", "moretrees:acacia_planks", acacia_extract)
|
||||
else
|
||||
register_tree_grinding("Acacia", "default:acacia_tree", "default:acacia_wood", acacia_extract)
|
||||
local trees = {
|
||||
"beech", "apple_tree", "oak", "sequoia", "birch", "palm",
|
||||
"date_palm", "spruce", "cedar", "poplar", "willow", "fir"
|
||||
}
|
||||
for _,tree in pairs(trees) do
|
||||
register_tree_grinding("Common Tree", "moretrees:"..tree.."_trunk", "moretrees:"..tree.."_planks", default_extract)
|
||||
end
|
||||
end
|
||||
|
@ -44,7 +44,10 @@ end
|
||||
|
||||
-- Wear down a tool depending on the remaining charge.
|
||||
function technic.set_RE_wear(itemstack, item_load, max_load)
|
||||
if (minetest.registered_items[itemstack:get_name()].wear_represents or "mechanical_wear") ~= "technic_RE_charge" then return itemstack end
|
||||
if (minetest.registered_items[itemstack:get_name()].wear_represents
|
||||
or "mechanical_wear") ~= "technic_RE_charge" then
|
||||
return itemstack
|
||||
end
|
||||
local temp
|
||||
if item_load == 0 then
|
||||
temp = 0
|
||||
|
@ -36,7 +36,8 @@ function technic.register_can(d)
|
||||
local charge = get_can_level(itemstack)
|
||||
if charge == data.can_capacity then return end
|
||||
if minetest.is_protected(pointed_thing.under, user:get_player_name()) then
|
||||
minetest.log("action", user:get_player_name().." tried to take "..node.name.." at protected position "..minetest.pos_to_string(pointed_thing.under).." with a "..data.can_name)
|
||||
minetest.log("action", user:get_player_name().." tried to take "..node.name..
|
||||
" at protected position "..minetest.pos_to_string(pointed_thing.under).." with a "..data.can_name)
|
||||
return
|
||||
end
|
||||
minetest.remove_node(pointed_thing.under)
|
||||
@ -63,7 +64,8 @@ function technic.register_can(d)
|
||||
local charge = get_can_level(itemstack)
|
||||
if charge == 0 then return end
|
||||
if minetest.is_protected(pos, user:get_player_name()) then
|
||||
minetest.log("action", user:get_player_name().." tried to place "..data.liquid_source_name.." at protected position "..minetest.pos_to_string(pos).." with a "..data.can_name)
|
||||
minetest.log("action", user:get_player_name().." tried to place "..data.liquid_source_name..
|
||||
" at protected position "..minetest.pos_to_string(pos).." with a "..data.can_name)
|
||||
return
|
||||
end
|
||||
minetest.set_node(pos, {name=data.liquid_source_name})
|
||||
|
@ -250,7 +250,8 @@ local function mining_drill_mk2_setmode(user,itemstack)
|
||||
local mode=meta["mode"]
|
||||
mode=mode+1
|
||||
if mode>=5 then mode=1 end
|
||||
minetest.chat_send_player(player_name, S("Mining Drill Mk%d Mode %d"):format(2, mode)..": "..mining_drill_mode_text[mode][1])
|
||||
minetest.chat_send_player(player_name,
|
||||
S("Mining Drill Mk%d Mode %d"):format(2, mode)..": "..mining_drill_mode_text[mode][1])
|
||||
itemstack:set_name("technic:mining_drill_mk2_"..mode);
|
||||
meta["mode"]=mode
|
||||
itemstack:set_metadata(minetest.serialize(meta))
|
||||
@ -268,7 +269,8 @@ local function mining_drill_mk3_setmode(user,itemstack)
|
||||
local mode=meta["mode"]
|
||||
mode=mode+1
|
||||
if mode>=6 then mode=1 end
|
||||
minetest.chat_send_player(player_name, S("Mining Drill Mk%d Mode %d"):format(3, mode)..": "..mining_drill_mode_text[mode][1])
|
||||
minetest.chat_send_player(player_name,
|
||||
S("Mining Drill Mk%d Mode %d"):format(3, mode)..": "..mining_drill_mode_text[mode][1])
|
||||
itemstack:set_name("technic:mining_drill_mk3_"..mode);
|
||||
meta["mode"]=mode
|
||||
itemstack:set_metadata(minetest.serialize(meta))
|
||||
|
@ -42,13 +42,19 @@ minetest.register_tool("technic:prospector", {
|
||||
for f = 0, toolmeta.look_depth-1 do
|
||||
for r = 0, look_diameter-1 do
|
||||
for u = 0, look_diameter-1 do
|
||||
if minetest.get_node(vector.add(vector.add(vector.add(base_pos, vector.multiply(forward, f)), vector.multiply(right, r)), vector.multiply(up, u))).name == toolmeta.target then found = true end
|
||||
if minetest.get_node(vector.add(vector.add(vector.add(base_pos, vector.multiply(forward, f)),
|
||||
vector.multiply(right, r)), vector.multiply(up, u))).name == toolmeta.target then
|
||||
found = true
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if math.random() < 0.02 then found = not found end
|
||||
minetest.chat_send_player(user:get_player_name(), minetest.registered_nodes[toolmeta.target].description.." is "..(found and "present" or "absent").." in "..look_diameter.."x"..look_diameter.."x"..toolmeta.look_depth.." region")
|
||||
minetest.sound_play("technic_prospector_"..(found and "hit" or "miss"), { pos = vector.add(user:get_pos(), { x = 0, y = 1, z = 0 }), gain = 1.0, max_hear_distance = 10 })
|
||||
minetest.chat_send_player(user:get_player_name(), minetest.registered_nodes[toolmeta.target].description..
|
||||
" is "..(found and "present" or "absent").." in "..look_diameter..
|
||||
"x"..look_diameter.."x"..toolmeta.look_depth.." region")
|
||||
minetest.sound_play("technic_prospector_"..(found and "hit" or "miss"),
|
||||
{ pos = vector.add(user:get_pos(), { x = 0, y = 1, z = 0 }), gain = 1.0, max_hear_distance = 10 })
|
||||
return toolstack
|
||||
end,
|
||||
on_place = function(toolstack, user, pointed_thing)
|
||||
|
@ -67,7 +67,9 @@ minetest.register_abm({
|
||||
interval = 60,
|
||||
chance = 15,
|
||||
action = function(pos, node)
|
||||
if minetest.find_node_near(pos, (moretrees and moretrees.leafdecay_radius) or 5, {"moretrees:rubber_tree_leaves"}) then
|
||||
local radius = (moretrees and moretrees.leafdecay_radius) or 5
|
||||
local nodes = minetest.find_node_near(pos, radius, {"moretrees:rubber_tree_leaves"})
|
||||
if nodes then
|
||||
node.name = "moretrees:rubber_tree_trunk"
|
||||
minetest.swap_node(pos, node)
|
||||
end
|
||||
|
@ -326,9 +326,14 @@ function technic_cnc.register_all(recipeitem, groups, images, description)
|
||||
end
|
||||
|
||||
|
||||
-- REGISTER NEW TECHNIC_CNC_API's PART 2: technic_cnc..register_element_end(subname, recipeitem, groups, images, desc_element_xyz)
|
||||
-----------------------------------------------------------------------------------------------------------------------
|
||||
function technic_cnc.register_slope_edge_etc(recipeitem, groups, images, desc_slope, desc_slope_lying, desc_slope_upsdown, desc_slope_edge, desc_slope_inner_edge, desc_slope_upsdwn_edge, desc_slope_upsdwn_inner_edge, desc_pyramid, desc_spike, desc_onecurvededge, desc_twocurvededge, desc_cylinder, desc_cylinder_horizontal, desc_spheroid, desc_element_straight, desc_element_edge, desc_element_t, desc_element_cross, desc_element_end)
|
||||
-- REGISTER NEW TECHNIC_CNC_API's PART 2:
|
||||
-- technic_cnc..register_element_end(subname, recipeitem, groups, images, desc_element_xyz)
|
||||
------------------------------------------------------------------------------------------------------------
|
||||
function technic_cnc.register_slope_edge_etc(recipeitem, groups, images, desc_slope, desc_slope_lying,
|
||||
desc_slope_upsdown, desc_slope_edge, desc_slope_inner_edge, desc_slope_upsdwn_edge,
|
||||
desc_slope_upsdwn_inner_edge, desc_pyramid, desc_spike, desc_onecurvededge, desc_twocurvededge,
|
||||
desc_cylinder, desc_cylinder_horizontal, desc_spheroid, desc_element_straight, desc_element_edge,
|
||||
desc_element_t, desc_element_cross, desc_element_end)
|
||||
|
||||
technic_cnc.register_slope(recipeitem, groups, images, desc_slope)
|
||||
technic_cnc.register_slope_lying(recipeitem, groups, images, desc_slope_lying)
|
||||
@ -357,7 +362,8 @@ function technic_cnc.register_stick_etc(recipeitem, groups, images, desc_stick)
|
||||
technic_cnc.register_stick(recipeitem, groups, images, desc_stick)
|
||||
end
|
||||
|
||||
function technic_cnc.register_elements(recipeitem, groups, images, desc_element_straight_double, desc_element_edge_double, desc_element_t_double, desc_element_cross_double, desc_element_end_double)
|
||||
function technic_cnc.register_elements(recipeitem, groups, images, desc_element_straight_double,
|
||||
desc_element_edge_double, desc_element_t_double, desc_element_cross_double, desc_element_end_double)
|
||||
technic_cnc.register_element_straight_double(recipeitem, groups, images, desc_element_straight_double)
|
||||
technic_cnc.register_element_edge_double(recipeitem, groups, images, desc_element_edge_double)
|
||||
technic_cnc.register_element_t_double(recipeitem, groups, images, desc_element_t_double)
|
||||
|
@ -10,7 +10,22 @@ technic_cnc.use_technic = technic_cnc.technic_modpath
|
||||
if rawget(_G, "intllib") then
|
||||
technic_cnc.getter = intllib.Getter()
|
||||
else
|
||||
technic_cnc.getter = function(s,a,...)if a==nil then return s end a={a,...}return s:gsub("(@?)@(%(?)(%d+)(%)?)",function(e,o,n,c)if e==""then return a[tonumber(n)]..(o==""and c or"")else return"@"..o..n..c end end) end
|
||||
technic_cnc.getter = function(s, a, ...)
|
||||
if a == nil then
|
||||
return s
|
||||
end
|
||||
a = {a, ...}
|
||||
return s:gsub(
|
||||
"(@?)@(%(?)(%d+)(%)?)",
|
||||
function(e, o, n, c)
|
||||
if e == "" then
|
||||
return a[tonumber(n)] .. (o == "" and c or "")
|
||||
else
|
||||
return "@" .. o .. n .. c
|
||||
end
|
||||
end
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
dofile(modpath.."/cnc.lua")
|
||||
|
Loading…
x
Reference in New Issue
Block a user