funnel removed, quarry added, hopper removed, instead use of minecart hopper

master
Joachim Stolberg 2020-02-16 18:10:40 +01:00
parent 402c00a584
commit 4f17604cb1
19 changed files with 686 additions and 303 deletions

View File

@ -1,233 +0,0 @@
--[[
TechAge
=======
Copyright (C) 2019-2020 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
TA3 Funnel
]]--
-- for lazy programmers
local M = minetest.get_meta
local S = techage.S
local CYCLE_TIME = 2
local function start_node(pos, nvm)
nvm.running = true
minetest.get_node_timer(pos):start(CYCLE_TIME)
local meta = M(pos)
local own_num = meta:get_string("node_number")
meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : running")
end
local function stop_node(pos, nvm)
nvm.running = false
minetest.get_node_timer(pos):stop()
local meta = M(pos)
local own_num = meta:get_string("node_number")
meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : stopped")
end
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end
local function formspec(nvm)
local state = techage.STOPPED
if nvm.running then
state = techage.RUNNING
end
return "size[9,7]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"list[context;main;0.5,0;8,2;]"..
"image_button[4,2.1;1,1;"..techage.state_button(state)..";state_button;]"..
"list[current_player;main;0.5,3.3;8,4;]"..
"listring[context;main]"..
"listring[current_player;main]"
end
local function scan_for_objects(pos, elapsed)
local nvm = techage.get_nvm(pos)
if not nvm.running then
return false
end
local meta = minetest.get_meta(pos)
local inv = meta:get_inventory()
for _, object in pairs(minetest.get_objects_inside_radius(pos, 1)) do
local lua_entity = object:get_luaentity()
if not object:is_player() and lua_entity and lua_entity.name == "__builtin:item" then
local obj_pos = object:getpos()
if lua_entity.itemstring ~= "" and ((obj_pos.y - pos.y) >= 0.4) then
local stack = ItemStack(lua_entity.itemstring)
if inv:room_for_item("main", stack) then
inv:add_item("main", stack)
object:remove()
end
end
end
end
return true
end
minetest.register_node("techage:ta3_funnel", {
description = S("TA3 Funnel"),
tiles = {
-- up, down, right, left, back, front
"techage_filling_ta3.png^techage_appl_funnel_top.png^techage_frame_ta3_top.png",
"techage_filling_ta3.png^techage_frame_ta3.png",
"techage_filling_ta3.png^techage_frame_ta3.png^techage_appl_outp.png",
"techage_filling_ta3.png^techage_frame_ta3.png",
"techage_filling_ta3.png^techage_appl_funnel.png^techage_frame_ta3.png",
"techage_filling_ta3.png^techage_appl_funnel.png^techage_frame_ta3.png",
},
drawtype = "nodebox",
paramtype = "light",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -8/16, 8/16, 8/16, -6/16},
{-8/16, -8/16, 6/16, 8/16, 8/16, 8/16},
{-8/16, -8/16, -8/16, -6/16, 8/16, 8/16},
{ 6/16, -8/16, -8/16, 8/16, 8/16, 8/16},
{-6/16, -8/16, -6/16, 6/16, 4/16, 6/16},
},
},
selection_box = {
type = "fixed",
fixed = {-8/16, -8/16, -8/16, 8/16, 8/16, 8/16},
},
on_construct = function(pos)
local meta = M(pos)
local inv = meta:get_inventory()
inv:set_size('main', 16)
end,
after_place_node = function(pos, placer)
local meta = M(pos)
local nvm = techage.get_nvm(pos)
nvm.running = false
local own_num = techage.add_node(pos, "techage:ta3_funnel")
local node = minetest.get_node(pos)
meta:set_string("node_number", own_num)
meta:set_string("owner", placer:get_player_name())
meta:set_string("infotext", S("TA3 Funnel").." "..own_num.." : stopped")
meta:set_string("formspec", formspec(nvm))
meta:set_int("pull_dir", techage.side_to_indir("R", node.param2))
end,
on_timer = scan_for_objects,
on_receive_fields = function(pos, formname, fields, player)
if minetest.is_protected(pos, player:get_player_name()) then
return
end
local meta = M(pos)
local nvm = techage.get_nvm(pos)
if fields.state_button ~= nil then
if nvm.running then
stop_node(pos, nvm)
else
start_node(pos, nvm)
end
end
meta:set_string("formspec", formspec(nvm))
end,
can_dig = function(pos, player)
if minetest.is_protected(pos, player:get_player_name()) then
return false
end
local inv = M(pos):get_inventory()
return inv:is_empty("main")
end,
after_dig_node = function(pos, oldnode, oldmetadata, digger)
techage.remove_node(pos)
techage.del_nem(pos)
end,
allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_take = allow_metadata_inventory_take,
paramtype2 = "facedir",
groups = {choppy=2, cracky=2, crumbly=2},
is_ground_content = false,
sounds = default.node_sound_wood_defaults(),
})
techage.register_node({"techage:ta3_funnel"}, {
on_pull_item = function(pos, in_dir, num)
local meta = minetest.get_meta(pos)
if meta:get_int("pull_dir") == in_dir then
local inv = M(pos):get_inventory()
return techage.get_items(inv, "main", num)
end
end,
on_unpull_item = function(pos, in_dir, stack)
local meta = minetest.get_meta(pos)
if meta:get_int("pull_dir") == in_dir then
local inv = M(pos):get_inventory()
return techage.put_items(inv, "main", stack)
end
end,
on_recv_message = function(pos, src, topic, payload)
local nvm = techage.get_nvm(pos)
if topic == "state" then
if nvm.running then
return "running"
else
return "stopped"
end
elseif topic == "on" then
if not nvm.running then
start_node(pos, nvm)
end
elseif topic == "off" then
if nvm.running then
stop_node(pos, nvm)
end
else
return "unsupported"
end
end,
on_node_load = function(pos)
local nvm = techage.get_nvm(pos)
if nvm.running then
minetest.get_node_timer(pos):start(CYCLE_TIME)
end
end,
})
minetest.register_craft({
output = "techage:ta3_funnel",
recipe = {
{"group:wood", "", "group:wood"},
{"group:wood", "default:mese_crystal", "techage:tubeS"},
{"group:wood", "techage:iron_ingot", "group:wood"},
},
})

411
basic_machines/quarry.lua Normal file
View File

@ -0,0 +1,411 @@
--[[
TechAge
=======
Copyright (C) 2019 Joachim Stolberg
GPL v3
See LICENSE.txt for more information
Gravel Sieve, sieving gravel to find ores
quarry.lua
Quarry machine to dig stones and other ground blocks.
The Quarry digs a hole 5x5 blocks large and up to 80 blocks deep.
It starts at the given level (0 is same level as the quarry block,
1 is one level higher and so on)) and goes down to the given depth number.
It digs one block every 4 seconds.
]]--
-- for lazy programmers
local P2S = function(pos) if pos then return minetest.pos_to_string(pos) end end
local S2P = minetest.string_to_pos
local M = minetest.get_meta
-- Consumer Related Data
local CRD = function(pos) return (minetest.registered_nodes[techage.get_node_lvm(pos).name] or {}).consumer end
local S = techage.S
local CYCLE_TIME = 4
local STANDBY_TICKS = 4
local COUNTDOWN_TICKS = 4
local Side2Facedir = {F=0, R=1, B=2, L=3, D=4, U=5}
local Depth2Idx = {[1]=1 ,[2]=2, [3]=3, [5]=4, [10]=5, [15]=6, [20]=7, [25]=8, [40]=9, [60]=10, [80]=11}
local Level2Idx = {[2]=1, [1]=2, [0]=3, [-1]=4, [-2]=5, [-3]=6,
[-5]=7, [-10]=8, [-15]=9, [-20]=10}
local function formspec(self, pos, nvm)
local tooltip = S("Start level = 0\nmeans the same Y-level\nas the quarry is placed")
local level = "-"
local index = "-"
if nvm.quarry_pos then
level = nvm.quarry_pos.y - pos.y
index = nvm.idx
end
local depth_list = "1,2,3,5,10,15,20,25,40,60,80"
if CRD(pos).stage == 3 then
depth_list = "1,2,3,5,10,15,20,25,40"
elseif CRD(pos).stage == 2 then
depth_list = "1,2,3,5,10,15,20"
end
nvm.quarry_depth = nvm.quarry_depth or 1
nvm.start_level = nvm.start_level or -1
return "size[8,8]"..
default.gui_bg..
default.gui_bg_img..
default.gui_slots..
"box[0,-0.1;7.8,0.5;#c6e8ff]"..
"label[3.5,-0.1;"..minetest.colorize( "#000000", S("Quarry")).."]"..
techage.question_mark_help(8, tooltip)..
"dropdown[0,0.8;1.5;level;2,1,0,-1,-2,-3,-5,-10,-15,-20;"..Level2Idx[nvm.start_level].."]"..
"label[1.6,0.9;"..S("Start level").."]"..
"dropdown[0,1.8;1.5;depth;"..depth_list..";"..Depth2Idx[nvm.quarry_depth].."]"..
"label[1.6,1.9;"..S("Digging depth").."]"..
"label[0,2.9;"..S("level=")..level..", "..S("pos=")..index.."/25]"..
"list[context;main;5,0.8;3,3;]"..
"image[4,0.8;1,1;"..techage.get_power_image(pos, nvm).."]"..
"image_button[4,2.8;1,1;".. self:get_state_button_image(nvm) ..";state_button;]"..
"tooltip[4,2.8;1,1;"..self:get_state_tooltip(nvm).."]"..
"list[current_player;main;0,4.3;8,4;]"..
"listring[context;main]"..
"listring[current_player;main]"
end
local function play_sound(pos)
local mem = techage.get_mem(pos)
if not mem.handle or mem.handle == -1 then
mem.handle = minetest.sound_play("techage_quarry", {
pos = pos,
gain = 1.5,
max_hear_distance = 15,
loop = true})
if mem.handle == -1 then
minetest.after(1, play_sound, pos)
end
end
end
local function stop_sound(pos)
local mem = techage.get_mem(pos)
if mem.handle then
minetest.sound_stop(mem.handle)
mem.handle = nil
end
end
local function on_node_state_change(pos, old_state, new_state)
if new_state == techage.RUNNING then
play_sound(pos)
elseif new_state == techage.STOP then
local nvm = techage.get_nvm(pos)
nvm.quarry_pos = nil
stop_sound(pos)
else
local nvm = techage.get_nvm(pos)
stop_sound(pos)
end
end
local function get_pos(pos, facedir, side, steps)
facedir = (facedir + Side2Facedir[side]) % 4
local dir = vector.multiply(minetest.facedir_to_dir(facedir), steps or 1)
return vector.add(pos, dir)
end
local function allow_metadata_inventory_put(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end
local function allow_metadata_inventory_take(pos, listname, index, stack, player)
if minetest.is_protected(pos, player:get_player_name()) then
return 0
end
return stack:get_count()
end
local QuarrySchedule = {3,0,0,3,3,3,3,2,2,2,2,1,1,1,1,0,3,0,0,3,3,2,2,1,0}
local function get_next_pos(pos, facedir, dir)
facedir = (facedir + dir) % 4
return vector.add(pos, core.facedir_to_dir(facedir))
end
local function get_corner_positions(pos, facedir, y_pos)
local start_pos = get_pos(pos, facedir, "L")
local pos1 = get_pos(start_pos, facedir, "F", 2)
local pos2 = get_pos(start_pos, facedir, "B", 2)
pos2 = get_pos(pos2, facedir, "L", 4)
pos1.y = y_pos
pos2.y = y_pos
return pos1, pos2
end
local function check_protection(pos, nvm, facedir, owner)
local pos1, pos2 = get_corner_positions(pos, facedir, nvm.start_y)
while true do
if minetest.is_protected(pos1, owner) then
return false
end
if minetest.is_protected(pos2, owner) then
return false
end
if pos1.y < nvm.stop_y then
break
end
pos1.y = pos1.y - 5
pos2.y = pos2.y - 5
end
return true
end
local function skip_air_levels(pos, nvm, facedir, owner)
local pos1, pos2
pos1, pos2 = get_corner_positions(pos, facedir, nvm.start_y)
while pos1.y >= nvm.stop_y do
local lPos = minetest.find_nodes_in_area(pos1, pos2, {"air"})
if #lPos ~= 25 then break end
pos1.y = pos1.y - 1
pos2.y = pos2.y - 1
end
-- quarry block position with start y-level
nvm.quarry_pos = {x = pos.x, y = pos2.y, z = pos.z}
pos1.y = pos1.y + 0.2
techage.mark_cube(owner, pos1, pos2, "quarry", "#FF0000", 20)
end
local function can_start(pos, nvm, state)
local facedir = minetest.get_node(pos).param2
local owner = M(pos):get_string("owner")
nvm.start_level = nvm.start_level or 0
nvm.quarry_depth = nvm.quarry_depth or 1
nvm.start_y = pos.y + nvm.start_level
nvm.stop_y = nvm.start_y - nvm.quarry_depth + 1
nvm.idx = nvm.idx or 1
if state == techage.STOPPED then
nvm.idx = 1
end
if not check_protection(pos, nvm, facedir, owner) then
return S("Quarry area is protected")
end
skip_air_levels(pos, nvm, facedir, owner)
return true
end
local function on_rightclick(pos, node, clicker)
local nvm = techage.get_nvm(pos)
techage.set_activeformspec(pos, clicker)
M(pos):set_string("formspec", formspec(CRD(pos).State, pos, nvm))
end
local function quarry_next_node(pos, crd, nvm, inv)
if nvm.quarry_pos then
local facedir = minetest.get_node(pos).param2
if nvm.idx <= #QuarrySchedule then
nvm.quarry_pos = get_next_pos(nvm.quarry_pos, facedir, QuarrySchedule[nvm.idx])
nvm.idx = nvm.idx + 1
elseif nvm.quarry_pos.y > nvm.stop_y then
local owner = M(pos):get_string("owner")
local pos1, pos2
pos1, pos2 = get_corner_positions(pos, facedir, nvm.quarry_pos.y - 1)
-- quarry block position with new y-level
nvm.quarry_pos = {x = pos.x, y = pos2.y, z = pos.z}
nvm.idx = 1
pos1.y = pos1.y + 0.2
techage.mark_cube(owner, pos1, pos2, "quarry", "#FF0000", 20)
else
nvm.idx = 1
nvm.quarry_pos = nil
crd.State:stop(pos, nvm)
return
end
local node = techage.get_node_lvm(nvm.quarry_pos)
local ndef = minetest.registered_nodes[node.name]
if techage.can_node_dig(node, ndef) then
local drop_name = techage.dropped_node(node, ndef)
if drop_name then
local inv = M(pos):get_inventory()
if inv:room_for_item("main", {name = drop_name}) then
minetest.remove_node(nvm.quarry_pos)
inv:add_item("main", {name = drop_name})
crd.State:keep_running(pos, nvm, COUNTDOWN_TICKS, 1)
else
crd.State:blocked(pos, nvm)
end
end
end
end
end
local function keep_running(pos, elapsed)
local nvm = techage.get_nvm(pos)
local crd = CRD(pos)
local inv = M(pos):get_inventory()
if inv then
quarry_next_node(pos, crd, nvm, inv)
end
if techage.is_activeformspec(pos) then
M(pos):set_string("formspec", formspec(crd.State, pos, nvm))
end
end
local function can_dig(pos, player)
if minetest.is_protected(pos, player:get_player_name()) then
return false
end
local inv = M(pos):get_inventory()
return inv:is_empty("main")
end
local function on_receive_fields(pos, formname, fields, player)
if minetest.is_protected(pos, player:get_player_name()) then
return
end
local nvm = techage.get_nvm(pos)
if fields.depth then
if tonumber(fields.depth) ~= nvm.quarry_depth then
nvm.quarry_depth = tonumber(fields.depth)
nvm.quarry_pos = nil
CRD(pos).State:stop(pos, nvm)
end
end
if fields.level then
if tonumber(fields.level) ~= nvm.start_level then
nvm.start_level = tonumber(fields.level)
nvm.quarry_pos = nil
CRD(pos).State:stop(pos, nvm)
end
end
CRD(pos).State:state_button_event(pos, nvm, fields)
end
local tiles = {}
-- '#' will be replaced by the stage number
tiles.pas = {
-- up, down, right, left, back, front
"techage_filling_ta#.png^techage_frame_ta#_top.png",
"techage_filling_ta#.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_outp.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_quarry_left.png",
"techage_filling_ta#.png^techage_appl_quarry.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_appl_quarry.png^techage_frame_ta#.png",
}
tiles.act = {
-- up, down, right, left, back, front
"techage_filling_ta#.png^techage_frame_ta#_top.png",
"techage_filling_ta#.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_frame_ta#.png^techage_appl_outp.png",
{
image = "techage_frame14_ta#.png^techage_quarry_left14.png",
backface_culling = false,
animation = {
type = "vertical_frames",
aspect_w = 32,
aspect_h = 32,
length = 2.0,
},
},
"techage_filling_ta#.png^techage_appl_quarry.png^techage_frame_ta#.png",
"techage_filling_ta#.png^techage_appl_quarry.png^techage_frame_ta#.png",
}
local tubing = {
on_pull_item = function(pos, in_dir, num)
local meta = minetest.get_meta(pos)
if meta:get_int("pull_dir") == in_dir then
local inv = M(pos):get_inventory()
return techage.get_items(inv, "main", num)
end
end,
on_push_item = function(pos, in_dir, stack)
local meta = minetest.get_meta(pos)
if meta:get_int("push_dir") == in_dir or in_dir == 5 then
local inv = M(pos):get_inventory()
CRD(pos).State:start_if_standby(pos)
return techage.put_items(inv, "main", stack)
end
end,
on_unpull_item = function(pos, in_dir, stack)
local meta = minetest.get_meta(pos)
if meta:get_int("pull_dir") == in_dir then
local inv = M(pos):get_inventory()
return techage.put_items(inv, "main", stack)
end
end,
on_recv_message = function(pos, src, topic, payload)
local resp = CRD(pos).State:on_receive_message(pos, topic, payload)
if resp then
return resp
else
return "unsupported"
end
end,
on_node_load = function(pos, node)
CRD(pos).State:on_node_load(pos)
local nvm = techage.get_nvm(pos)
if nvm.techage_state == techage.RUNNING then
play_sound(pos)
end
end,
}
local node_name_ta2, node_name_ta3, node_name_ta4 =
techage.register_consumer("quarry", S("Quarry"), tiles, {
drawtype = "normal",
cycle_time = CYCLE_TIME,
standby_ticks = STANDBY_TICKS,
formspec = formspec,
tubing = tubing,
can_start = can_start,
on_state_change = on_node_state_change,
after_place_node = function(pos, placer)
local inv = M(pos):get_inventory()
local nvm = techage.get_nvm(pos)
inv:set_size('main', 9)
nvm.quarry_pos = nil
M(pos):set_string("owner", placer:get_player_name())
end,
can_dig = can_dig,
node_timer = keep_running,
on_receive_fields = on_receive_fields,
on_rightclick = on_rightclick,
allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_take = allow_metadata_inventory_take,
groups = {choppy=2, cracky=2, crumbly=2},
sounds = default.node_sound_wood_defaults(),
num_items = {0,1,1,1},
power_consumption = {0,10,12,12},
}
)
minetest.register_craft({
output = node_name_ta2,
recipe = {
{"default:steel_ingot", "default:diamond", "default:steel_ingot"},
{"techage:tubeS", "basic_materials:gear_steel", "techage:tubeS"},
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
},
})
minetest.register_craft({
output = node_name_ta3,
recipe = {
{"", "default:diamond", ""},
{"", "node_name_ta2", ""},
{"", "techage:vacuum_tube", ""},
},
})

View File

@ -26,6 +26,13 @@ local Input = {
20,21,22,23, -- 6
}
-- allowed for digging
local RegisteredNodesToBeDug = {}
function techage.register_node_to_be_dug(name)
RegisteredNodesToBeDug[name] = true
end
-- translation from param2 to dir (out of the node upwards)
local Param2Dir = {}
for idx,val in ipairs(Input) do
@ -121,12 +128,17 @@ end
-- returns true, if node can be dug, otherwise false
function techage.can_node_dig(node, ndef)
if RegisteredNodesToBeDug[node.name] then
return true
end
if not ndef then return false end
if node.name == "ignore" then return false end
if node.name == "air" then return true end
if ndef.buildable_to == true then return true end
if ndef.diggable == false then return false end
if ndef.after_dig_node then return false end
-- add it to the white list
RegisteredNodesToBeDug[node.name] = true
return true
end
@ -243,3 +255,10 @@ function techage.mydump(o, indent, nested, level)
return "{"..table.concat(t, ", ").."}"
end
-- title bar help (width is the fornmspec width)
function techage.question_mark_help(width, tooltip)
local x = width- 0.6
return "label["..x..",-0.1;"..minetest.colorize("#000000", minetest.formspec_escape("[?]")).."]"..
"tooltip["..x..",-0.1;0.5,0.5;"..tooltip..";#0C3D32;#FFFFFF]"
end

View File

@ -24,7 +24,7 @@ function techage.unmark_region(name)
end
end
function techage.mark_region(name, pos1, pos2, owner)
function techage.mark_region(name, pos1, pos2, owner, secs)
techage.unmark_region(name)
@ -58,14 +58,14 @@ function techage.mark_region(name, pos1, pos2, owner)
--collisionbox = {-thickness, -sizey, -sizez, thickness, sizey, sizez},
collisionbox = {0,0,0, 0,0,0},
})
marker:setyaw(math.pi / 2)
marker:set_yaw(math.pi / 2)
marker:get_luaentity().player_name = name
table.insert(markers, marker)
end
end
marker_region[name] = markers
minetest.after(20, techage.unmark_region, name)
minetest.after(secs or 20, techage.unmark_region, name)
end
function techage.switch_region(name, pos1, pos2)

View File

@ -37,6 +37,28 @@ function techage.mark_position(name, pos, nametag, color, time)
minetest.after(time or 30, techage.unmark_position, name)
end
function techage.mark_cube(name, pos1, pos2, nametag, color, time)
local new_x = pos1.x + ((pos2.x - pos1.x) / 2)
local new_y = pos1.y + ((pos2.y - pos1.y) / 2)
local new_z = pos1.z + ((pos2.z - pos1.z) / 2)
local size_x = math.abs(pos1.x - pos2.x) + 1
local size_y = math.abs(pos1.y - pos2.y) + 1
local size_z = math.abs(pos1.z - pos2.z) + 1
local marker = minetest.add_entity(
{x = new_x, y = new_y, z = new_z}, "techage:position_cube")
if marker ~= nil then
marker:set_nametag_attributes({color = color, text = nametag, visual_size = {x = size_x, y = size_y, z = size_z}})
marker:get_luaentity().player_name = name
marker:set_properties({visual_size = {x = size_x, y = size_y, z = size_z}})
if not marker_region[name] then
marker_region[name] = {}
end
marker_region[name][#marker_region[name] + 1] = marker
end
minetest.after(time or 30, techage.unmark_position, name)
end
minetest.register_entity(":techage:position_cube", {
initial_properties = {
visual = "cube",

View File

@ -34,6 +34,7 @@ techage.Items = {
ta2_pusher = "techage:ta2_pusher_pas",
ta2_gravelrinser = "techage:ta2_rinser_pas",
ta2_grinder = "techage:ta2_grinder_pas",
ta2_quarry = "techage:ta2_quarry_pas",
ta2_autocrafter = "techage:ta2_autocrafter_pas",
ta2_electronicfab = "techage:ta2_electronic_fab_pas",
ta2_gravelsieve = "techage:ta2_gravelsieve_pas",
@ -54,12 +55,12 @@ techage.Items = {
ta3_pusher = "techage:ta3_pusher_pas",
ta3_gravelrinser = "techage:ta3_rinser_pas",
ta3_grinder = "techage:ta3_grinder_pas",
ta3_quarry = "techage:ta3_quarry_pas",
ta3_autocrafter = "techage:ta3_autocrafter_pas",
ta3_electronicfab = "techage:ta3_electronic_fab_pas",
ta3_gravelsieve = "techage:ta3_gravelsieve_pas",
ta3_gravelrinser = "techage:ta3_rinser_pas",
ta3_liquidsampler = "techage:ta3_liquidsampler_pas",
ta3_funnel = "techage:ta3_funnel",
ta3_powercable = "techage:electric_cableS",
ta3_powerline = "techage:power_lineS",
ta3_powerswitch = "techage:powerswitch",

View File

@ -32,7 +32,8 @@ techage.manual_DE.aTitel = {
"3,TA2 Verteiler / Distributor",
"2,Kieswaschanlage",
"3,TA2 Kiesspüler / Gravel Rinser",
"2,Stein mahlen und sieben",
"2,Stein brechen\\, mahlen und sieben",
"3,TA2 Steinbrecher / Quarry",
"3,TA2 Mühle / Grinder",
"3,TA2 Kiessieb / Gravel Sieve",
"2,Items produzieren",
@ -98,7 +99,7 @@ techage.manual_DE.aTitel = {
"3,TA3 Verteiler / Distributor",
"3,TA3 Autocrafter",
"3,TA3 Elektronikfabrik / Electronic Fab",
"3,TA3 Trichter / Funnel",
"3,TA3 Steinbrecher / Quarry",
"3,TA3 Kiessieb / Gravel Sieve",
"3,TA3 Kieswaschanlage / Gravel Rinser",
"3,TA3 Mühle / Grinder",
@ -292,7 +293,7 @@ techage.manual_DE.aText = {
"\n"..
"Der Boiler muss mit Wasser gefüllt werden. Dazu bis zu 10 Eimer Wasser in den Boiler füllen.\n"..
"Die Feuerbox muss mit Kohle oder Holzkohle gefüllt werden.\n"..
"Wenn das Wasser heiß ist\\, kann das Ventil am Boiler geöffnet und anschließend die Dampfmaschine am Schwungrad gestartet werden.\n"..
"Wenn das Wasser heiß ist (Temperaturanzeige ganz oben)\\, kann die Dampfmaschine am Schwungrad gestartet werden.\n"..
"\n"..
"Die Dampfmaschine leistet 25 ku\\, kann damit mehrere Maschinen gleichzeitig antreiben.\n"..
"\n"..
@ -304,7 +305,7 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich der Boiler ab.\n"..
"Teil der Dampfmaschine. Muss mit Wasser gefüllt werden. Wem kein Wasser mehr vorhanden ist oder die Temperatur zu weit absinkt\\, schaltet sich die Dampfmaschine ab.\n"..
"\n"..
"\n"..
"\n",
@ -381,7 +382,12 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Das Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.\n"..
"Das Brechen\\, Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Steinbrecher\\, Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.\n"..
"\n"..
"\n"..
"\n",
"Der Steinbrecher dient zum Abbau von Steinen und anderen Materialien aus dem Untergrund. Der Steinbrecher gräbt ein 5x5 Blöcke großes Loch. Die Tiefe ist einstellbar.\n"..
"Die Verarbeitungsleistung ist ein Block alle 4 s. Der Steinbrecher benötigt 10 ku Energie. Die maximale Tiefe beträgt 20 Meter. Für größere Tiefen siehe TA3/TA4.\n"..
"\n"..
"\n"..
"\n",
@ -855,11 +861,8 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Der TA3 Trichter sammelt abgelegte Gegenstände und speichert sie in seinem Inventar. Gegenstände werden angesaugt\\, wenn sie auf den Trichterblock fallen.\n"..
"\n"..
"Der Trichter kann über das Menü und auch über on/off Kommandos ein-/ausgeschaltet werden.\n"..
"\n"..
"Der Scanradius beträgt 1 m.\n"..
"Die Funktion entspricht der von TA2.\n"..
"Die maximale Tiefe beträgt 40 Meter. Der Autocrafter benötigt 12 ku Strom.\n"..
"\n"..
"\n"..
"\n",
@ -1019,7 +1022,7 @@ techage.manual_DE.aText = {
"\n"..
"\n"..
"\n",
"Die Röhren dienen bei TA4 zur Weiterleitung von Gas und Dampf. \n"..
"Die Röhren dienen bei TA4 zur Weiterleitung von Gas und Flüssigkeiten. \n"..
"Die maximale Leitungslänge beträgt 100 m.\n"..
"\n"..
"\n"..
@ -1027,24 +1030,25 @@ techage.manual_DE.aText = {
"Strom kann mittels Elektrolyse in Wasserstoff und Sauerstoff aufgespalten werden. Auf der anderen Seite kann über eine Brennstoffzelle Wasserstoff mit Sauerstoff aus der Luft wieder in Strom umgewandelt werden.\n"..
"Damit können Stromspitzen oder ein Überangebot an Strom in Wasserstoff umgewandelt und so gespeichert werden.\n"..
"\n"..
"Im Spiel kann Strom mit Hilfe des Elektrolyseurs in Wasserstoff-Items und Wasserstoff-Items über die Brennstoffzelle wieder in Strom umgewandelt werden.\n"..
"Damit kann Strom (in Form von Wasserstoff-Items) nicht nur in Kisten gelagert\\, sonder auch über Wagen (carts) oder Röhren transportiert werden.\n"..
"Im Spiel kann Strom mit Hilfe des Elektrolyseurs in Wasserstoff und Wasserstoff über die Brennstoffzelle wieder in Strom umgewandelt werden.\n"..
"Damit kann Strom (in Form von Wasserstoff) nicht nur in Tanks gelagert\\, sonder mit Hilfe von Gasflaschen auch mit Wagen (carts) transportiert werden.\n"..
"\n"..
"Die Umwandlung von Strom in Wasserstoff und zurück ist aber verlustbehaftet. Von 100 Einheiten Strom kommen nach der Umwandlung in Wasserstoff und zurück nur 75 Einheiten Strom wieder raus.\n"..
"Die Umwandlung von Strom in Wasserstoff und zurück ist aber verlustbehaftet. Von 100 Einheiten Strom kommen nach der Umwandlung in Wasserstoff und zurück nur 83 Einheiten Strom wieder raus.\n"..
"\n"..
"\n"..
"\n",
"Der Elektrolyseur wandelt Strom in Wasserstoff um.\n"..
"Es muss von links mit Strom versorgt werden. Rechts können die Wasserstoff-Items per Schieber entnommen werden.\n"..
"Es muss von links mit Strom versorgt werden. Rechts kann Wasserstoff über Röhren und Pumpen entnommen werden.\n"..
"\n"..
"Der Elektrolyseur kann bis zu 40 ku an Strom aufnehmen und generiert alle 8 s ein Wasserstoff Item.\n"..
"Der Elektrolyseur kann bis zu 30 ku an Strom aufnehmen und generiert dann alle 4 s ein Wasserstoff Item.\n"..
"In den Elektrolyseur passen 200 Einheiten Wasserstoff.\n"..
"\n"..
"\n"..
"\n",
"Die Brennstoffzelle wandelt Wasserstoff in Strom um.\n"..
"Sie muss von links per Schieber mit Wasserstoff-Items versorgt werden. Rechts ist der Stromanschluss.\n"..
"Sie muss von links per Pumpe mit Wasserstoff versorgt werden. Rechts ist der Stromanschluss.\n"..
"\n"..
"Die Brennstoffzelle kann bis zu 40 ku an Strom abgeben und benötigt dazu alle 6 s ein Wasserstoff Item.\n"..
"Die Brennstoffzelle kann bis zu 25 ku an Strom abgeben und benötigt dazu alle 4 s ein Wasserstoff Item.\n"..
"\n"..
"\n"..
"\n",
@ -1153,6 +1157,7 @@ techage.manual_DE.aItemName = {
"",
"ta2_rinser",
"ta2_grinder",
"ta2_quarry",
"ta2_grinder",
"ta2_gravelsieve",
"",
@ -1218,7 +1223,7 @@ techage.manual_DE.aItemName = {
"ta3_distributor",
"ta3_autocrafter",
"ta3_electronicfab",
"ta3_funnel",
"ta3_quarry",
"ta3_gravelsieve",
"ta3_gravelrinser",
"ta3_grinder",
@ -1304,6 +1309,7 @@ techage.manual_DE.aPlanTable = {
"",
"",
"",
"",
"coalpowerstation",
"",
"",

View File

@ -103,8 +103,8 @@ else
dofile(MP.."/basic_machines/chest.lua")
dofile(MP.."/basic_machines/autocrafter.lua")
dofile(MP.."/basic_machines/electronic_fab.lua")
dofile(MP.."/basic_machines/funnel.lua")
dofile(MP.."/basic_machines/liquidsampler.lua")
dofile(MP.."/basic_machines/quarry.lua")
-- Liquids II
dofile(MP.."/liquids/tank.lua")

View File

@ -12,6 +12,9 @@
]]--
-- Consumer Related Data
local CRD = function(pos) return (minetest.registered_nodes[techage.get_node_lvm(pos).name] or {}).consumer end
-- use the minecart hopper
minetest.register_alias("techage:hopper_ta1", "minecart:hopper")
@ -31,6 +34,29 @@ minecart.register_inventory(
}
)
minecart.register_inventory(
{
"techage:ta2_distributor_pas", "techage:ta2_distributor_act",
"techage:ta3_distributor_pas", "techage:ta3_distributor_act",
"techage:ta4_distributor_pas", "techage:ta4_distributor_act",
},
{
put = {
allow_inventory_put = function(pos, stack, player_name)
CRD(pos).State:start_if_standby(pos)
return true
end,
listname = "src",
},
take = {
listname = "src",
},
}
)
minecart.register_inventory(
{
"techage:sieve0", "techage:sieve1", "techage:sieve2", "techage:sieve3",

View File

@ -1,9 +1,11 @@
# textdomain: techage
#### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd <num> <cmnd>@n@nexample: cmd 181 on@n<num> is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set <button-num> <button-text> <command>@ne.g. 'set 1 ON cmd 123 on'@n=
(Num. nodes loaded / max. : Power current / max.)=(Anz. Blöcke geladen / max. : Strom aktuell / max.)
Active:=Aktiv:
All nodes:=Alle Blöcke:
Allow to dig/place Techage power lines nearby power poles=Erlaubt TODO
Aluminum=Aluminium
Area already loaded or max. number of Forceload Blocks reached!=Bereich bereits geladen oder maximale Anzahl von Forceload Blöcken erreicht!
Ash=Asche
Autocrafter=Autocrafter
Axle Power Source=Achsenkraftquelle
@ -29,30 +31,56 @@ Biome=Biom
Block configured items for open ports=Blockiere konfigurierte Gegenstände für offene Ausgänge
Build derrick=Errichte Ölturm
Compressed Gravel=Komprimiertes Kies
Consum. 1=Konsum. 1
Consum. 2=Konsum. 2
Depth=Tiefe
Digging depth=Grabungstiefe
Dirt with Ash=Erde mit Asche
Distributor=Verteiler
Doser=Dosierer
Drill Bit=Bohrstange
Drill area is protected=
Drill bits missing=
Ele Power Source=Ele Kraftquelle
Electricity=Strom
Electrolyzer=Eletrolyseur
Electronic Fab=Elektronikfabrik
Enter=Eingeben
Epoxide Resin=Epoxidharz
Epoxide Resin Barrel=Epoxidharz Fass
Epoxide Resin Canister=Epoxidharz Kanister
Error=Fehler
Firebox=Feuerkasten
Flint and Iron=Flint and Iron
Flowing Oil=Fließendes Öl
Flywheel=Schwungrad
Force order of filter items=Erzwinge Reihenfolge
Fuel Cell=Brennstoffzelle
Fuel Menu=Brennstoff Menü
Furnace Top=Ofenoberteil
Gas Cylinder Large=Gasflasche groß
Gas Cylinder Small=Gasflasche klein
Genera. 1=Genera. 1
Genera. 2=Genera. 2
Generator=Generator
Gibbsite Powder=Gibbsit Pulver
Gravel Rinser=Kiesspüler
Gravel Sieve=Kiessieb
Grinder=Mühle
Grinding=Mahlen
Heat=Hitze
Heat Exchanger=Wärmetauscher
Hydrogen Cylinder Large=Wasserstoffflasche groß
Hydrogen Cylinder Small=Wasserstoffflasche klein
In use:=In Benutzung:
Insert destination node number(s)=Gebe Zielnummer(n) ein
Inverter=Wechselrichter
Leave Powder=Laub Pulver
Liquid Filler=Einfülltrichter
Liquid Sampler=Flüssigkeitensammler
Liquid Tank=Flüssigkeitstank
List of your Forceload Blocks:=Liste der Forceload Blöcke
Load=Ladung
Lye=Lauge
Lye Barrel=Lauge Fass
Lye Canister=Lauge Kanister
@ -69,25 +97,33 @@ Meridium Sword=Meridium Schwert
More water expected (2 m deep)!=Mehr Wasser erwartet (2 m tief)
Needle Powder=Nadel Pulver
Network Data=Netzwerkdaten
No network or active generator available!=Kein Stromnetz oder aktiver Generator verfügbar
No plan available=Kein Plan verfügar
No wind at this altitude!=Kein Wind auf dieser Höhe
Node owner=Blockbesitzer
Number of all nodes=Anzahl aller Blöcke
Number of nodes=Anzahl Blöcke
Oil Drill Box=Ölbohrkiste
Oil Pumpjack=Ölpumpe
Oil Source=Erdöl
Oil Tank=Öltank
Oil amount=Ölmenge
Other consumers=Weitere Verbraucher
Outp=Ergeb.
Plan=Plan
Plastic Granules=Plastikgranulat
Position=Position
Position temperature=Positionstemperatur
Power=Energie
Power AC=Wechselstrom
Power DC=Gleichstrom
Power Source=Stromquelle
Primary available=Primär verfügbar
Primary needed=Primär benötigt
Priv missing=Rechte fehlen
Pumpjack=Ölpumpe
Punch the block to make the area visible.=
Pusher=Schieber
Quarry=Steinbrecher
Quarry area is protected=Bereich ist geschützt
Recipe=Rezept
Red Mud=Rotschlamm
Red Mud Barrel=Rotschlamm Fass
@ -99,8 +135,11 @@ Save=Speichern
Secondary available=Sekundär verfügbar
Secondary needed=Sekundär benötigt
Send signal if nodes have been:=Sende ein Signal falls Blöcke:
Show all forceload blocks in a 64x64x64 range=
Sieved Basalt Gravel=Basaltkies gesiebt
Sieved Gravel=Gesiebtes Kies
Start level=Startebene
Start level @= 0@nmeans the same Y-level@nas the quarry is placed=Startebene @= 0@nbedeutet gleiche Y-Ebene@nwie der Steinbrecher
Steam Power Source=Dampfenergiequelle
Store=Speichern
Switched to private use!=Zur privaten Nutzung umgeschaltet
@ -116,6 +155,7 @@ TA Industrial Lamp 2=TA Industrielampe 2
TA Industrial Lamp 3=TA Industrielampe 3
TA Junction Pipe=TA Leitungskupplung
TA Lamp=TA Lampe
TA Liquid Filler=TA Einfülltrichter
TA Pipe=TA Leitung (Flüssigkeiten)
TA Power Line=TA Stromleitung
TA Power Pole=TA Strommast
@ -130,7 +170,6 @@ TA1 Burning=TA1 Brennen
TA1 Charcoal=TA1 Holzkohle
TA1 Diamond Hammer (smash stone to gravel)=TA1 Diamanthammer (zerschlage Stein zu Kies)
TA1 Gravel Sieve=TA1 Kiessieb
TA1 Hopper=TA1 Trichter
TA1 Iron Ingot=TA1 Eisenbarren
TA1 Lighter=TA1 Anzünder
TA1 Melting=TA1 Schmelzen
@ -149,7 +188,7 @@ TA2 Gearbox=TA2 Getriebeblock
TA2 Gravel Sieve=TA2 Kiessieb
TA2 Protected Chest=TA2 Gesicherte Kiste
TA2 Steam Pipe=TA2 Dampfleitung
TA3 Akku=TA3 Akku
TA3 Accu Box=Akkublock
TA3 Akku Box=TA3 Akku Block
TA3 Bitumen=TA3 Bitumen
TA3 Bitumen Barrel=TA3 Bitumenfass
@ -161,7 +200,6 @@ TA3 Button/Switch=TA3 Taster/Schalter
TA3 Canister=TA3 Kanister
TA3 Cart Detector=TA3 Wagen Detektor
TA3 Coal Power Station Firebox=TA3 Kohlekraftwerks-Feuerbox
TA3 Coal/oil=TA3 Kohle/Öl
TA3 Cooler=TA3 Kühler
TA3 Derrick=TA3 Bohrturm
TA3 Detector=TA3 Detektor
@ -175,7 +213,6 @@ TA3 Ele Fab=TA3 E-Fabrik
TA3 Fuel Oil=TA3 Schweröl
TA3 Fuel Oil Barrel=TA3 Schwerölfass
TA3 Fuel Oil Canister=TA3 Schwerölkanister
TA3 Funnel=TA3 Trichter
TA3 Furnace Oil Burner=TA3 Ofen-Ölbrenner
TA3 Gas=TA3 Gas
TA3 Gasoline=TA3 Benzin
@ -193,6 +230,7 @@ TA3 Oil Barrel=TA3 Ölfass
TA3 Oil Canister=TA3 Erdölkanister
TA3 Oil Explorer=TA3 Ölexplorer
TA3 Oil Reboiler=TA3 Aufkocher
TA3 Oil Reboiler: blocked=
TA3 Oil Storage=TA3 Öl Speicher
TA3 Player Detector=TA3 Spieler Detektor
TA3 Power Station Firebox=TA3 Kraftwerks-Feuerbox
@ -213,7 +251,6 @@ TA4 Carbon Fiber=TA4 Kohlefaser
TA4 Derrick=TA4 Bohrturm
TA4 Doser=TA4 Dosierer
TA4 Electrolyzer=TA4 Elektrolyseur
TA4 Energy Storage=TA4 Energiespeicher
TA4 Fuel Cell=TA4 Brennstoffzelle
TA4 Fuel Cell Stack=Brennstoffzellenstapel
TA4 Furnace Heater=TA4 Ofenheizung
@ -235,17 +272,18 @@ TA4 Reactor Filler Pipe=TA4 Reaktor Einfüllstutzen
TA4 Reactor Stand=TA4 Reaktor Ständer
TA4 Rotor Blade=TA4 Rotorblatt
TA4 Silicon Wafer=TA4 Silizium-Wafer
TA4 Silo=Silo
TA4 Solar Carrier Module=TA4 Solar Trägermodul
TA4 Solar Carrier Module B=TA4 Solar Trägermodul U
TA4 Solar Carrier Module T=TA4 Solar Trägermodul O
TA4 Solar Inverter=TA4 Solar Wechselrichter
TA4 Solar Inverter AC=TA4 Solar Wechselrichter AC
TA4 Solar Inverter DC=TA4 Solar Wechselrichter DC
TA4 Solar Module=TA4 Solarmodul
TA4 Streetlamp Solar Cell=TA4 Straßenlampen-Solarzelle
TA4 Tank=TA4 Tank
TA4 Turbine=TA4 Turbine
TA4 WLAN Chip=TA4 WLAN Chip
TA4 Water Pump=Wasserpumpe
TA4 Wind Turbine=TA4 Windkraftanlage
TA4 Wind Turbine Nacelle=TA4 Windkraftanlagengondel
TA4 Wind Turbine Signal Lamp=TA4 Windkraftanlagenlampe
@ -261,14 +299,26 @@ TechAge Signal Lamp=TechAge Signallampe
TechAge Signal Lamp (can be colored)=TechAge Signallampe (kann gefärbt werden)
TechAge Steel Mat=TechAge Stahlmatte
TechAge Trowel=TechAge Kelle
Techage Forceload Block=
The network is overloaded!=
The network load is almost at the limit!=
The wind turbines are too close together!=Die Windkraftanlagen stehen zu eng beisammen!
Thermal=Wärme
Time=Zeit
Tiny Generator=Kleingenerator
To add fuel punch@nthis block@nwith a fuel container=
To add liquids punch@nthe tank@nwith a liquid container=
To add water punch@nthe boiler@nwith a water bucket=
Turned on:=Eingeschaltet:
Update=Update
Usmium Nuggets=Usmium Nuggets
Usmium Powder=Usmium Pulver
WLAN Chip=WLAN Chip
Water=Wasser
Water Barrel=Wasserfass
Water Boiler=Wasserboiler
Water Pump=Wasserpumpe
[Bucket] Lava can only be placed below sea level!=Lava kann nur unterhalb der Meerehöhe platziert werden!
[TA4 Wind Turbine]=[TA4 Windkraftanlage]
[TA] Area is protected!=[TA] Bereich ist geschützt
[TA] Derrick is being built!=[TA] Bohrturm wird errichtet
@ -279,24 +329,36 @@ Water Barrel=Wasserfass
[TechAge Programmer] Unknown node on=[TechAge Programmer] Unbekannter Block bei
[TechAge Programmer] foreign or unknown node!=[TechAge Programmer] Fremder oder unbekannter Block!
[TechAge Programmer] node programmed!=[TechAge Programmer] Nummer(n) programmiert!
[TechAge Programmer] number=[TechAge Programmer] Nummer=
[TechAge Programmer] number=[TechAge Programmer] Nummer
[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt
\\[ku\\]=\\[ku\\]
accept=akzeptieren
added=hinzugefügt wird
added or removed=hinzugefügt oder entfernt wird
block can't be dug=Block kann nicht abgebaut werden
commands like: help=Kommandos wie: help
connected with=verbunden mit
did you check the plan?=hast du den Plan geprüft?
empty=leer
full=voll
inlet/pipe error=Einlass/Röhrenfehler
level@==Ebene
light=Licht
loaded=geladen
needs power=benötigt Strom
no fuel=kein Kraftstoff
no fuel or no power=kein Strom oder Brennstoff
no oil=Kein Öl
no power=kein Strom
no usable water=Kein brauchbares Wasser
off=aus
on=an
power=Strom
pos@==pos@=
power=Energie
reactor defect=Reaktor defekt
reactor defect or no power=Reaktor defekt oder kein Strom
reactor has no power=Reaktor hat keinen Strom
removed=entfernt
stopped=gestoppt
water temperature=Wassertemperatur
wrong storage diameter=Falscher Wärmespeicher-Durchmesser
##### not used anymore #####

View File

@ -77,10 +77,11 @@ Oil Drill Box=Ölbohrkiste
Oil Pumpjack=Ölpumpe
Oil Source=Erdöl
Oil Tank=Öltank
Oil amount:=Ölmenge:
Oil amount=Ölmenge
Other consumers=Weitere Verbraucher
Outp=Ergeb.
Plan=Plan
Plastic Granules=Plastikgranulat
Position=Position
Position temperature=Positionstemperatur
Power=Energie
@ -277,7 +278,7 @@ Water Barrel=Wasserfass
[TechAge Programmer] Error: programmer not supported!=[TechAge Programmer] Fehler: Programmer wird nicht unterstützt!
[TechAge Programmer] Unknown node on=[TechAge Programmer] Unbekannter Block bei
[TechAge Programmer] foreign or unknown node!=[TechAge Programmer] Fremder oder unbekannter Block!
[TechAge Programmer] node programmed!=[TechAge Programmer] Nicht programmiert!
[TechAge Programmer] node programmed!=[TechAge Programmer] Nummer(n) programmiert!
[TechAge Programmer] number=[TechAge Programmer] Nummer=
[TechAge Programmer] programmer reset=[TechAge Programmer] Programmer zurück gesetzt
\\[ku\\]=\\[ku\\]

View File

@ -1,7 +1,9 @@
#### TA3 Terminal ####@n@nSend commands to your machines@nand output text messages from your@nmachines to the Terminal.@n@nCommand syntax:@n cmd <num> <cmnd>@n@nexample: cmd 181 on@n<num> is the number of the node to which the command is sent@n'on' is the command to turn machines/nodes on@nFurther commands can be retrieved by clicking on@nmachines/nodes with the Techage Info Tool.@n@nLocal commands:@n- clear @= clear screen@n- help @= this message@n- pub @= switch to public use@n- priv @= switch to private use@nTo program a user button with a command:@n set <button-num> <button-text> <command>@ne.g. 'set 1 ON cmd 123 on'@n=
(Num. nodes loaded / max. : Power current / max.)=
Active:=
All nodes:=
Allow to dig/place Techage power lines nearby power poles=
Aluminum=
Area already loaded or max. number of Forceload Blocks reached!=
Ash=
Autocrafter=
Axle Power Source=
@ -27,30 +29,56 @@ Biome=
Block configured items for open ports=
Build derrick=
Compressed Gravel=
Consum. 1=
Consum. 2=
Depth=
Digging depth=
Dirt with Ash=
Distributor=
Doser=
Drill Bit=
Drill area is protected=
Drill bits missing=
Ele Power Source=
Electricity=
Electrolyzer=
Electronic Fab=
Enter=
Epoxide Resin=
Epoxide Resin Barrel=
Epoxide Resin Canister=
Error=
Firebox=
Flint and Iron=
Flowing Oil=
Flywheel=
Force order of filter items=
Fuel Cell=
Fuel Menu=
Furnace Top=
Gas Cylinder Large=
Gas Cylinder Small=
Genera. 1=
Genera. 2=
Generator=
Gibbsite Powder=
Gravel Rinser=
Gravel Sieve=
Grinder=
Grinding=
Heat=
Heat Exchanger=
Hydrogen Cylinder Large=
Hydrogen Cylinder Small=
In use:=
Insert destination node number(s)=
Inverter=
Leave Powder=
Liquid Filler=
Liquid Sampler=
Liquid Tank=
List of your Forceload Blocks:=
Load=
Lye=
Lye Barrel=
Lye Canister=
@ -67,25 +95,33 @@ Meridium Sword=
More water expected (2 m deep)!=
Needle Powder=
Network Data=
No network or active generator available!=
No plan available=
No wind at this altitude!=
Node owner=
Number of all nodes=
Number of nodes=
Oil Drill Box=
Oil Pumpjack=
Oil Source=
Oil Tank=
Oil amount:=
Other consumers=
Oil amount=
Outp=
Plan=
Plastic Granules=
Position=
Position temperature=
Power=
Power AC=
Power DC=
Power Source=
Primary available=
Primary needed=
Priv missing=
Pumpjack=
Punch the block to make the area visible.=
Pusher=
Quarry=
Quarry area is protected=
Recipe=
Red Mud=
Red Mud Barrel=
@ -97,8 +133,11 @@ Save=
Secondary available=
Secondary needed=
Send signal if nodes have been:=
Show all forceload blocks in a 64x64x64 range=
Sieved Basalt Gravel=
Sieved Gravel=
Start level=
Start level @= 0@nmeans the same Y-level@nas the quarry is placed=
Steam Power Source=
Store=
Switched to private use!=
@ -114,6 +153,7 @@ TA Industrial Lamp 2=
TA Industrial Lamp 3=
TA Junction Pipe=
TA Lamp=
TA Liquid Filler=
TA Pipe=
TA Power Line=
TA Power Pole=
@ -128,7 +168,6 @@ TA1 Burning=
TA1 Charcoal=
TA1 Diamond Hammer (smash stone to gravel)=
TA1 Gravel Sieve=
TA1 Hopper=
TA1 Iron Ingot=
TA1 Lighter=
TA1 Melting=
@ -147,7 +186,7 @@ TA2 Gearbox=
TA2 Gravel Sieve=
TA2 Protected Chest=
TA2 Steam Pipe=
TA3 Akku=
TA3 Accu Box=
TA3 Akku Box=
TA3 Bitumen=
TA3 Bitumen Barrel=
@ -159,7 +198,6 @@ TA3 Button/Switch=
TA3 Canister=
TA3 Cart Detector=
TA3 Coal Power Station Firebox=
TA3 Coal/oil=
TA3 Cooler=
TA3 Derrick=
TA3 Detector=
@ -173,7 +211,6 @@ TA3 Ele Fab=
TA3 Fuel Oil=
TA3 Fuel Oil Barrel=
TA3 Fuel Oil Canister=
TA3 Funnel=
TA3 Furnace Oil Burner=
TA3 Gas=
TA3 Gasoline=
@ -191,6 +228,7 @@ TA3 Oil Barrel=
TA3 Oil Canister=
TA3 Oil Explorer=
TA3 Oil Reboiler=
TA3 Oil Reboiler: blocked=
TA3 Oil Storage=
TA3 Player Detector=
TA3 Power Station Firebox=
@ -211,7 +249,6 @@ TA4 Carbon Fiber=
TA4 Derrick=
TA4 Doser=
TA4 Electrolyzer=
TA4 Energy Storage=
TA4 Fuel Cell=
TA4 Fuel Cell Stack=
TA4 Furnace Heater=
@ -233,17 +270,18 @@ TA4 Reactor Filler Pipe=
TA4 Reactor Stand=
TA4 Rotor Blade=
TA4 Silicon Wafer=
TA4 Silo=
TA4 Solar Carrier Module=
TA4 Solar Carrier Module B=
TA4 Solar Carrier Module T=
TA4 Solar Inverter=
TA4 Solar Inverter AC=
TA4 Solar Inverter DC=
TA4 Solar Module=
TA4 Streetlamp Solar Cell=
TA4 Tank=
TA4 Turbine=
TA4 WLAN Chip=
TA4 Water Pump=
TA4 Wind Turbine=
TA4 Wind Turbine Nacelle=
TA4 Wind Turbine Signal Lamp=
@ -259,14 +297,26 @@ TechAge Signal Lamp=
TechAge Signal Lamp (can be colored)=
TechAge Steel Mat=
TechAge Trowel=
Techage Forceload Block=
The network is overloaded!=
The network load is almost at the limit!=
The wind turbines are too close together!=
Thermal=
Time=
Tiny Generator=
To add fuel punch@nthis block@nwith a fuel container=
To add liquids punch@nthe tank@nwith a liquid container=
To add water punch@nthe boiler@nwith a water bucket=
Turned on:=
Update=
Usmium Nuggets=
Usmium Powder=
WLAN Chip=
Water=
Water Barrel=
Water Boiler=
Water Pump=
[Bucket] Lava can only be placed below sea level!=
[TA4 Wind Turbine]=
[TA] Area is protected!=
[TA] Derrick is being built!=
@ -279,21 +329,33 @@ Water Barrel=
[TechAge Programmer] node programmed!=
[TechAge Programmer] number=
[TechAge Programmer] programmer reset=
\\[ku\\]=
accept=
added=
added or removed=
block can't be dug=
commands like: help=
connected with=
did you check the plan?=
empty=
full=
inlet/pipe error=
level@==
light=
loaded=
needs power=
no fuel=
no fuel or no power=
no oil=
no power=
no usable water=
off=
on=
pos@==
power=
reactor defect=
reactor defect or no power=
reactor has no power=
removed=
stopped=
water temperature=
wrong storage diameter=

View File

@ -144,13 +144,21 @@ Die Verarbeitungsleistung ist ein Kies Item alle 2 s. Der Kiesspüler benötigt
[ta2_rinser|image]
## Stein mahlen und sieben
## Stein brechen, mahlen und sieben
Das Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.
Das Brechen, Mahlen und Siebe von Gestein dient zur Gewinnung von Erzen. Gesiebtes Kies kann aber auch anderweitig genutzt werden. Steinbrecher, Mühle und Sieb müssen angetrieben und damit in der Nähe einer Dampfmaschine aufgebaut werden.
[ta2_grinder|image]
### TA2 Steinbrecher / Quarry
Der Steinbrecher dient zum Abbau von Steinen und anderen Materialien aus dem Untergrund. Der Steinbrecher gräbt ein 5x5 Blöcke großes Loch. Die Tiefe ist einstellbar.
Die Verarbeitungsleistung ist ein Block alle 4 s. Der Steinbrecher benötigt 10 ku Energie. Die maximale Tiefe beträgt 20 Meter. Für größere Tiefen siehe TA3/TA4.
[ta2_quarry|image]
### TA2 Mühle / Grinder
Die Mühle ist in der Lage, verschiedenes Gestein, aber auch Holz und andere Items zu mahlen.

View File

@ -590,15 +590,12 @@ Die Verarbeitungsleistung beträgt ein Chip alle 6 s. Der Block benötigt hierf
[ta3_electronicfab|image]
### TA3 Trichter / Funnel
### TA3 Steinbrecher / Quarry
Der TA3 Trichter sammelt abgelegte Gegenstände und speichert sie in seinem Inventar. Gegenstände werden angesaugt, wenn sie auf den Trichterblock fallen.
Die Funktion entspricht der von TA2.
Die maximale Tiefe beträgt 40 Meter. Der Autocrafter benötigt 12 ku Strom.
Der Trichter kann über das Menü und auch über on/off Kommandos ein-/ausgeschaltet werden.
Der Scanradius beträgt 1 m.
[ta3_funnel|image]
[ta3_quarry|image]
### TA3 Kiessieb / Gravel Sieve

View File

@ -31,7 +31,8 @@
- [TA2 Verteiler / Distributor](./manual_ta2_DE.md#ta2-verteiler--distributor)
- [Kieswaschanlage](./manual_ta2_DE.md#kieswaschanlage)
- [TA2 Kiesspüler / Gravel Rinser](./manual_ta2_DE.md#ta2-kiesspüler--gravel-rinser)
- [Stein mahlen und sieben](./manual_ta2_DE.md#stein-mahlen-und-sieben)
- [Stein brechen\\, mahlen und sieben](./manual_ta2_DE.md#stein-brechen\\,-mahlen-und-sieben)
- [TA2 Steinbrecher / Quarry](./manual_ta2_DE.md#ta2-steinbrecher--quarry)
- [TA2 Mühle / Grinder](./manual_ta2_DE.md#ta2-mühle--grinder)
- [TA2 Kiessieb / Gravel Sieve](./manual_ta2_DE.md#ta2-kiessieb--gravel-sieve)
- [Items produzieren](./manual_ta2_DE.md#items-produzieren)
@ -97,7 +98,7 @@
- [TA3 Verteiler / Distributor](./manual_ta3_DE.md#ta3-verteiler--distributor)
- [TA3 Autocrafter](./manual_ta3_DE.md#ta3-autocrafter)
- [TA3 Elektronikfabrik / Electronic Fab](./manual_ta3_DE.md#ta3-elektronikfabrik--electronic-fab)
- [TA3 Trichter / Funnel](./manual_ta3_DE.md#ta3-trichter--funnel)
- [TA3 Steinbrecher / Quarry](./manual_ta3_DE.md#ta3-steinbrecher--quarry)
- [TA3 Kiessieb / Gravel Sieve](./manual_ta3_DE.md#ta3-kiessieb--gravel-sieve)
- [TA3 Kieswaschanlage / Gravel Rinser](./manual_ta3_DE.md#ta3-kieswaschanlage--gravel-rinser)
- [TA3 Mühle / Grinder](./manual_ta3_DE.md#ta3-mühle--grinder)

BIN
sounds/techage_quarry.ogg Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB