v0.20 with improvements and bugfixes
This commit is contained in:
parent
c1c7af6acc
commit
c6082ef8ce
@ -31,6 +31,8 @@ Copyright (C) 2019-2020 Joachim Stolberg
|
|||||||
Code: Licensed under the GNU GPL version 3 or later. See LICENSE.txt
|
Code: Licensed under the GNU GPL version 3 or later. See LICENSE.txt
|
||||||
Textures: CC BY-SA 3.0
|
Textures: CC BY-SA 3.0
|
||||||
|
|
||||||
|
Many thanks to Thomas-S for his contributions
|
||||||
|
|
||||||
|
|
||||||
### Dependencies
|
### Dependencies
|
||||||
Required: default, doors, bucket, stairs, screwdriver, basic_materials, tubelib2, minecart, lcdlib, safer_lua
|
Required: default, doors, bucket, stairs, screwdriver, basic_materials, tubelib2, minecart, lcdlib, safer_lua
|
||||||
@ -75,6 +77,12 @@ Available worlds will be converted to 'lsqlite3', but there is no way back, so:
|
|||||||
|
|
||||||
### History
|
### History
|
||||||
|
|
||||||
|
**2020-07-31 V0.20**
|
||||||
|
- Pull request #21: Lua Controller: Allow to get itemstring and description of 8x2000 chest contents (from Thomas-S)
|
||||||
|
- Pull request #22: Trowel: Prevent hidden nodes from being dug (from Thomas-S)
|
||||||
|
- Improvement: TA3 Power Terminal: Outputs max needed power in addition
|
||||||
|
- Bugfix: Quarry: Shall not dig Techage Light Blocks
|
||||||
|
|
||||||
**2020-07-24 V0.19**
|
**2020-07-24 V0.19**
|
||||||
- Pull request #19: Refactor ICTA to use functions instead of loadstring (from Thomas-S)
|
- Pull request #19: Refactor ICTA to use functions instead of loadstring (from Thomas-S)
|
||||||
- State command added for cart-, node-, and player detectors
|
- State command added for cart-, node-, and player detectors
|
||||||
|
@ -26,7 +26,7 @@ local networks = techage.networks
|
|||||||
local STANDBY_TICKS = 4
|
local STANDBY_TICKS = 4
|
||||||
local COUNTDOWN_TICKS = 4
|
local COUNTDOWN_TICKS = 4
|
||||||
local CYCLE_TIME = 2
|
local CYCLE_TIME = 2
|
||||||
local PWR_CAPA = 20
|
local PWR_CAPA = 100
|
||||||
|
|
||||||
local function formspec(self, pos, nvm)
|
local function formspec(self, pos, nvm)
|
||||||
return "size[4,4]"..
|
return "size[4,4]"..
|
||||||
|
@ -164,6 +164,7 @@ end
|
|||||||
function techage.dropped_node(node, ndef)
|
function techage.dropped_node(node, ndef)
|
||||||
if node.name == "air" then return end
|
if node.name == "air" then return end
|
||||||
--if ndef.buildable_to == true then return end
|
--if ndef.buildable_to == true then return end
|
||||||
|
if not ndef.diggable then return end
|
||||||
if ndef.drop == "" then return end
|
if ndef.drop == "" then return end
|
||||||
if type(ndef.drop) == "table" then
|
if type(ndef.drop) == "table" then
|
||||||
return handle_drop(ndef.drop)
|
return handle_drop(ndef.drop)
|
||||||
|
@ -39,6 +39,7 @@ minetest.register_node("techage:lightblock", {
|
|||||||
floodable = true,
|
floodable = true,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
groups = {not_in_creative_inventory=1},
|
groups = {not_in_creative_inventory=1},
|
||||||
|
drop = "",
|
||||||
})
|
})
|
||||||
|
|
||||||
function techage.light_ring(center_pos, on, large)
|
function techage.light_ring(center_pos, on, large)
|
||||||
|
@ -147,3 +147,16 @@ function techage.power.power_distribution(network, tlib_type, netID, cycle_time)
|
|||||||
set_taken_values(network.con2, 0, tlib_type)
|
set_taken_values(network.con2, 0, tlib_type)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- determine the maxiumum needed power of all con1 consumers
|
||||||
|
function techage.power.get_con1_sum(network, tlib_type)
|
||||||
|
local sum = 0
|
||||||
|
for _,v in ipairs(network.con1 or {}) do
|
||||||
|
local nvm = techage.get_nvm(v.pos)
|
||||||
|
local def = nvm[tlib_type] -- power related network data
|
||||||
|
if def and def["cstate"] ~= STOPPED then
|
||||||
|
sum = sum + v.nominal
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return sum
|
||||||
|
end
|
||||||
|
@ -188,11 +188,14 @@ end
|
|||||||
|
|
||||||
local function get_state(netw)
|
local function get_state(netw)
|
||||||
local state = ""
|
local state = ""
|
||||||
|
local needed = techage.power.get_con1_sum(netw, "ele1") or 0
|
||||||
|
|
||||||
if #(netw.gen1 or {}) + #(netw.gen2 or {}) == 0 then
|
if #(netw.gen1 or {}) + #(netw.gen2 or {}) == 0 then
|
||||||
state = S("No power grid or running generator!")
|
state = S("No power grid or running generator!")
|
||||||
|
elseif needed > (netw.available1 or 0) then
|
||||||
|
state = S("Probably too many consumers (")..needed..S(" ku is needed!)")
|
||||||
elseif (netw.num_nodes or 0) < techage.networks.MAX_NUM_NODES then
|
elseif (netw.num_nodes or 0) < techage.networks.MAX_NUM_NODES then
|
||||||
state = S("Number of power grid blocks")..": "..(netw.num_nodes or 0)
|
state = S("Number of power grid blocks")..": "..(netw.num_nodes or 0)..", "..S("Max. needed power")..": "..needed.. " ku"
|
||||||
else
|
else
|
||||||
state = S("To many blocks in the power grid!")
|
state = S("To many blocks in the power grid!")
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user