bugfixes for pump, fuelcell, oil drillbox, Lua server, ICTA controller, Lua controller, Door controller. lamp holder added
This commit is contained in:
parent
0815c6b485
commit
5191d74f5f
@ -48,19 +48,19 @@ local function formspec(self, pos, nvm)
|
|||||||
"image[2,1.5;1,1;techage_form_arrow_fg.png^[transformR270]"..
|
"image[2,1.5;1,1;techage_form_arrow_fg.png^[transformR270]"..
|
||||||
"image_button[2,2.5;1,1;".. self:get_state_button_image(nvm) ..";state_button;]"..
|
"image_button[2,2.5;1,1;".. self:get_state_button_image(nvm) ..";state_button;]"..
|
||||||
"tooltip[2,2.5;1,1;"..self:get_state_tooltip(nvm).."]"..
|
"tooltip[2,2.5;1,1;"..self:get_state_tooltip(nvm).."]"..
|
||||||
techage.power.formspec_label_bar(3.5, 0.8, S("Electricity"), PWR_CAPA, nvm.provided)
|
techage.power.formspec_label_bar(3.5, 0.8, S("Electricity"), PWR_CAPA, nvm.given)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function start_node(pos, nvm, state)
|
local function start_node(pos, nvm, state)
|
||||||
nvm.running = true
|
nvm.running = true
|
||||||
nvm.provided = 0
|
nvm.given = 0
|
||||||
local outdir = M(pos):get_int("outdir")
|
local outdir = M(pos):get_int("outdir")
|
||||||
power.generator_start(pos, Cable, CYCLE_TIME, outdir)
|
power.generator_start(pos, Cable, CYCLE_TIME, outdir)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function stop_node(pos, nvm, state)
|
local function stop_node(pos, nvm, state)
|
||||||
nvm.running = false
|
nvm.running = false
|
||||||
nvm.provided = 0
|
nvm.given = 0
|
||||||
local outdir = M(pos):get_int("outdir")
|
local outdir = M(pos):get_int("outdir")
|
||||||
power.generator_stop(pos, Cable, outdir)
|
power.generator_stop(pos, Cable, outdir)
|
||||||
end
|
end
|
||||||
|
@ -502,8 +502,8 @@ techage.register_node({"techage:ta4_icta_controller"}, {
|
|||||||
elseif state == techage.RUNNING and topic == "off" then
|
elseif state == techage.RUNNING and topic == "off" then
|
||||||
set_input(pos, number, src, topic)
|
set_input(pos, number, src, topic)
|
||||||
elseif topic == "state" then
|
elseif topic == "state" then
|
||||||
local state = meta:get_int("state")
|
local state = meta:get_int("state") or 0
|
||||||
return techage.StateStrings(state)
|
return techage.StateStrings[state] or "stopped"
|
||||||
else
|
else
|
||||||
return "unsupported"
|
return "unsupported"
|
||||||
end
|
end
|
||||||
|
1
init.lua
1
init.lua
@ -150,6 +150,7 @@ else
|
|||||||
dofile(MP.."/lamps/industriallamp3.lua")
|
dofile(MP.."/lamps/industriallamp3.lua")
|
||||||
dofile(MP.."/lamps/industriallamp4.lua")
|
dofile(MP.."/lamps/industriallamp4.lua")
|
||||||
dofile(MP.."/lamps/growlight.lua")
|
dofile(MP.."/lamps/growlight.lua")
|
||||||
|
dofile(MP.."/lamps/lampholder.lua")
|
||||||
|
|
||||||
-- Oil
|
-- Oil
|
||||||
dofile(MP.."/oil/explore.lua")
|
dofile(MP.."/oil/explore.lua")
|
||||||
|
115
lamps/lampholder.lua
Normal file
115
lamps/lampholder.lua
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
--[[
|
||||||
|
|
||||||
|
TechAge
|
||||||
|
=======
|
||||||
|
|
||||||
|
Copyright (C) 2020 Joachim Stolberg
|
||||||
|
|
||||||
|
GPL v3
|
||||||
|
See LICENSE.txt for more information
|
||||||
|
|
||||||
|
TA3/4 Lamp Holder
|
||||||
|
|
||||||
|
]]--
|
||||||
|
|
||||||
|
local S = techage.S
|
||||||
|
|
||||||
|
local function register_holder(name, description, png)
|
||||||
|
minetest.register_node(name, {
|
||||||
|
description = description,
|
||||||
|
tiles = {png},
|
||||||
|
paramtype2 = "facedir", -- important!
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "connected",
|
||||||
|
fixed = {{ -4/32, -4/32, -4/32, 4/32, 4/32, 4/32}},
|
||||||
|
|
||||||
|
connect_top = {{ -3/32, -3/32, -3/32, 3/32, 16/32, 3/32}},
|
||||||
|
connect_bottom = {{ -3/32, -16/32, -3/32, 3/32, 3/32, 3/32}},
|
||||||
|
connect_left = {{-16/32, -3/32, -3/32, 3/32, 3/32, 3/32}},
|
||||||
|
connect_right = {{ -3/32, -3/32, -3/32, 16/32, 3/32, 3/32}},
|
||||||
|
connect_back = {{ -3/32, -3/32, -3/32, 3/32, 3/32, 16/32}},
|
||||||
|
connect_front = {{ -3/32, -3/32, -16/32, 3/32, 3/32, 3/32}},
|
||||||
|
},
|
||||||
|
connects_to = {
|
||||||
|
"techage:ceilinglamp_off", "techage:ceilinglamp_on",
|
||||||
|
"techage:growlight_off", "techage:growlight_on",
|
||||||
|
"techage:industriallamp1_off", "techage:industriallamp1_on",
|
||||||
|
"techage:industriallamp2_off", "techage:industriallamp2_on",
|
||||||
|
"techage:industriallamp3_off", "techage:industriallamp3_on",
|
||||||
|
"techage:industriallamp4_off", "techage:industriallamp4_on",
|
||||||
|
"techage:simplelamp_off", "techage:simplelamp_on",
|
||||||
|
"techage:streetlamp_off", "techage:streetlamp_on",
|
||||||
|
"techage:streetlamp2_off", "techage:streetlamp2_on",
|
||||||
|
"techage:streetlamp_arm", "techage:streetlamp_pole",
|
||||||
|
"techage:streetlamp2_off", "techage:streetlamp2_on",
|
||||||
|
"techage:power_line", "techage:power_lineS", "techage:power_lineA"
|
||||||
|
},
|
||||||
|
paramtype = "light",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {cracky=2, crumbly=2, choppy=2},
|
||||||
|
sounds = default.node_sound_defaults(),
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
register_holder("techage:lampholder1", S("TA Lamp Holder White"), "techage_streetlamp2_housing.png")
|
||||||
|
register_holder("techage:lampholder2", S("TA Lamp Holder Aspen"), "default_aspen_wood.png")
|
||||||
|
register_holder("techage:lampholder3", S("TA Lamp Holder Acacia"), "default_acacia_wood.png")
|
||||||
|
register_holder("techage:lampholder4", S("TA Lamp Holder Apple"), "default_wood.png")
|
||||||
|
register_holder("techage:lampholder5", S("TA Lamp Holder Copper"), "default_copper_block.png")
|
||||||
|
register_holder("techage:lampholder6", S("TA Lamp Holder Gold"), "default_gold_block.png")
|
||||||
|
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder1 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "dye:white", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder2 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "default:fence_aspen_wood", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder3 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "default:fence_acacia_wood", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder4 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "default:fence_wood", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder5 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "default:copper_ingot", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:lampholder6 2",
|
||||||
|
recipe = {
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
{"", "default:gold_ingot", ""},
|
||||||
|
{"basic_materials:steel_bar", "", "basic_materials:steel_bar"},
|
||||||
|
},
|
||||||
|
})
|
@ -109,6 +109,10 @@ local function node_timer4(pos, elapsed)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local function on_rightclick(pos, node, clicker)
|
local function on_rightclick(pos, node, clicker)
|
||||||
|
if minetest.is_protected(pos, clicker:get_player_name()) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
local nvm = techage.get_nvm(pos)
|
local nvm = techage.get_nvm(pos)
|
||||||
if node.name == "techage:t3_pump" then
|
if node.name == "techage:t3_pump" then
|
||||||
set_starter_name(pos, clicker)
|
set_starter_name(pos, clicker)
|
||||||
|
@ -42,14 +42,14 @@ local function swap_door_nodes(pos, open)
|
|||||||
local nvm = techage.get_nvm(pos)
|
local nvm = techage.get_nvm(pos)
|
||||||
for _,item in ipairs(nvm.door_blocks or {}) do
|
for _,item in ipairs(nvm.door_blocks or {}) do
|
||||||
if item.pos and item.name and item.param2 then
|
if item.pos and item.name and item.param2 then
|
||||||
|
local node = techage.get_node_lvm(item.pos)
|
||||||
if open then
|
if open then
|
||||||
local node = techage.get_node_lvm(item.pos)
|
|
||||||
if node.name == item.name then
|
if node.name == item.name then
|
||||||
minetest.remove_node(item.pos)
|
minetest.remove_node(item.pos)
|
||||||
else
|
else
|
||||||
item.name = nil
|
item.name = nil
|
||||||
end
|
end
|
||||||
else
|
elseif node.name == "air" then
|
||||||
minetest.add_node(item.pos, {name = item.name, param2 = item.param2})
|
minetest.add_node(item.pos, {name = item.name, param2 = item.param2})
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -98,6 +98,7 @@ minetest.register_node("techage:ta3_doorcontroller", {
|
|||||||
end,
|
end,
|
||||||
|
|
||||||
after_dig_node = function(pos)
|
after_dig_node = function(pos)
|
||||||
|
swap_door_nodes(pos, false)
|
||||||
techage.remove_node(pos)
|
techage.remove_node(pos)
|
||||||
techage.del_mem(pos)
|
techage.del_mem(pos)
|
||||||
end,
|
end,
|
||||||
|
@ -621,7 +621,7 @@ techage.register_node({"techage:ta4_lua_controller"}, {
|
|||||||
set_input(pos, number, "msg", payload)
|
set_input(pos, number, "msg", payload)
|
||||||
elseif topic == "state" then
|
elseif topic == "state" then
|
||||||
local running = meta:get_int("running") or STATE_STOPPED
|
local running = meta:get_int("running") or STATE_STOPPED
|
||||||
return techage.StateStrings(running)
|
return techage.StateStrings[running] or "stopped"
|
||||||
else
|
else
|
||||||
return "unsupported"
|
return "unsupported"
|
||||||
end
|
end
|
||||||
|
@ -86,6 +86,7 @@ minetest.register_node("techage:ta4_server", {
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
techage.del_mem(pos)
|
techage.del_mem(pos)
|
||||||
|
minetest.node_dig(pos, node, puncher, pointed_thing)
|
||||||
techage.remove_node(pos)
|
techage.remove_node(pos)
|
||||||
end,
|
end,
|
||||||
|
|
||||||
|
@ -56,7 +56,7 @@ local function formspec(self, pos, nvm)
|
|||||||
if not nvm.assemble_build then
|
if not nvm.assemble_build then
|
||||||
return formspec0
|
return formspec0
|
||||||
end
|
end
|
||||||
local depth = M(pos):get_int("depth") - 7 -- oil bubble
|
local depth = M(pos):get_int("depth")
|
||||||
local curr_depth = pos.y - (nvm.drill_pos or pos).y
|
local curr_depth = pos.y - (nvm.drill_pos or pos).y
|
||||||
return "size[8,8]"..
|
return "size[8,8]"..
|
||||||
default.gui_bg..
|
default.gui_bg..
|
||||||
@ -134,8 +134,8 @@ local function drilling(pos, crd, nvm, inv)
|
|||||||
if not inv:contains_item("src", ItemStack("techage:oil_drillbit")) then
|
if not inv:contains_item("src", ItemStack("techage:oil_drillbit")) then
|
||||||
crd.State:idle(pos, nvm, S("Drill bits missing"))
|
crd.State:idle(pos, nvm, S("Drill bits missing"))
|
||||||
elseif curr_depth >= depth then
|
elseif curr_depth >= depth then
|
||||||
M(pos):set_string("oil_found", "false")
|
M(pos):set_string("oil_found", "true")
|
||||||
crd.State:blocked(pos, nvm, S("No oil found"))
|
crd.State:stop(pos, nvm)
|
||||||
elseif node.name == "techage:oilstorage" then -- old oil bubble node?
|
elseif node.name == "techage:oilstorage" then -- old oil bubble node?
|
||||||
nvm.drill_pos.y = nvm.drill_pos.y-1
|
nvm.drill_pos.y = nvm.drill_pos.y-1
|
||||||
crd.State:keep_running(pos, nvm, COUNTDOWN_TICKS)
|
crd.State:keep_running(pos, nvm, COUNTDOWN_TICKS)
|
||||||
@ -278,7 +278,7 @@ local _, node_name_ta3, _ =
|
|||||||
inv:set_size("src", 1)
|
inv:set_size("src", 1)
|
||||||
inv:set_size("dst", 1)
|
inv:set_size("dst", 1)
|
||||||
local info = techage.explore.get_oil_info(pos)
|
local info = techage.explore.get_oil_info(pos)
|
||||||
M(pos):set_int("depth", info.depth)
|
M(pos):set_int("depth", info.depth - 5) -- oil bubble
|
||||||
M(pos):set_int("amount", info.amount)
|
M(pos):set_int("amount", info.amount)
|
||||||
M(pos):set_string("oil_found", "false")
|
M(pos):set_string("oil_found", "false")
|
||||||
M(pos):set_string("owner", placer:get_player_name())
|
M(pos):set_string("owner", placer:get_player_name())
|
||||||
|
Loading…
Reference in New Issue
Block a user