LEDs, TA4 ele fab, LED grow light added and some bugfixes
This commit is contained in:
parent
2b441930d4
commit
7536a2fa47
@ -193,9 +193,8 @@ minetest.register_node("techage:chest_ta4", {
|
|||||||
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
allow_metadata_inventory_take = allow_metadata_inventory_take,
|
||||||
|
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
groups = {choppy=2, cracky=2, crumbly=2, not_in_creative_inventory=1},
|
groups = {choppy=2, cracky=2, crumbly=2},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
drop = "techage:ta4_chest",
|
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -239,8 +238,8 @@ minetest.register_craft({
|
|||||||
recipe = {"techage:chest_ta2", "default:chest"}
|
recipe = {"techage:chest_ta2", "default:chest"}
|
||||||
})
|
})
|
||||||
|
|
||||||
--minetest.register_craft({
|
minetest.register_craft({
|
||||||
-- type = "shapeless",
|
type = "shapeless",
|
||||||
-- output = "techage:chest_ta4",
|
output = "techage:chest_ta4",
|
||||||
-- recipe = {"techage:chest_ta3", "default:chest"}
|
recipe = {"techage:chest_ta3", "default:chest"}
|
||||||
--})
|
})
|
||||||
|
@ -221,7 +221,7 @@ local node_name_ta2, node_name_ta3, node_name_ta4 =
|
|||||||
num_items = {0,1,1,1},
|
num_items = {0,1,1,1},
|
||||||
power_consumption = {0,8,12,18},
|
power_consumption = {0,8,12,18},
|
||||||
},
|
},
|
||||||
{false, true, true, false}) -- TA2/TA3
|
{false, true, true, true}) -- TA2/TA3/TA4
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = node_name_ta2,
|
output = node_name_ta2,
|
||||||
@ -241,6 +241,15 @@ minetest.register_craft({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = node_name_ta4,
|
||||||
|
recipe = {
|
||||||
|
{"", "default:diamond", ""},
|
||||||
|
{"", node_name_ta3, ""},
|
||||||
|
{"", "techage:ta4_wlanchip", ""},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
if minetest.global_exists("unified_inventory") then
|
if minetest.global_exists("unified_inventory") then
|
||||||
unified_inventory.register_craft_type("ta2_electronic_fab", {
|
unified_inventory.register_craft_type("ta2_electronic_fab", {
|
||||||
description = S("TA2 Ele Fab"),
|
description = S("TA2 Ele Fab"),
|
||||||
@ -254,5 +263,11 @@ if minetest.global_exists("unified_inventory") then
|
|||||||
width = 2,
|
width = 2,
|
||||||
height = 2,
|
height = 2,
|
||||||
})
|
})
|
||||||
|
unified_inventory.register_craft_type("ta4_electronic_fab", {
|
||||||
|
description = S("TA4 Ele Fab"),
|
||||||
|
icon = 'techage_filling_ta4.png^techage_appl_electronic_fab.png^techage_frame_ta4.png',
|
||||||
|
width = 2,
|
||||||
|
height = 2,
|
||||||
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
GPL v3
|
GPL v3
|
||||||
See LICENSE.txt for more information
|
See LICENSE.txt for more information
|
||||||
|
|
||||||
TA4 Protected Chest
|
TA4 8x2000 Chest
|
||||||
|
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
@ -16,7 +16,7 @@
|
|||||||
local M = minetest.get_meta
|
local M = minetest.get_meta
|
||||||
local S = techage.S
|
local S = techage.S
|
||||||
|
|
||||||
local DESCRIPTION = S("TA4 Protected Chest")
|
local DESCRIPTION = S("TA4 8x2000 Chest")
|
||||||
local STACK_SIZE = 2000
|
local STACK_SIZE = 2000
|
||||||
|
|
||||||
local function gen_inv(nvm)
|
local function gen_inv(nvm)
|
||||||
@ -263,7 +263,7 @@ minetest.register_node("techage:ta4_chest", {
|
|||||||
description = DESCRIPTION,
|
description = DESCRIPTION,
|
||||||
tiles = {
|
tiles = {
|
||||||
-- up, down, right, left, back, front
|
-- up, down, right, left, back, front
|
||||||
"techage_filling_ta4.png^techage_frame_ta4.png",
|
"techage_filling_ta4.png^techage_frame_ta4_top.png",
|
||||||
"techage_filling_ta4.png^techage_frame_ta4.png",
|
"techage_filling_ta4.png^techage_frame_ta4.png",
|
||||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_chest_back_ta4.png",
|
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_chest_back_ta4.png",
|
||||||
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_chest_back_ta4.png",
|
"techage_filling_ta4.png^techage_frame_ta4.png^techage_appl_chest_back_ta4.png",
|
||||||
@ -351,5 +351,11 @@ techage.register_node({"techage:ta4_chest"}, {
|
|||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = "techage:ta4_chest",
|
output = "techage:ta4_chest",
|
||||||
recipe = {"techage:chest_ta3", "default:chest"}
|
recipe = {"techage:chest_ta4"}
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
type = "shapeless",
|
||||||
|
output = "techage:chest_ta4",
|
||||||
|
recipe = {"techage:ta4_chest"}
|
||||||
})
|
})
|
||||||
|
@ -120,7 +120,7 @@ function techage.fuel.on_punch(pos, node, puncher, pointed_thing)
|
|||||||
|
|
||||||
local ldef = liquid.get_liquid_def(wielded_item)
|
local ldef = liquid.get_liquid_def(wielded_item)
|
||||||
if ldef and ValidOilFuels[ldef.inv_item] then
|
if ldef and ValidOilFuels[ldef.inv_item] then
|
||||||
local new_item = liquid.empty_on_punch(pos, nvm, wielded_item)
|
local new_item = liquid.empty_on_punch(pos, nvm, wielded_item, item_count)
|
||||||
if new_item then
|
if new_item then
|
||||||
puncher:set_wielded_item(new_item)
|
puncher:set_wielded_item(new_item)
|
||||||
M(pos):set_string("formspec", techage.fuel.formspec(pos, nvm))
|
M(pos):set_string("formspec", techage.fuel.formspec(pos, nvm))
|
||||||
|
@ -99,7 +99,7 @@ minetest.register_node("techage:ta4_tubeA", {
|
|||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
groups = {choppy=2, cracky=3, stone=1, not_in_creative_inventory=1},
|
groups = {choppy=2, cracky=3, stone=1, not_in_creative_inventory=1},
|
||||||
sounds = default.node_sound_wood_defaults(),
|
sounds = default.node_sound_wood_defaults(),
|
||||||
drop = "techage:tubeS",
|
drop = "techage:ta4_tubeS",
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
@ -155,5 +155,6 @@ techage.Items = {
|
|||||||
ta4_grinder = "techage:ta4_grinder_pas",
|
ta4_grinder = "techage:ta4_grinder_pas",
|
||||||
ta4_detector = "techage:ta4_detector_off",
|
ta4_detector = "techage:ta4_detector_off",
|
||||||
ta4_chest = "techage:ta4_chest",
|
ta4_chest = "techage:ta4_chest",
|
||||||
|
ta4_growlight = "techage:growlight_on",
|
||||||
--ta4_ "",
|
--ta4_ "",
|
||||||
}
|
}
|
||||||
|
@ -154,6 +154,9 @@ techage.manual_DE.aTitel = {
|
|||||||
"3,TA4 Spieler Detektor / Player Detector",
|
"3,TA4 Spieler Detektor / Player Detector",
|
||||||
"3,TA4 Zustandssammler / State Collector",
|
"3,TA4 Zustandssammler / State Collector",
|
||||||
"3,TA4 Detektor / Detector",
|
"3,TA4 Detektor / Detector",
|
||||||
|
"2,TA4 Lampen",
|
||||||
|
"3,TA4 LED Pflanzenlampe / TA4 LED Grow Light",
|
||||||
|
"3,weitere Lampen kommen noch...",
|
||||||
"2,Weitere TA4 Blöcke",
|
"2,Weitere TA4 Blöcke",
|
||||||
"3,TA4 Tank / TA4 Tank",
|
"3,TA4 Tank / TA4 Tank",
|
||||||
"3,TA4 Pumpe / TA4 Pump",
|
"3,TA4 Pumpe / TA4 Pump",
|
||||||
@ -161,7 +164,8 @@ techage.manual_DE.aTitel = {
|
|||||||
"3,TA4 Wasserpumpe / Water Pump",
|
"3,TA4 Wasserpumpe / Water Pump",
|
||||||
"3,TA4 Röhren / TA4 Tube",
|
"3,TA4 Röhren / TA4 Tube",
|
||||||
"3,TA4 Schieber / Pusher",
|
"3,TA4 Schieber / Pusher",
|
||||||
"3,TA4 Kiste / Chest",
|
"3,TA4 Kiste / TA4 Chest",
|
||||||
|
"3,TA4 8x2000 Kiste / TA4 8x2000 Chest",
|
||||||
"3,TA4 Verteiler / Distributor",
|
"3,TA4 Verteiler / Distributor",
|
||||||
"3,TA4 Kiessieb / Gravel Sieve",
|
"3,TA4 Kiessieb / Gravel Sieve",
|
||||||
"3,TA4 Mühle / Grinder",
|
"3,TA4 Mühle / Grinder",
|
||||||
@ -1254,6 +1258,20 @@ techage.manual_DE.aText = {
|
|||||||
"\n"..
|
"\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
"\n",
|
"\n",
|
||||||
|
"TA4 beinhaltet eine Reihe von leistungsstarken Lampen\\, die eine bessere Ausleuchtung ermöglichen oder Spezialaufgaben übernehmen.\n"..
|
||||||
|
"\n",
|
||||||
|
"Die TA4 LED Pflanzenlampe ermöglicht ein schnelles und kräftiges Wachstum aller Pflanzen aus der 'farming' Mod. Die Lampe beleuchtet ein 3x3 großes Feld\\, so dass sich damit auch Pflanzen unter Tage anbauen lassen.\n"..
|
||||||
|
"Die Lampe muss mit einem Abstand von einem Block über dem Boden in der Mitte des 3x3 Feldes platziert werden.\n"..
|
||||||
|
"\n"..
|
||||||
|
"Zusätzlich kann die Lampe auch zur Blumenzucht genutzt werden. Wird die Lampe über ein 3x3 großes Blumenbeet aus \"Garden Soil\" (Mod 'compost') platziert\\, so wachsen dort die Blumen ganz von selbst (über und unter Tage).\n"..
|
||||||
|
"\n"..
|
||||||
|
"Abernten kann man die Blumen mit den Signs Bot\\, der auch über ein entsprechendes Zeichen verfügt\\, das vor das Blumenfeld gestellt werden muss.\n"..
|
||||||
|
"\n"..
|
||||||
|
"Die Lampe benötigt 1 ku Strom.\n"..
|
||||||
|
"\n"..
|
||||||
|
"\n"..
|
||||||
|
"\n",
|
||||||
|
"",
|
||||||
"",
|
"",
|
||||||
"Siehe TA3 Tank.\n"..
|
"Siehe TA3 Tank.\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
@ -1291,9 +1309,13 @@ techage.manual_DE.aText = {
|
|||||||
"\n"..
|
"\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
"\n",
|
"\n",
|
||||||
"Die TA4 Kiste hat kein normales Inventar wir andere Kisten\\, sondern verfügt über 8 Speicher\\, wobei jeder Speicher bis zu 2000 Items einer Sorte aufnehmen kann. Über die orangefarbenen Taster können Items in den Speicher verschoben bzw. wieder heraus geholt werden. Die Kiste kann auch wie sonst üblich mit einem Schieber (TA2\\, TA3 oder TA4) gefüllt bzw. geleert werden.\n"..
|
"Die Funktion entspricht der von TA3. Die Kiste kann aber mehr Inhalt aufnehmen.\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
"Der TA4 Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:\n"..
|
"\n"..
|
||||||
|
"\n",
|
||||||
|
"Die TA4 8x2000 Kiste hat kein normales Inventar wir andere Kisten\\, sondern verfügt über 8 Speicher\\, wobei jeder Speicher bis zu 2000 Items einer Sorte aufnehmen kann. Über die orangefarbenen Taster können Items in den Speicher verschoben bzw. wieder heraus geholt werden. Die Kiste kann auch wie sonst üblich mit einem Schieber (TA2\\, TA3 oder TA4) gefüllt bzw. geleert werden.\n"..
|
||||||
|
"\n"..
|
||||||
|
"Der Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
" - 'count' dient zur Anfrage\\, wie viele Items in der Kiste sind.\nBeispiel 1: '$read_data(CHEST\\, \"count\")' --> Summe der Items über alle 8 Speicher\nBeispiel 2: '$read_data(CHEST\\, \"count\"\\, 2)' --> Anzahl der Items in Speicher 2 (zweiter von links)\n"..
|
" - 'count' dient zur Anfrage\\, wie viele Items in der Kiste sind.\nBeispiel 1: '$read_data(CHEST\\, \"count\")' --> Summe der Items über alle 8 Speicher\nBeispiel 2: '$read_data(CHEST\\, \"count\"\\, 2)' --> Anzahl der Items in Speicher 2 (zweiter von links)\n"..
|
||||||
"\n"..
|
"\n"..
|
||||||
@ -1471,6 +1493,9 @@ techage.manual_DE.aItemName = {
|
|||||||
"ta4_collector",
|
"ta4_collector",
|
||||||
"ta4_detector",
|
"ta4_detector",
|
||||||
"",
|
"",
|
||||||
|
"ta4_growlight",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
"ta4_tank",
|
"ta4_tank",
|
||||||
"ta4_pump",
|
"ta4_pump",
|
||||||
"ta4_furnaceheater",
|
"ta4_furnaceheater",
|
||||||
@ -1478,6 +1503,7 @@ techage.manual_DE.aItemName = {
|
|||||||
"ta4_tube",
|
"ta4_tube",
|
||||||
"ta4_pusher",
|
"ta4_pusher",
|
||||||
"ta4_chest",
|
"ta4_chest",
|
||||||
|
"ta4_chest",
|
||||||
"ta4_distributor",
|
"ta4_distributor",
|
||||||
"ta4_gravelsieve",
|
"ta4_gravelsieve",
|
||||||
"ta4_grinder",
|
"ta4_grinder",
|
||||||
@ -1648,5 +1674,9 @@ techage.manual_DE.aPlanTable = {
|
|||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -236,7 +236,18 @@ techage.register_node({"techage:furnace_firebox", "techage:furnace_firebox_on"},
|
|||||||
stop_firebox(pos, nvm)
|
stop_firebox(pos, nvm)
|
||||||
booster_cmnd(pos, "stop")
|
booster_cmnd(pos, "stop")
|
||||||
end
|
end
|
||||||
|
end,
|
||||||
|
on_node_load = function(pos, node)
|
||||||
|
local inv = M(pos):get_inventory()
|
||||||
|
if not inv:is_empty("fuel") then
|
||||||
|
local nvm = techage.get_nvm(pos)
|
||||||
|
nvm.liquid = nvm.liquid or {}
|
||||||
|
local count = inv:get_stack("fuel", 1):get_count()
|
||||||
|
nvm.liquid.amount = (nvm.liquid.amount or 0) + count
|
||||||
|
nvm.liquid.name = "techage:gasoline"
|
||||||
|
inv:set_stack("fuel", 1, nil)
|
||||||
end
|
end
|
||||||
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
Pipe:add_secondary_node_names({"techage:furnace_firebox", "techage:furnace_firebox_on"})
|
Pipe:add_secondary_node_names({"techage:furnace_firebox", "techage:furnace_firebox_on"})
|
||||||
|
2
init.lua
2
init.lua
@ -140,12 +140,14 @@ else
|
|||||||
|
|
||||||
-- Lamps
|
-- Lamps
|
||||||
dofile(MP.."/lamps/lib.lua")
|
dofile(MP.."/lamps/lib.lua")
|
||||||
|
dofile(MP.."/lamps/lightblock.lua")
|
||||||
dofile(MP.."/lamps/simplelamp.lua")
|
dofile(MP.."/lamps/simplelamp.lua")
|
||||||
dofile(MP.."/lamps/streetlamp.lua")
|
dofile(MP.."/lamps/streetlamp.lua")
|
||||||
dofile(MP.."/lamps/ceilinglamp.lua")
|
dofile(MP.."/lamps/ceilinglamp.lua")
|
||||||
dofile(MP.."/lamps/industriallamp1.lua")
|
dofile(MP.."/lamps/industriallamp1.lua")
|
||||||
dofile(MP.."/lamps/industriallamp2.lua")
|
dofile(MP.."/lamps/industriallamp2.lua")
|
||||||
dofile(MP.."/lamps/industriallamp3.lua")
|
dofile(MP.."/lamps/industriallamp3.lua")
|
||||||
|
dofile(MP.."/lamps/growlight.lua")
|
||||||
|
|
||||||
-- Oil
|
-- Oil
|
||||||
dofile(MP.."/oil/explore.lua")
|
dofile(MP.."/oil/explore.lua")
|
||||||
|
@ -34,6 +34,11 @@ minetest.register_craftitem("techage:ta4_ramchip", {
|
|||||||
inventory_image = "techage_ramchip.png",
|
inventory_image = "techage_ramchip.png",
|
||||||
})
|
})
|
||||||
|
|
||||||
|
minetest.register_craftitem("techage:ta4_leds", {
|
||||||
|
description = S("TA4 LEDs"),
|
||||||
|
inventory_image = "techage_leds.png",
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
techage.recipes.add("ta2_electronic_fab", {
|
techage.recipes.add("ta2_electronic_fab", {
|
||||||
output = "techage:vacuum_tube 2",
|
output = "techage:vacuum_tube 2",
|
||||||
@ -54,3 +59,18 @@ techage.recipes.add("ta3_electronic_fab", {
|
|||||||
output = "techage:ta4_ramchip 8",
|
output = "techage:ta4_ramchip 8",
|
||||||
input = {"default:mese_crystal 1", "default:gold_ingot 1", "default:copper_ingot 1", "techage:ta4_silicon_wafer 1"}
|
input = {"default:mese_crystal 1", "default:gold_ingot 1", "default:copper_ingot 1", "techage:ta4_silicon_wafer 1"}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
techage.recipes.add("ta4_electronic_fab", {
|
||||||
|
output = "techage:ta4_wlanchip 8",
|
||||||
|
input = {"default:mese_crystal 1", "default:copper_ingot 1", "default:gold_ingot 1", "techage:ta4_silicon_wafer 1"}
|
||||||
|
})
|
||||||
|
|
||||||
|
techage.recipes.add("ta4_electronic_fab", {
|
||||||
|
output = "techage:ta4_ramchip 8",
|
||||||
|
input = {"default:mese_crystal 1", "default:gold_ingot 1", "default:copper_ingot 1", "techage:ta4_silicon_wafer 1"}
|
||||||
|
})
|
||||||
|
|
||||||
|
techage.recipes.add("ta4_electronic_fab", {
|
||||||
|
output = "techage:ta4_leds 8",
|
||||||
|
input = {"basic_materials:plastic_sheet 4", "basic_materials:copper_wire 1", "techage:ta4_silicon_wafer 1"}
|
||||||
|
})
|
||||||
|
144
lamps/growlight.lua
Normal file
144
lamps/growlight.lua
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
--[[
|
||||||
|
|
||||||
|
TechAge
|
||||||
|
=======
|
||||||
|
|
||||||
|
Copyright (C) 2020 Joachim Stolberg
|
||||||
|
|
||||||
|
GPL v3
|
||||||
|
See LICENSE.txt for more information
|
||||||
|
|
||||||
|
TA4 LED Grow Light
|
||||||
|
|
||||||
|
]]--
|
||||||
|
|
||||||
|
local S = techage.S
|
||||||
|
|
||||||
|
local CYCLE_TIME = 2
|
||||||
|
local Cable = techage.ElectricCable
|
||||||
|
local power = techage.power
|
||||||
|
local Flowers = {}
|
||||||
|
local Plants = {}
|
||||||
|
-- 9 plant positions below the light
|
||||||
|
local Positions = {
|
||||||
|
{x = 0, y =-1, z = 0},
|
||||||
|
{x =-1, y =-1, z = 0},
|
||||||
|
{x = 0, y =-1, z =-1},
|
||||||
|
{x = 1, y =-1, z = 0},
|
||||||
|
{x = 0, y =-1, z = 1},
|
||||||
|
{x =-1, y =-1, z =-1},
|
||||||
|
{x = 1, y =-1, z = 1},
|
||||||
|
{x =-1, y =-1, z = 1},
|
||||||
|
{x = 1, y =-1, z =-1},
|
||||||
|
}
|
||||||
|
|
||||||
|
local function node_timer(pos, elapsed)
|
||||||
|
power.consumer_alive(pos, Cable, CYCLE_TIME)
|
||||||
|
local nvm = techage.get_nvm(pos)
|
||||||
|
nvm.tick = nvm.tick or math.random(15, 30)
|
||||||
|
nvm.tick = nvm.tick - 1
|
||||||
|
if nvm.tick == 0 then
|
||||||
|
nvm.tick = math.random(15, 30)
|
||||||
|
local plant_pos = vector.add(pos, Positions[math.random(1, 9)])
|
||||||
|
local soil_pos = {x = plant_pos.x, y = plant_pos.y - 1, z = plant_pos.z}
|
||||||
|
local plant_node = minetest.get_node(plant_pos)
|
||||||
|
local soil_node = minetest.get_node(soil_pos)
|
||||||
|
if soil_node and soil_node.name == "compost:garden_soil" then
|
||||||
|
if plant_node and plant_node.name == "air" then
|
||||||
|
local idx = math.floor(math.random(1, #Flowers))
|
||||||
|
minetest.set_node(plant_pos, {name = Flowers[idx]})
|
||||||
|
elseif plant_node and Plants[plant_node.name] then
|
||||||
|
local ndef = minetest.registered_nodes[plant_node.name]
|
||||||
|
ndef.on_timer(plant_pos, 200)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
|
||||||
|
local function on_switch_lamp(pos, on)
|
||||||
|
techage.light_ring(pos, on)
|
||||||
|
end
|
||||||
|
|
||||||
|
techage.register_lamp("techage:growlight", {
|
||||||
|
description = S("TA4 LED Grow Light"),
|
||||||
|
tiles = {
|
||||||
|
-- up, down, right, left, back, front
|
||||||
|
'techage_growlight_off.png',
|
||||||
|
'techage_growlight_back.png',
|
||||||
|
'techage_growlight_off.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
},
|
||||||
|
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-8/16, -8/16, -8/16, 8/16, -13/32, 8/16},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
on_switch_lamp = on_switch_lamp,
|
||||||
|
},{
|
||||||
|
description = S("TA4 LED Grow Light"),
|
||||||
|
tiles = {
|
||||||
|
-- up, down, right, left, back, front
|
||||||
|
'techage_growlight_on.png',
|
||||||
|
'techage_growlight_back.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
'techage_growlight_side.png',
|
||||||
|
},
|
||||||
|
|
||||||
|
drawtype = "nodebox",
|
||||||
|
node_box = {
|
||||||
|
type = "fixed",
|
||||||
|
fixed = {
|
||||||
|
{-8/16, -8/16, -8/16, 8/16, -13/32, 8/16},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
on_timer = node_timer,
|
||||||
|
on_switch_lamp = on_switch_lamp,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.register_craft({
|
||||||
|
output = "techage:growlight_off",
|
||||||
|
recipe = {
|
||||||
|
{"techage:ta4_leds", "techage:basalt_glass_thin", "techage:ta4_leds"},
|
||||||
|
{"techage:ta4_leds", "techage:ta4_leds", "techage:ta4_leds"},
|
||||||
|
{"techage:ta4_leds", "techage:aluminum", "techage:ta4_leds"},
|
||||||
|
},
|
||||||
|
})
|
||||||
|
|
||||||
|
function techage.register_flower(name)
|
||||||
|
Flowers[#Flowers+1] = name
|
||||||
|
end
|
||||||
|
|
||||||
|
function techage.register_plant(name)
|
||||||
|
Plants[name] = true
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.after(1, function()
|
||||||
|
for name,_ in pairs(minetest.registered_decorations) do
|
||||||
|
if type(name) == "string" then
|
||||||
|
local mod = string.split(name, ":")[1]
|
||||||
|
if mod == "flowers" then
|
||||||
|
techage.register_flower(name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
for name,ndef in pairs(minetest.registered_nodes) do
|
||||||
|
if type(name) == "string" then
|
||||||
|
local mod = string.split(name, ":")[1]
|
||||||
|
if mod == "farming" then
|
||||||
|
if ndef.on_timer then -- probably a plant that still needs to grow
|
||||||
|
techage.register_plant(name)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
@ -31,6 +31,10 @@ local function swap_node(pos, postfix)
|
|||||||
end
|
end
|
||||||
node.name = parts[1].."_"..postfix
|
node.name = parts[1].."_"..postfix
|
||||||
minetest.swap_node(pos, node)
|
minetest.swap_node(pos, node)
|
||||||
|
local ndef = minetest.registered_nodes[node.name]
|
||||||
|
if ndef.on_switch_lamp then
|
||||||
|
ndef.on_switch_lamp(pos, postfix == "on")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function on_power(pos)
|
local function on_power(pos)
|
||||||
@ -130,7 +134,7 @@ function techage.register_lamp(basename, ndef_off, ndef_on)
|
|||||||
ndef_on.networks = net_def
|
ndef_on.networks = net_def
|
||||||
ndef_on.on_rightclick = lamp_on_rightclick
|
ndef_on.on_rightclick = lamp_on_rightclick
|
||||||
ndef_on.on_rotate = ndef_on.on_rotate or on_rotate
|
ndef_on.on_rotate = ndef_on.on_rotate or on_rotate
|
||||||
ndef_on.on_timer = node_timer
|
ndef_on.on_timer = ndef_on.on_timer or node_timer
|
||||||
ndef_on.paramtype = "light"
|
ndef_on.paramtype = "light"
|
||||||
ndef_on.light_source = minetest.LIGHT_MAX
|
ndef_on.light_source = minetest.LIGHT_MAX
|
||||||
ndef_on.sunlight_propagates = true
|
ndef_on.sunlight_propagates = true
|
||||||
|
63
lamps/lightblock.lua
Normal file
63
lamps/lightblock.lua
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
--[[
|
||||||
|
|
||||||
|
TechAge
|
||||||
|
=======
|
||||||
|
|
||||||
|
Copyright (C) 2020 Joachim Stolberg
|
||||||
|
|
||||||
|
GPL v3
|
||||||
|
See LICENSE.txt for more information
|
||||||
|
|
||||||
|
TA4 Invisible Light Block
|
||||||
|
|
||||||
|
]]--
|
||||||
|
|
||||||
|
local S = techage.S
|
||||||
|
|
||||||
|
-- 9 light positions in a 3x3 field
|
||||||
|
local Positions = {
|
||||||
|
{x =-1, y = 0, z = 0},
|
||||||
|
{x = 0, y = 0, z =-1},
|
||||||
|
{x = 1, y = 0, z = 0},
|
||||||
|
{x = 0, y = 0, z = 1},
|
||||||
|
{x =-1, y = 0, z =-1},
|
||||||
|
{x = 1, y = 0, z = 1},
|
||||||
|
{x =-1, y = 0, z = 1},
|
||||||
|
{x = 1, y = 0, z =-1},
|
||||||
|
}
|
||||||
|
|
||||||
|
minetest.register_node("techage:lightblock", {
|
||||||
|
description = "Techage Light Block",
|
||||||
|
drawtype = "airlike",
|
||||||
|
paramtype = "light",
|
||||||
|
light_source = minetest.LIGHT_MAX,
|
||||||
|
sunlight_propagates = true,
|
||||||
|
walkable = false,
|
||||||
|
pointable = false,
|
||||||
|
diggable = false,
|
||||||
|
buildable_to = true,
|
||||||
|
floodable = true,
|
||||||
|
is_ground_content = false,
|
||||||
|
groups = {not_in_creative_inventory=1},
|
||||||
|
})
|
||||||
|
|
||||||
|
function techage.light_ring(center_pos, on)
|
||||||
|
for _,dir in ipairs(Positions) do
|
||||||
|
local pos1 = vector.add(center_pos, dir)
|
||||||
|
local node = techage.get_node_lvm(pos1)
|
||||||
|
print("light_ring", node.name, minetest.pos_to_string(pos1))
|
||||||
|
if on then
|
||||||
|
if node.name == "air" then
|
||||||
|
minetest.set_node(pos1, {name = "techage:lightblock"})
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if node.name == "techage:lightblock" then
|
||||||
|
minetest.remove_node(pos1)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
local pos1 = {x=center_pos.x-2, y=center_pos.y-2, z=center_pos.z-2}
|
||||||
|
local pos2 = {x=center_pos.x+2, y=center_pos.y+2, z=center_pos.z+2}
|
||||||
|
minetest.fix_light(pos1, pos2)
|
||||||
|
end
|
||||||
|
|
@ -409,6 +409,27 @@ Diesen Zähler kann man über das Kommando 'count' abfragen und über 'reset' zu
|
|||||||
[ta4_detector|image]
|
[ta4_detector|image]
|
||||||
|
|
||||||
|
|
||||||
|
## TA4 Lampen
|
||||||
|
|
||||||
|
TA4 beinhaltet eine Reihe von leistungsstarken Lampen, die eine bessere Ausleuchtung ermöglichen oder Spezialaufgaben übernehmen.
|
||||||
|
|
||||||
|
### TA4 LED Pflanzenlampe / TA4 LED Grow Light
|
||||||
|
|
||||||
|
Die TA4 LED Pflanzenlampe ermöglicht ein schnelles und kräftiges Wachstum aller Pflanzen aus der `farming` Mod. Die Lampe beleuchtet ein 3x3 großes Feld, so dass sich damit auch Pflanzen unter Tage anbauen lassen.
|
||||||
|
Die Lampe muss mit einem Abstand von einem Block über dem Boden in der Mitte des 3x3 Feldes platziert werden.
|
||||||
|
|
||||||
|
Zusätzlich kann die Lampe auch zur Blumenzucht genutzt werden. Wird die Lampe über ein 3x3 großes Blumenbeet aus "Garden Soil" (Mod `compost`) platziert, so wachsen dort die Blumen ganz von selbst (über und unter Tage).
|
||||||
|
|
||||||
|
Abernten kann man die Blumen mit den Signs Bot, der auch über ein entsprechendes Zeichen verfügt, das vor das Blumenfeld gestellt werden muss.
|
||||||
|
|
||||||
|
Die Lampe benötigt 1 ku Strom.
|
||||||
|
|
||||||
|
[ta4_growlight|image]
|
||||||
|
|
||||||
|
### weitere Lampen kommen noch...
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Weitere TA4 Blöcke
|
## Weitere TA4 Blöcke
|
||||||
|
|
||||||
### TA4 Tank / TA4 Tank
|
### TA4 Tank / TA4 Tank
|
||||||
@ -462,11 +483,17 @@ Der TA4 Schieber besitzt zwei zusätzliche Kommandos für den Lua Controller:
|
|||||||
|
|
||||||
[ta4_pusher|image]
|
[ta4_pusher|image]
|
||||||
|
|
||||||
### TA4 Kiste / Chest
|
### TA4 Kiste / TA4 Chest
|
||||||
|
|
||||||
Die TA4 Kiste hat kein normales Inventar wir andere Kisten, sondern verfügt über 8 Speicher, wobei jeder Speicher bis zu 2000 Items einer Sorte aufnehmen kann. Über die orangefarbenen Taster können Items in den Speicher verschoben bzw. wieder heraus geholt werden. Die Kiste kann auch wie sonst üblich mit einem Schieber (TA2, TA3 oder TA4) gefüllt bzw. geleert werden.
|
Die Funktion entspricht der von TA3. Die Kiste kann aber mehr Inhalt aufnehmen.
|
||||||
|
|
||||||
Der TA4 Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:
|
[ta4_chest|image]
|
||||||
|
|
||||||
|
### TA4 8x2000 Kiste / TA4 8x2000 Chest
|
||||||
|
|
||||||
|
Die TA4 8x2000 Kiste hat kein normales Inventar wir andere Kisten, sondern verfügt über 8 Speicher, wobei jeder Speicher bis zu 2000 Items einer Sorte aufnehmen kann. Über die orangefarbenen Taster können Items in den Speicher verschoben bzw. wieder heraus geholt werden. Die Kiste kann auch wie sonst üblich mit einem Schieber (TA2, TA3 oder TA4) gefüllt bzw. geleert werden.
|
||||||
|
|
||||||
|
Der Kiste besitzt ein zusätzliches Kommandos für den Lua Controller:
|
||||||
|
|
||||||
- `count` dient zur Anfrage, wie viele Items in der Kiste sind.
|
- `count` dient zur Anfrage, wie viele Items in der Kiste sind.
|
||||||
Beispiel 1: `$read_data(CHEST, "count")` --> Summe der Items über alle 8 Speicher
|
Beispiel 1: `$read_data(CHEST, "count")` --> Summe der Items über alle 8 Speicher
|
||||||
|
@ -153,6 +153,9 @@
|
|||||||
- [TA4 Spieler Detektor / Player Detector](./manual_ta4_DE.md#ta4-spieler-detektor--player-detector)
|
- [TA4 Spieler Detektor / Player Detector](./manual_ta4_DE.md#ta4-spieler-detektor--player-detector)
|
||||||
- [TA4 Zustandssammler / State Collector](./manual_ta4_DE.md#ta4-zustandssammler--state-collector)
|
- [TA4 Zustandssammler / State Collector](./manual_ta4_DE.md#ta4-zustandssammler--state-collector)
|
||||||
- [TA4 Detektor / Detector](./manual_ta4_DE.md#ta4-detektor--detector)
|
- [TA4 Detektor / Detector](./manual_ta4_DE.md#ta4-detektor--detector)
|
||||||
|
- [TA4 Lampen](./manual_ta4_DE.md#ta4-lampen)
|
||||||
|
- [TA4 LED Pflanzenlampe / TA4 LED Grow Light](./manual_ta4_DE.md#ta4-led-pflanzenlampe--ta4-led-grow-light)
|
||||||
|
- [weitere Lampen kommen noch...](./manual_ta4_DE.md#weitere-lampen-kommen-noch...)
|
||||||
- [Weitere TA4 Blöcke](./manual_ta4_DE.md#weitere-ta4-blöcke)
|
- [Weitere TA4 Blöcke](./manual_ta4_DE.md#weitere-ta4-blöcke)
|
||||||
- [TA4 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank)
|
- [TA4 Tank / TA4 Tank](./manual_ta4_DE.md#ta4-tank--ta4-tank)
|
||||||
- [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump)
|
- [TA4 Pumpe / TA4 Pump](./manual_ta4_DE.md#ta4-pumpe--ta4-pump)
|
||||||
@ -160,7 +163,8 @@
|
|||||||
- [TA4 Wasserpumpe / Water Pump](./manual_ta4_DE.md#ta4-wasserpumpe--water-pump)
|
- [TA4 Wasserpumpe / Water Pump](./manual_ta4_DE.md#ta4-wasserpumpe--water-pump)
|
||||||
- [TA4 Röhren / TA4 Tube](./manual_ta4_DE.md#ta4-röhren--ta4-tube)
|
- [TA4 Röhren / TA4 Tube](./manual_ta4_DE.md#ta4-röhren--ta4-tube)
|
||||||
- [TA4 Schieber / Pusher](./manual_ta4_DE.md#ta4-schieber--pusher)
|
- [TA4 Schieber / Pusher](./manual_ta4_DE.md#ta4-schieber--pusher)
|
||||||
- [TA4 Kiste / Chest](./manual_ta4_DE.md#ta4-kiste--chest)
|
- [TA4 Kiste / TA4 Chest](./manual_ta4_DE.md#ta4-kiste--ta4-chest)
|
||||||
|
- [TA4 8x2000 Kiste / TA4 8x2000 Chest](./manual_ta4_DE.md#ta4-8x2000-kiste--ta4-8x2000-chest)
|
||||||
- [TA4 Verteiler / Distributor](./manual_ta4_DE.md#ta4-verteiler--distributor)
|
- [TA4 Verteiler / Distributor](./manual_ta4_DE.md#ta4-verteiler--distributor)
|
||||||
- [TA4 Kiessieb / Gravel Sieve](./manual_ta4_DE.md#ta4-kiessieb--gravel-sieve)
|
- [TA4 Kiessieb / Gravel Sieve](./manual_ta4_DE.md#ta4-kiessieb--gravel-sieve)
|
||||||
- [TA4 Mühle / Grinder](./manual_ta4_DE.md#ta4-mühle--grinder)
|
- [TA4 Mühle / Grinder](./manual_ta4_DE.md#ta4-mühle--grinder)
|
BIN
textures/techage_growlight_back.png
Normal file
BIN
textures/techage_growlight_back.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 214 B |
BIN
textures/techage_growlight_off.png
Normal file
BIN
textures/techage_growlight_off.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 358 B |
BIN
textures/techage_growlight_on.png
Normal file
BIN
textures/techage_growlight_on.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 337 B |
BIN
textures/techage_growlight_side.png
Normal file
BIN
textures/techage_growlight_side.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 247 B |
BIN
textures/techage_leds.png
Normal file
BIN
textures/techage_leds.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
Loading…
Reference in New Issue
Block a user