Changed the old method of transfers to a new one
Some checks failed
Check & Release / lint (push) Has been cancelled

This commit is contained in:
Vitaliy Olkhin 2024-11-04 13:01:31 +05:00
parent 18df2813a0
commit aab2ce7940
29 changed files with 1149 additions and 70 deletions

View File

@ -32,7 +32,7 @@ else
end) end)
end end
end end
local S = technic.getter local S = minetest.get_translator("technic")
-- Read configuration file -- Read configuration file
dofile(modpath.."/config.lua") dofile(modpath.."/config.lua")

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
minetest.register_craftitem("technic:silicon_wafer", { minetest.register_craftitem("technic:silicon_wafer", {
description = S("Silicon Wafer"), description = S("Silicon Wafer"),
@ -146,7 +146,7 @@ for p = 0, 35 do
local block = "technic:uranium"..psuffix.."_block" local block = "technic:uranium"..psuffix.."_block"
local ov = p == 7 and minetest.override_item or nil; local ov = p == 7 and minetest.override_item or nil;
(ov or minetest.register_craftitem)(ingot, { (ov or minetest.register_craftitem)(ingot, {
description = string.format(S("%.1f%%-Fissile Uranium Ingot"), p/10), description = S("@1-Fissile Uranium Ingot", string.format("%.1f%%", p/10)),
inventory_image = "technic_uranium_ingot.png", inventory_image = "technic_uranium_ingot.png",
groups = {uranium_ingot=1, not_in_creative_inventory=nici}, groups = {uranium_ingot=1, not_in_creative_inventory=nici},
}); });
@ -183,7 +183,7 @@ for p = 0, 35 do
-- a 3.5%-fissile uranium block. -- a 3.5%-fissile uranium block.
local radioactivity = math.floor(math.sqrt((1+5.55*p/35) * 18 / (1+5.55*7/35)) + 0.5); local radioactivity = math.floor(math.sqrt((1+5.55*p/35) * 18 / (1+5.55*7/35)) + 0.5);
(ov or minetest.register_node)(block, { (ov or minetest.register_node)(block, {
description = string.format(S("%.1f%%-Fissile Uranium Block"), p/10), description = S("@1-Fissile Uranium Block", string.format("%.1f%%", p/10)),
tiles = {"technic_uranium_block.png"}, tiles = {"technic_uranium_block.png"},
is_ground_content = true, is_ground_content = true,
groups = {uranium_block=1, not_in_creative_inventory=nici, groups = {uranium_block=1, not_in_creative_inventory=nici,

View File

@ -0,0 +1,168 @@
# German Translation for Technic Mod
# Deutsche Uebersetzung des Technic Mods
# by Xanthin
## Misc
[Technic] Loaded in %f seconds = [Technic] ist in %f Sekunden geladen
## Items
Silicon Wafer = Siliziumscheibe
Doped Silicon Wafer = Dotierte Siliziumscheibe
Enriched Uranium = Angereichertes Uran
Uranium Fuel = Uranbrennstoff
Diamond Drill Head = Diamantbohrkopf
Blue Energy Crystal = Blauer Energiekristall
Green Energy Crystal = Gruener Energiekristall
Red Energy Crystal = Roter Energiekristall
Fine Copper Wire = Feinkupferdraht
Copper Coil = Kupferspule
Electric Motor = Elektromotor
Low Voltage Transformer = Niederspannungstransformator
Medium Voltage Transformer = Mittelspannungstransformator
High Voltage Transformer = Hochspannungstransformator
Control Logic Unit = Steuer- und Regelungseinheit
Mixed Metal Ingot = Mischmetallbarren
Composite Plate = Verbundplatte
Copper Plate = Kupferplatte
Carbon Plate = Kohlefaserplatte
Graphite = Graphit
Carbon Cloth = Kohlefasergewebe
Raw Latex = Rohlatex
Rubber Fiber = Gummifaser
%.1f%%-Fissile Uranium Ingot =
%.1f%%-Fissile Uranium Block =
## Machine misc
Machine cannot be removed because it is not empty = Die Maschine kann nicht entfernt werden, weil sie noch nicht leer ist.
Inventory move disallowed due to protection = Das Inventar ist geschuetzt, Zugriff verweigert.
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 ist eingeschaltet (@2 EU)
%s Active = %s ist eingeschaltet
%s Disabled = %s ist ausgeschaltet
%s Enabled =
%s Idle = %s ist bereit
%s Improperly Placed = %s ist falsch plaziert
%s Unpowered = %s hat keine Stromversorgung
%s Out Of Fuel = %s hat keinen Brennstoff
%s Has Bad Cabling = %s ist falsch verkabelt
%s Has No Network = %s hat kein Netzwerk
%s Finished = %s ist fertig
Enable/Disable = Einschalten/Ausschalten
Range = Reichweite
Upgrade Slots = Verbesserungsfaecher
In: = Rein:
Out: = Raus:
Slot %d = Fach %d
Itemwise = Einzelstuecke
Stackwise = Ganzer Stapel
Owner: =
Unlocked =
Locked =
Radius: =
Enabled =
Disabled =
## Machine names
# $1: Tier
%s Alloy Furnace = %s Legierungsofen
%s Battery Box = %s Batteriebox
%s Cable = %s Kabel
%s Compressor = %s Kompressor
%s Extractor = %s Extraktor
%s Forcefield Emitter = %s Kraftfeld-Emitter
%s Furnace = %s Ofen
%s Grinder = %s Schleifmaschine
%s Music Player = %s Musikspieler
%s Quarry = %s Steinbruch
%s Tool Workshop = %s Werkzeugwerkstatt
Arrayed Solar %s Generator = %s Solaranlage
Fuel-Fired %s Generator = %s Kohle-Generator
Geothermal %s Generator = %s Geothermie-Generator
Hydro %s Generator = %s Wassermuehle
Nuclear %s Generator Core = %s Reaktorkern
Small Solar %s Generator = %s Solarmodul
Wind %s Generator = %s Windmuehle
Self-Contained Injector = Selbstversorger-Injektor
Constructor Mk%d = Konstruktor Modell %d
Frame = Rahmen
Frame Motor = Rahmenmotor
Template = Schablone
Template (replacing) = Schablone (ersetzend)
Template motor = Schablonenmotor
Template tool = Schablonenwerkzeug
Battery Box = Batteriebox
Supply Converter = Stromumwandler
Switching Station = Schaltanlage
Fuel-Fired Alloy Furnace = Kohle-Legierungsofen
Fuel-Fired Furnace = Kohle-Ofen
Wind Mill Frame = Windmuehlengeruest
Forcefield = Kraftfeld
Nuclear Reactor Rod Compartment = Brennstabfaecher
Administrative World Anchor =
## Machine-specific
# $1: Pruduced EU
Charge = Aufladen
Discharge = Entladen
Power level = Energiestufe
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Batteriebox: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Versorgung: @2 Bedarf: @3
Production at %d%% = Produktion bei %d%%
Choose Milling Program: = Waehle ein Fraesprogramm:
Slim Elements half / normal height: = Schmale Elemente von halber / normaler Hoehe:
Current track %s = Aktueller Titel %s
Stopped =
Keeping %d/%d map blocks loaded =
Digging not started =
Digging finished =
Digging %d m above machine =
Digging %d m below machine =
## Grinder Recipes
# $1: Name
%s Dust = %sstaub
Akalin = Akalin
Alatro = Alatro
Arol = Arol
Brass = Messing
Bronze = Bronze
Carbon Steel = Kohlenstoffstahl
Cast Iron = Gusseisen
Chromium = Chrom
Coal = Kohle
Copper = Kupfer
Gold = Gold
Mithril = Mithril
Silver = Silber
Stainless Steel = Edelstahl
Talinite = Talinite
Tin = Zinn
Wrought Iron = Schmiedeeisen
Zinc = Zink
%.1f%%-Fissile Uranium =
## Tools
RE Battery = Akkubatterie
Water Can = Wasserkanister
Lava Can = Lavakanister
Chainsaw = Kettensaege
Flashlight = Taschenlampe
3 nodes deep. = 3 Bloecke tief.
3 nodes tall. = 3 Bloecke hoch.
3 nodes wide. = 3 Bloecke breit.
3x3 nodes. = 3x3 Bloecke.
Use while sneaking to change Mining Drill Mk%d modes. = Halte die Shift-Taste beim Benutzen gedrueckt, um die Funktion des Bergbaubohrers Modell %d zu aendern.
Mining Drill Mk%d Mode %d = Bergbaubohrer Modell %d Funktion %d
Mining Drill Mk%d = Bergbaubohrer Modell %d
Mining Laser Mk%d = Bergbaulaser Modell %d
Single node. = Einzelblock
Sonic Screwdriver = Schallschraubendreher
Tree Tap = Baumzapfhahn
## Craft descriptions
Alloy cooking =
Grinding =
Compressing =
Extracting =

View File

@ -0,0 +1,162 @@
# Spanish Translation for Technic Mod
# Traduccion al Español del Mod Technic
# Autor: Diego Martínez <kaeza>
## Misc
[Technic] Loaded in %f seconds = [Technic] Cargado en %f segundos
## Items
Silicon Wafer = Oblea de Silicio
Doped Silicon Wafer = Oblea de Silicio Dopada
Enriched Uranium = Uranio Enriquecido
Uranium Fuel = Combustible de Uranio
Diamond Drill Head = Mecha de Taladro de Diamante
Blue Energy Crystal = Cristal de Energia Azul
Green Energy Crystal = Cristal de Energia Verde
Red Energy Crystal = Cristal de Energia Rojo
Fine Copper Wire = Cable Fino de Cobre
Copper Coil = Resorte de Cobre
Electric Motor = Motor Electrico
Low Voltage Transformer = Transformador de Bajo Voltaje
Medium Voltage Transformer = Transformador de Voltaje Medio
High Voltage Transformer = Transformador de Alto Voltaje
Control Logic Unit = Unidad Logica de Control
Mixed Metal Ingot = Lingote de Metal Mezclado
Composite Plate = Placa de Compuestos
Copper Plate = Placa de Cobre
Carbon Plate = Placa de Carbon
Graphite = Grafito
Carbon Cloth = Tela de Carbon
Raw Latex = Latex Crudo
Rubber Fiber = Fibra de Hule
%.1f%%-Fissile Uranium Ingot =
%.1f%%-Fissile Uranium Block =
## Machine misc
Machine cannot be removed because it is not empty = La maquina no puede removerse porque no esta vacia
Inventory move disallowed due to protection =
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Activo (@2 EU)
%s Active = %s Activo
%s Enabled =
%s Idle = %s Quieto
%s Unpowered = %s Sin Energia
%s Out Of Fuel = %s Sin Combustible
%s Has Bad Cabling = %s Tiene Mal Cableado
%s Has No Network = %s No Tiene Una Red
%s Finished = %s Terminado
%s Disabled = %s Deshabilitado
%s Improperly Placed = %s No Colocado Apropiadamente
Range = Alcance
Enable/Disable = Habilitar/Deshabilitar
Itemwise =
Stackwise =
Owner: =
Unlocked =
Locked =
Radius: =
Enabled =
Disabled =
## Machine names
# $1: Tier
%s Alloy Furnace = Horno de Aleacion %s
%s Battery Box = Caja de Bateria %s
%s Cable = Cable %s
%s Compressor = Compresor %s
%s Extractor = Extractor %s
%s Forcefield Emitter = Emisor de Campo de Fuerza %s
%s Furnace = Horno %s
%s Grinder = Amoladora %s
%s Music Player = Reproductor de Musica %s
%s Quarry = Cantera %s
%s Tool Workshop = Taller de Herramientas %s
Arrayed Solar %s Generator = Panel Solar %s
Fuel-Fired %s Generator = Generador a Carbon %s
Geothermal %s Generator = Generador Geotermico %s
Hydro %s Generator = Molino de Agua %s
Nuclear %s Generator Core = Nucleo de Reactor Nuclear %s
Small Solar %s Generator = Panel Solar %s
Wind %s Generator = Molino de Viento %s
Self-Contained Injector =
Constructor Mk%d =
Frame =
Frame Motor =
Template =
Template (replacing) =
Template Motor =
Template Tool =
Supply Converter = Convertidor de Alimentacion
Switching Station = Estacion de Conmutacion
Battery Box = Caja de Baterias
Fuel-Fired Alloy Furnace = Horno de Aleacion a Carbon
Fuel-Fired Furnace = Horno a Carbon
Forcefield = Campo de Fuerza
Nuclear Reactor Rod Compartment = Compartimiento para Vara de Reactor Nuclear
Wind Mill Frame = Armazon de Molino de Viento
Administrative World Anchor =
## Machine-specific
# $1: Pruduced EU
Charge = Cargar
Discharge = Descargar
Power level = Nivel de Poder
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = Caja de Bateria @1: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Alimentacion: @2 Demanda: @3
# $1: Production percent
Production at %d%% = Produccion en %d%%
Stopped =
Keeping %d/%d map blocks loaded =
Digging not started =
Digging finished =
Digging %d m above machine =
Digging %d m below machine =
## Grinder Recipes
# $1: Name
%s Dust = Polvo de %s
Akalin = Akalina
Alatro = Alatro
Arol = Arol
Brass = Laton
Bronze = Bronce
Carbon Steel = Acero al Carbono
Cast Iron = Hierro Fundido
Chromium = Cromo
Coal = Carbon
Copper = Cobre
Gold = Oro
Mithril = Mitrilo
Silver = Plata
Stainless Steel = Acero Inoxidable
Talinite = Talinita
Tin = Estanio
Wrought Iron = Hierro Forjado
Zinc = Zinc
%.1f%%-Fissile Uranium =
## Tools
RE Battery =
Water Can = Bidon de Agua
Lava Can = Bidon de Lava
Chainsaw = Motosierra
Flashlight = Linterna
3 nodes deep. = 3 nodos de profundo.
3 nodes tall. = 3 nodos de alto.
3 nodes wide. = 3 nodos de ancho.
3x3 nodes. = 3x3 nodos.
Use while sneaking to change Mining Drill Mk%d modes. = Manten pulsado Mayus y Usar para cambiar el modo del Taladro de Mineria Mk%d.
Mining Drill Mk%d Mode %d = Taladro de Mineria Mk%d Modo %d
Mining Drill Mk%d = Taladro de Mineria Mk%d
Mining Laser Mk%d = Laser de Mineria Mk%d
Single node. = Nodo simple.
Sonic Screwdriver = Destonillador Sonico
Tree Tap = Grifo de Arbol
## Craft descriptions
Alloy cooking =
Grinding =
Compressing =
Extracting =

View File

@ -0,0 +1,215 @@
# template.txt
# Template for translations of Technic
## Misc
[Technic] Loaded in %f seconds = [Technic] Chargement en %f secondes
## Items
Silicon Wafer = Tranche de silicium
Doped Silicon Wafer = Tranche de silicium doppée
Enriched Uranium = Uranium enrichi
Uranium Fuel = Uranium 235
Diamond Drill Head = Tête de forage en diamant
Blue Energy Crystal = Cristal d'énergie bleu
Green Energy Crystal = Cristal d'énergie vert
Red Energy Crystal = Cristal d'énergie rouge
Fine Copper Wire = Fil en cuivre fin
Fine Gold Wire = Fil en or fin
Fine Silver Wire = Fil en argent fin
Copper Coil = Bobine de cuivre
Electric Motor = Moteur électrique
Low Voltage Transformer = Transformateur basse tension
Medium Voltage Transformer = Transformateur moyenne tension
High Voltage Transformer = Transformateur haute tension
Control Logic Unit = Unité de contrôle logique
Mixed Metal Ingot = Lingot de métal allié
Composite Plate = Plaque composite
Copper Plate = Plaque de cuivre
Carbon Plate = Plaque de carbone
Graphite = Graphite
Carbon Cloth = Fibre de carbone
Raw Latex = Latex brut
Rubber Fiber = Fibre de caoutchouc
%.1f%%-Fissile Uranium Ingot = Lingot d'uranium fissile (%.1f%%)
%.1f%%-Fissile Uranium Block = Bloc d'uranium fissile (%.1f%%)
## Machine misc
Machine cannot be removed because it is not empty = La machine ne peut pas être retirée car elle n'est pas vide
Inventory move disallowed due to protection = Le mouvement d'inventaire n'est pas autorisé en raison de la protection
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Active (@2 EU)
%s Active = %s actif
%s Disabled = %s désactivé
%s Enabled = %s activé
%s Idle = %s au repos
%s Improperly Placed = %s est mal placé
%s is empty = %s est vide
%s Unpowered = %s non alimenté en énergie
%s Out Of Fuel = %s plus de carburant
%s Has Bad Cabling = %s est mal cablé
%s (Slave) = %s (esclave)
%s Has No Network = %s n'a pas de réseau
%s Finished = %s a fini
Enable/Disable = Activer/Désactiver
Range = Plage
Upgrade Slots = Emplacement d'amélioration
In: = Entrée :
Out: = Sortie :
Slot %d = Emplacement %d
Itemwise = Item par Item
Stackwise = Stack par Stack
Ignoring Mesecon Signal = Ignorer le signal Mesecon
Controlled by Mesecon Signal = Contrôlé par signal Mesecon
Owner: = Propriétaire :
Unlocked = Déverrouillé
Locked = Verrouillé
Radius: = Rayon :
Enabled = Activé
Disabled = Désactivé
## Machine names
# $1: Tier
%s Alloy Furnace = Four à alliage %s
%s Battery Box = Batterie %s
%s Cable = Câble %s
%s CNC Machine = Machine-outils %s
%s Centrifuge = Centrifugeuse %s
%s Compressor = Compresseur %s
%s Extractor = Extracteur %s
%s Forcefield Emitter = Emetteur de champ de force %s
%s Furnace = Four %s
%s Grinder = Broyeur %s
%s Music Player = Grammophone %s
%s Quarry = Carrière %s
%s Tool Workshop = Atelier d'outillage %s
Arrayed Solar %s Generator = Générateur solaire %s
Fuel-Fired %s Generator = Générateur thermique %s
Geothermal %s Generator = Géénarteur géothermique %s
Hydro %s Generator = Générateur hydroélectrique %s
Nuclear %s Generator Core = Générateur nucléaire %
Small Solar %s Generator = Petit générateur solaire %s
Wind %s Generator = Générateur éolien %s
Self-Contained Injector = Injecteur autonome
Constructor Mk%d = Constructeur Mk%d
Frame = Cadre
Frame Motor = Cadre de moteur
Template = Modèle
Template (replacing) =
Template Motor =
Template Tool =
Battery Box = Compartiment à batterie
Supply Converter = Convertisseur de tension
Switching Station = Station de commutation
Fuel-Fired Alloy Furnace = Four à alliage à carburant
Fuel-Fired Furnace = Four à carburant
Wind Mill Frame = Cadre d'éolienne
Forcefield = Champ de force
Nuclear Reactor Rod Compartment = Compartiment à barres du réacteur nucléaire
Administrative World Anchor =
## Machine-specific
# $1: Pruduced EU
Charge = Charger
Discharge = Décharger
Power level = Niveau d'énergie
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 batterie : @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. fournit : @2 demande : @3
Production at %d%% = Production à %d%%
Choose Milling Program: = Choisissez le programme de fraisage :
Slim Elements half / normal height: =
Current track %s = Morceau actuel %s
Stopped = Arrêté
Keeping %d/%d map blocks loaded =
Digging not started = Creusement non démarré
Digging finished = Creusement terminé
Digging %d m above machine = Creusement à %dm au dessus de la machine
Digging %d m below machine = Creusement à %dm en dessous de la machine
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
## CNC
Cylinder =
Element Cross = Elément croisé
Element Cross Double = Elément croisé (double)
Element Edge = Elément de bordure
Element Edge Double = Elément de bordure (double)
Element End = Elément de fin
Element End Double = Elément de fin (double)
Element Straight = Elément droit
Element Straight Double = Elément droit (double)
Element T = Elément en T
Element T Double = Elément en T (double)
Horizontal Cylinder = Cylindre horizontal
One Curved Edge Block = Bloc à un bord incurvé
Pyramid = Pyramide
Slope = Pente
Slope Edge =
Slope Inner Edge =
Slope Lying =
Slope Upside Down =
Slope Upside Down Edge =
Slope Upside Down Inner Edge =
Sphere = Sphère
Spike = Pointe
Stick = Bâton
Two Curved Edge Block = Bloc à deux bords incurvés
Brick = Brique
Cobble = Pierre taillée
Dirt = Terre
Leaves = Feuilles
Sandstone = Grès
Stone = Pierre
Tree = Arbre
Wooden = Bois
## Grinder Recipes
# $1: Name
%s Dust = Poudre de %s
Akalin =
Alatro =
Arol =
Brass = Laiton
Bronze = Bronze
Carbon Steel = Acier au carbone
Cast Iron = Fonte
Chromium = Chrome
Coal = Charbon
Copper = Cuivre
Gold = Or
Mithril = Mithril
Silver = Argent
Stainless Steel = Acier inoxydable
Talinite = Talanite
Tin = Etain
Wrought Iron = Fer
Zinc = Zinc
%.1f%%-Fissile Uranium = Uranium fissile (%.1f%%)
## Tools
RE Battery = Batterie RE
Water Can = Jerrycan d'eau
Lava Can = Jerrycan de lave
Chainsaw = Tronçonneuse
Flashlight = Lampe-torche
3 nodes deep. =
3 nodes tall. =
3 nodes wide. =
3x3 nodes. =
Use while sneaking to change Mining Drill Mk%d modes. =
Mining Drill Mk%d Mode %d = Foreuse Mk%d Mode %d
Mining Drill Mk%d = Foreuse Mk%d
Mining Laser Mk%d = Foreuse laser Mk%d
Single node. = Mode simple.
Sonic Screwdriver = Tournevis supersonique
Tree Tap = Robinet à sève
## Craft descriptions
Alloy cooking = Fonderie d'alliage
Grinding = Broyage
Compressing = Compression
Extracting = Extraction
Separating = Séparation

View File

@ -0,0 +1,165 @@
## Misc
[Technic] Loaded in %f seconds = [Technic] caricato in %f secondi
## Items
Silicon Wafer = Wafer di silicone
Doped Silicon Wafer = Wafer di silicone dopato
Enriched Uranium = Uranio arricchito
Uranium Fuel = Uranio Combustibile
Diamond Drill Head = Trivella diamantata
Blue Energy Crystal = Cristallo energetico blu
Green Energy Crystal = Cristallo energetico verde
Red Energy Crystal = Cristallo energetico rosso
Fine Copper Wire = Filo di rame fine
Copper Coil = Bobina di rame
Electric Motor = Motore elettrico
Low Voltage Transformer = Trasformatore in bassa tensione
Medium Voltage Transformer = Trasformatore in media tensione
High Voltage Transformer = Trasformatore in alta tensione
Control Logic Unit = Unità di controllo logica
Mixed Metal Ingot = Lingotto in lega ibrida
Composite Plate = Lastra composita
Copper Plate = Lastra di rame
Carbon Plate = Lastra in carbonio
Graphite = Lastra in graffite
Carbon Cloth = Fibra di carbonio
Raw Latex = Latex grezzo
Rubber Fiber = Fibra di gomma
%.1f%%-Fissile Uranium Ingot = %.1f%%-Lingotto di uranio fissile
%.1f%%-Fissile Uranium Block = %.1f%%-Blocco di uranio fissile
## Machine misc
Machine cannot be removed because it is not empty = La macchina non può essere rimossa perchè non è vuota
Inventory move disallowed due to protection = Impossibile muovere l'inventario a causa della protezione
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Attivo (@2 EU)
%s Active = %s Attivo
%s Disabled = %s Disabilitato
%s Enabled = %s Abilitato
%s Idle = %s Inattivo
%s Improperly Placed = %s Piazzato impropiamente
%s Unpowered = %s Non alimentato
%s Out Of Fuel = %s senza carburante
%s Has Bad Cabling = %s ha un cablaggio scorretto
%s Has No Network = %s non è collegata
%s Finished = %s Finito
Enable/Disable = Abilita/Disabilita
Range = Raggio
Upgrade Slots = Alloggi di aggiornamento
In: = Ingresso:
Out: = Uscita:
Slot %d = Alloggio %d
Itemwise = Singolo elemento
Stackwise = pila completa
Owner: = Proprietario:
Unlocked = Non chiuso a chiave
Locked = Chiuso a chiave
Radius: = Raggio:
Enabled = Abilitato
Disabled = Disabilitato
## Machine names
# $1: Tier
%s Alloy Furnace = %s Fornace per leghe
%s Battery Box = %s Box batterie
%s Cable = Cavo %s
%s Compressor = Compressore %s
%s Extractor = Estrattore %s
%s Forcefield Emitter = Emettitore di campo di forza %s
%s Furnace = %s Fornace
%s Grinder = %s Tritatutto
%s Music Player = Music Player %s
%s Quarry = Cava %s
%s Tool Workshop = Officina per attrezzi %s
Arrayed Solar %s Generator = %s Pannello Solare
Fuel-Fired %s Generator = %s Generatore a carbone
Geothermal %s Generator = %s Generatore Geotermico
Hydro %s Generator = Turbina Elettrica %s
Nuclear %s Generator Core = Reattore nucleare %s
Small Solar %s Generator = %s Pannello solare
Wind %s Generator = %s Generatore eolico
Self-Contained Injector = Ignettore
Constructor Mk%d = Costruttore Mk%d
Frame = Cornice
Frame Motor = Cornice del motore
Template = Sagoma
Template (replacing) = Sagoma (di rimpiazzo)
Template Motor = Motore per sagome
Template Tool = Strumento per sagome
Battery Box = Box batterie
Supply Converter = Trasformatore
Switching Station = Stazione di controllo
Fuel-Fired Alloy Furnace = Fornace per leghe a carbone
Fuel-Fired Furnace = Fornace a carbone
Wind Mill Frame = Pala eolica
Forcefield = Campo di forza
Nuclear Reactor Rod Compartment = Compartimento combustibile nucleare
Administrative World Anchor = Ancora-mondo amministrativa
## Machine-specific
# $1: Pruduced EU
Charge = Carica
Discharge = Scarica
Power level = Livello di potenza
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Box Batterie: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Prodotto: @2 Consumato: @3
Production at %d%% = Produzione a %d%%
Choose Milling Program: = Scegliere un programma di Fresatura
Slim Elements half / normal height: = Metà elementi sottili / altezza normale:
Current track %s = Traccia corrente %s
Stopped = Fermato
Keeping %d/%d map blocks loaded = Mantenimento di %d/%d blocchi mappa caricati
Digging not started = Scavo non iniziato
Digging finished = Scavo finito
Digging %d m above machine = Scavo di %d m sopra la macchina
Digging %d m below machine = Scavo di %d m sotto la macchina
## Grinder Recipes
# $1: Name
%s Dust = Polvere di %s
Akalin = Alcalino
Alatro = Alatro
Arol = Arol
Brass = Ottone
Bronze = Bronzo
Carbon Steel = Acciaio al Carbonio
Cast Iron = Ghisa
Chromium = Cromo
Coal = Carbone
Copper = Rame
Gold = Oro
Mithril = Mithril
Silver = Argento
Stainless Steel = Acciaio Inossidabile
Talinite = Talinite
Tin = Stagno
Wrought Iron = Ferro Battuto
Zinc = Zinco
%.1f%%-Fissile Uranium = %.1f%%-Uranio fissile
## Tools
RE Battery = Batteria RE
Water Can = Serbatoio d'acqua
Lava Can = Serbatoio di lava
Chainsaw = Motosega
Flashlight = Torcia
3 nodes deep. = 3 nodi in profondità.
3 nodes tall. = 3 nodi in altezza.
3 nodes wide. = 3 nodi in larghezza.
3x3 nodes. = 3x3 nodi.
Use while sneaking to change Mining Drill Mk%d modes. = Premi shift (freccia grossa) e usa per cambiare modalità nella trivella da miniera Mk%d.
Mining Drill Mk%d Mode %d = Trivella mk%d in modalità %d
Mining Drill Mk%d = Trivella da miniera mk%d
Mining Laser Mk%d = Laser da miniera mk%d
Single node. = Nodo singolo.
Sonic Screwdriver = Cacciavite sonico
Tree Tap = Batti albero
## Craft descriptions
Alloy cooking = Cottura lege
Grinding = Macinazione
Compressing = Compressione
Extracting = Estrazione

View File

@ -0,0 +1,175 @@
# Polish Translation for Technic mod
# Polskie tłumaczenie Technic mod
# by mat9117
## Misc
[Technic] Loaded in %f seconds = [Technic] Wczytany w %f sekund
## Items
Silicon Wafer = Płytka krzemowa
Doped Silicon Wafer = Domieszkowana płytka krzemowa
Enriched Uranium = Wzbogacony uran
Uranium Fuel = Paliwo uranowe
Diamond Drill Head = Diamentowa głowica wiertła
Blue Energy Crystal = Niebieski kryształ energii
Green Energy Crystal = Zielony kryształ energii
Red Energy Crystal = Czerwony kryształ energii
Fine Copper Wire = Cienki miedziany drut
Copper Coil = Miedziana cewka
Electric Motor = Silnik elektryczny
Low Voltage Transformer = Transformator niskiego napięcia
Medium Voltage Transformer = Transformator średniego napięcia
High Voltage Transformer = Transformator wysokiego napięcia
Control Logic Unit = Jednostka sterująca
Mixed Metal Ingot = Sztabka zmieszanych metali
Composite Plate = Płytka kompozytowa
Copper Plate = Płytka miedziana
Carbon Plate = Płytka węglowa
Graphite = Grafit
Carbon Cloth = Włókno węglowe
Raw Latex = Lateks naturalny
Rubber Fiber = Włókno gumowe
%.1f%%-Fissile Uranium Ingot = %.1f%% Sztabka uranu
%.1f%%-Fissile Uranium Block = %.1f%% Blok uranu
## Machine misc
Machine cannot be removed because it is not empty = Nie można usunąć maszyny, ponieważ nie jest pusta
Inventory move disallowed due to protection = Przenoszenie rzeczy z ekwipunku niemożliwe z powodu ochrony
# $1: Machine name (Includes tier)
@1 Active (@2 EU) = @1 Aktywny (@2 EU)
%s Active = %s Aktywny/a
%s Disabled = %s Wyłączony/a
%s Enabled = %s Włączony/a
%s Idle = %s Bezczynny/a
%s Improperly Placed = %s Ustawiony/a nieprawidłowo
%s is empty = %s jest pusty/a
%s Unpowered = %s brak zasilania
%s Out Of Fuel = %s brak paliwa
%s Has Bad Cabling = %s Źle podłączono kable
%s (Slave) =
%s Has No Network = %s Nie podłączony/a do sieci
%s Finished = %s Ukończony
Enable/Disable = Włącz/Wyłącz
Range = Zasięg
Upgrade Slots = Miejsca na ulepszenia
In: = Wejście
Out: = Wyjście
Slot %d = Otwór %d
Itemwise = Jeden przedmiot
Stackwise = Cały stack
Ignoring Mesecon Signal = Ignoruj sygnał Mesecon
Controlled by Mesecon Signal = Sterowany sygnałem Mesecon
Owner: = Właściciel:
Unlocked = Odblokowany/a
Locked = Zablokowany/a
Radius: = Promień:
Enabled = Włączony/a
Disabled = Wyłączony/a
## Machine names
# $1: Tier
%s Alloy Furnace = %s Piec stopowy
%s Battery Box = %s Skrzynka baterii
%s Cable = %s Przewód
%s Centrifuge = %s Centryfuga
%s Compressor = %s Kompresor
%s Extractor = %s Ekstraktor
%s Forcefield Emitter = %s Emiter pola siłowego
%s Furnace = %s Piec
%s Grinder = %s Młynek
%s Music Player = %s Odtwarzacz muzyki
%s Quarry = %s Kamieniołom
%s Tool Workshop = %s Warsztat narzędzi
Arrayed Solar %s Generator = %s Szeregowy generator słoneczny
Fuel-Fired %s Generator = %s Generator zasilany paliwem
Geothermal %s Generator = %s Generator geotermalny
Hydro %s Generator = %s Hydrogenerator
Nuclear %s Generator Core = %s Reaktor atomowy
Small Solar %s Generator = %s Mały generator słoneczny
Wind %s Generator = %s Generator wiatrowy
Self-Contained Injector = Samowystarczalny wtryskiwacz
Constructor Mk%d = Konstruktor Mk%d
Frame = Klatka
Frame Motor = Silnik klatkowy
Template = Szablon
Template (replacing) = Szablon (zastępczy)
Template Motor =Szablon silnika
Template Tool = Szablon narzędzia
Battery Box = Skrzynka baterii
Supply Converter = Konwerter zasilania
Switching Station = Rozdzielnia
Fuel-Fired Alloy Furnace = Piec stopowy zasilany paliwem
Fuel-Fired Furnace = Piec zasilany paliwem
Wind Mill Frame = Klatka wiatraka
Forcefield = Pole siłowe
Nuclear Reactor Rod Compartment = Komora rdzenia reaktora atomowego
Administrative World Anchor = Administracyjna kotwica świata
## Machine-specific
# $1: Pruduced EU
Charge = Ładuj
Discharge = Rozładuj
Power level = Poziom zasilania
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2/@3 = @1 Skrzynka baterii: @2/@3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3 = @1. Zapas: @2 Pobór: @3
Production at %d%% = Produkowanie w %d%%
Choose Milling Program: = Wybierz program mielenia:
Slim Elements half / normal height: = Małe elementy połowa / normalna wysokość:
Current track %s =
Stopped = Zatrzymany/a
Keeping %d/%d map blocks loaded = Ciągle ładuję %d/%d bloki mapy
Digging not started = Nie rozpoczęto kopania
Digging finished = Kopanie skończone
Digging %d m above machine = Kopię %d m nad maszyną
Digging %d m below machine = Kopię %d m pod maszyną
@1 (@2 @3 -> @4 @5) = @1 (@2 @3 -> @4 @5)
## Grinder Recipes
# $1: Name
%s Dust = %s Pył
Akalin = Akalinowy
Alatro = Alatrowy
Arol = Arolowy
Brass = Mosiądzu
Bronze = Brązu
Carbon Steel = Stali węglowej
Cast Iron = Żeliwa
Chromium = Chromu
Coal = Węglowy
Copper = Miedzi
Gold = Złoty
Mithril = Mithrilu
Silver = Srebrny
Stainless Steel = Stali nierdzewnej
Talinite = Talinitu
Tin = Cyny
Wrought Iron = Kutego żelaza
Zinc = Cynku
%.1f%%-Fissile Uranium = %.1f%% Uranu
## Tools
RE Battery = Bateria ładowalna
Water Can = Kanister wody
Lava Can = Kanister lawy
Chainsaw = Piła łańcuchowa
Flashlight = Latarka
3 nodes deep. = Głęboki na 3 bloki.
3 nodes tall. = Wysoki na 3 bloki.
3 nodes wide. = Szeroki na 3 bloki.
3x3 nodes. = 3x3 bloki.
Use while sneaking to change Mining Drill Mk%d modes. = Użyj podczas skradania, aby zmienić tryby wiertła górniczego Mk%d
Mining Drill Mk%d Mode %d = Tryb wiertła górniczego Mk%d
Mining Drill Mk%d = Wiertło górnicze Mk%d
Mining Laser Mk%d = Laser górniczy Mk%d
Single node. = Pojedynczy blok.
Sonic Screwdriver = Dźwiękowy śrubokręt
Tree Tap = Nacinak drzewny
## Craft descriptions
Alloy cooking = Stapianie
Grinding = Mielenie
Compressing = Kompresowanie
Extracting = Ekstrakcja
Separating = Oddzielanie

View File

@ -0,0 +1,193 @@
# textdomain: technic
## Misc
[Technic] Loaded in %f seconds=[Техника] Загружено за %f секунд
## Items
Silicon Wafer=Кремниевая пластина
Doped Silicon Wafer=Легированная кремниевая пластина
Enriched Uranium=Обогащенный уран
Uranium Fuel=Урановое топливо
Diamond Drill Head=Алмазная буровая головка
Blue Energy Crystal=Синий энергетический кристалл
Green Energy Crystal=Зеленый Энергетический Кристалл
Red Energy Crystal=Красный Энергетический Кристалл
Fine Copper Wire=Тонкая медная проволока
Fine Gold Wire=Тонкая золотая проволока
Fine Silver Wire=Тонкая серебряная проволока
Copper Coil=Медная катушка
Electric Motor=Электрический двигатель
Low Voltage Transformer=Трансформатор низкого напряжения
Medium Voltage Transformer=Трансформатор среднего напряжения
High Voltage Transformer=Трансформатор высокого напряжения
Control Logic Unit=Логический блок управления
Mixed Metal Ingot=Смешанный металлический слиток
Composite Plate=Композитная пластина
Copper Plate=Медная тарелка
Carbon Plate=Карбоновая пластина
Graphite=Графит
Carbon Cloth=Углеродная ткань
Raw Latex=Сырой латекс
Rubber Fiber=Резиновое волокно
@1-Fissile Uranium Ingot=@1-Слиток делящегося урана
@1-Fissile Uranium Block=@1-Делящийся урановый блок
Machine Casing=Корпус машины
Rubber Goo=Резиновая жижа
## Machine misc
Machine cannot be removed because it is not empty=Машину невозможно удалить, поскольку она не пуста.
Inventory move disallowed due to protection=Перемещение инвентаря запрещено из-за защиты
# $1: Machine name (Includes tier)
@1 Active (@2 EU)=@1 Актив (@2 EU)
@1 Active=@1 Активен
@1 Disabled=@1 Отключено
@1 Enabled=@1 Включено
@1 Idle=@1 В режиме ожидания
%s Improperly Placed=%s Размещено неправильно
%s is empty=%s пуст
@1 Unpowered=@1 Отключен от питания
@1 Out Of Fuel=@1 закончилось топливо
%s Has Bad Cabling=%s Имеет плохой кабель
%s (Slave)=%s (Подчиненный)
%s Has No Network=%s не имеет сети
%s Finished=%s Завершено
@1 Freezer=@1 Морозильник
Enable/Disable=Включить/Выключить
Range=Диапазон
Upgrade Slots=Обновление слотов
In:=Вход:
Out:=Выход:
Slot %d=Слот %d
Itemwise=По пунктам
Stackwise=Стекообразно
Ignoring Mesecon Signal=Игнорирование сигнала Месекона
Controlled by Mesecon Signal=Управляется сигналом Месекон
Owner:=Владелец:
Unlocked=Разблокировано
Locked=Заблокировано
Radius:=Радиус:
Enabled=Включено
Disabled=Выключено
@1 Unpowered=@1 Без питания
@1 Active=@1 Активный
@1 Forcefield=@1 Силовое поле
## Machine names
# $1: Tier
@1 Alloy Furnace=@1 Печь для сплава
@1 Battery Box=@1 Батарейный отсек
@1 Cable=@1 Кабель
@1 Cable Plate=@1 Кабельная пластина
@1 Centrifuge=@1 Центрифуга
@1 Compressor=@1 Компрессор
@1 Extractor=@1 Экстрактор
@1 Forcefield Emitter=@1 Эмиттер силового поля
@1 Furnace=@1 Печь
@1 Grinder=@1 Гриндер
%s Music Player=%s Музыкальный проигрыватель
%s Quarry=%s Карьер
%s Tool Workshop=%s Инструментальная мастерская
@1 Battery Box Has No Network=@1 В аккумуляторном ящике нет сети
Arrayed Solar @1 Generator=Массивный солнечный @1 генератор
Fuel-Fired @1 Generator=Топливный @1 генератор
Geothermal %s Generator=Геотермальный %s генератор
Hydro %s Generator=Гидро %s генератор
Nuclear %s Generator Core=Ядро %s ядерного генератора
Small Solar %s Generator=Маленький солнечный %s генератор
Wind %s Generator=Ветеро %s Генератор
Self-Contained Injector=Автономный инжектор
Constructor Mk%d=Конструктор Mk%d
Frame=Рамка
Frame Motor=Рамный двигатель
Template=Шаблон
Template (replacing)=Шаблон (замена)
Template Motor=Мотор шаблона
Template Tool=Инструмент «Шаблон»
Battery Box=Батарейный ящик
Supply Converter=Преобразователь питания
Switching Station=Коммутационная станция
Fuel-Fired Alloy Furnace=Топливная печь для сплавов
Fuel-Fired Furnace=Топливная печь
Wind Mill Frame=Рама ветряной мельницы
Forcefield=Силовое поле
Nuclear Reactor Rod Compartment=Стержневой отсек ядерного реактора
Administrative World Anchor=Административный мировой якорь
## Machine-specific
# $1: Pruduced EU
Charge=Зарядка
Discharge=Разрядка
Power level=Уровень мощности
# $1: Tier $2: current_charge $3: max_charge
@1 Battery Box: @2 / @3=@1 Батарейный ящик: @2 / @3
# $1: Machine name $2: Supply $3: Demand
@1. Supply: @2 Demand: @3=@1. Поставляет: @2 Спрос: @3
Production at %d%%=Производство на %d%%
Choose Milling Program:=Выберите программу фрезерования:
Slim Elements half / normal height:=Slim Elements половинная/нормальная высота:
Current track %s=Текущий трек %s
Stopped=Остановлено
Keeping %d/%d map blocks loaded=Сохранение загруженных блоков карты %d/%d
Digging not started=Копать не начали
Digging finished=Копание закончено
Digging %d m above machine=Копаем %d м над машиной
Digging %d m below machine=Копаем %d м под машиной
@1 (@2 @3 -> @4 @5)=@1 (@2 @3 -> @4 @5)
@1 Grinding=@1 Шлифовка
## Grinder Recipes
# $1: Name
@1 Dust=@1 Пыль
Akalin=Акалин
Alatro=Алатро
Arol=Арол
Brass=Латунь
Bronze=Бронза
Carbon Steel=Углеродистая сталь
Cast Iron=Чугун
Chromium=Хром
Coal=Уголь
Copper=Медь
Gold=Золото
Mithril=Мифрил
Silver=Серебро
Stainless Steel=Нержавеющая сталь
Talinite=Талинит
Tin=Банка
Wrought Iron=Кованое железо
Zinc=Цинк
@1-Fissile Uranium=@1-Делящийся уран
Sawdust=Опилки
## Tools
RE Battery=RE Батарея
Water Can=Банка с водой
Lava Can=Банка с лавой
Chainsaw=Бензопила
Flashlight=Фонарик
3 nodes deep.=Глубина 3 узла.
3 nodes tall.=Высота 3 узла.
3 nodes wide.=Ширина 3 узла.
3x3 nodes.=3х3 узла.
Use while sneaking to change Mining Drill Mk%d modes.=Используйте кнопку подкрадывания, чтобы изменить режимы Горного бура Mk%d.
Mining Drill Mk%d Mode %d=Горный бур Mk%d, режим %d
Mining Drill Mk%d=Горный бур Mk%d
Mining Laser Mk%d=Горный лазер Mk%d
Single node.=Одиночный узел.
Sonic Screwdriver=Звуковая отвертка
Tree Tap=Деревянный кран
## Craft descriptions
Alloy cooking=Сплав варочный
Grinding=Шлифование
Compressing=Сжатие
Extracting=Извлечение
Separating=Разделение
Freezing=Замораживание
##Force firld
Sphere=Сфера
Cube=Куб

View File

@ -10,7 +10,7 @@ local digilines_path = minetest.get_modpath("digilines")
local forcefield_power_drain = 10 local forcefield_power_drain = 10
local S = technic.getter local S = minetest.get_translator("technic")
local cable_entry = "^technic_cable_connection_overlay.png" local cable_entry = "^technic_cable_connection_overlay.png"
@ -115,10 +115,10 @@ local function set_forcefield_formspec(meta)
-- TODO: String replacement with %s will stop working with client-side translations -- TODO: String replacement with %s will stop working with client-side translations
if meta:get_int("enabled") == 0 then if meta:get_int("enabled") == 0 then
formspec = formspec.."button[0,1.75;5,1;enable;".. formspec = formspec.."button[0,1.75;5,1;enable;"..
S("%s Disabled"):format(S("%s Forcefield Emitter"):format("HV")).."]" S("@1 Disabled", S("@1 Forcefield Emitter", "HV")).."]"
else else
formspec = formspec.."button[0,1.75;5,1;disable;".. formspec = formspec.."button[0,1.75;5,1;disable;"..
S("%s Enabled"):format(S("%s Forcefield Emitter"):format("HV")).."]" S("@1 Enabled", S("@1 Forcefield Emitter", "HV")).."]"
end end
meta:set_string("formspec", formspec) meta:set_string("formspec", formspec)
end end
@ -249,7 +249,7 @@ local function run(pos, node)
local eu_input = meta:get_int("HV_EU_input") local eu_input = meta:get_int("HV_EU_input")
local enabled = meta:get_int("enabled") ~= 0 and local enabled = meta:get_int("enabled") ~= 0 and
(meta:get_int("mesecon_mode") == 0 or meta:get_int("mesecon_effect") ~= 0) (meta:get_int("mesecon_mode") == 0 or meta:get_int("mesecon_effect") ~= 0)
local machine_name = S("%s Forcefield Emitter"):format("HV") local machine_name = S("@1 Forcefield Emitter", "HV")
local range = meta:get_int("range") local range = meta:get_int("range")
local power_requirement local power_requirement
@ -264,14 +264,14 @@ local function run(pos, node)
if node.name == "technic:forcefield_emitter_on" then if node.name == "technic:forcefield_emitter_on" then
update_forcefield(pos, meta, false) update_forcefield(pos, meta, false)
technic.swap_node(pos, "technic:forcefield_emitter_off") technic.swap_node(pos, "technic:forcefield_emitter_off")
meta:set_string("infotext", S("%s Disabled"):format(machine_name)) meta:set_string("infotext", S("@1 Disabled", machine_name))
end end
meta:set_int("HV_EU_demand", 0) meta:set_int("HV_EU_demand", 0)
return return
end end
meta:set_int("HV_EU_demand", power_requirement) meta:set_int("HV_EU_demand", power_requirement)
if eu_input < power_requirement then if eu_input < power_requirement then
meta:set_string("infotext", S("%s Unpowered"):format(machine_name)) meta:set_string("infotext", S("@1 Unpowered", machine_name))
if node.name == "technic:forcefield_emitter_on" then if node.name == "technic:forcefield_emitter_on" then
update_forcefield(pos, meta, false) update_forcefield(pos, meta, false)
technic.swap_node(pos, "technic:forcefield_emitter_off") technic.swap_node(pos, "technic:forcefield_emitter_off")
@ -279,14 +279,14 @@ local function run(pos, node)
elseif eu_input >= power_requirement then elseif eu_input >= power_requirement then
if node.name == "technic:forcefield_emitter_off" then if node.name == "technic:forcefield_emitter_off" then
technic.swap_node(pos, "technic:forcefield_emitter_on") technic.swap_node(pos, "technic:forcefield_emitter_on")
meta:set_string("infotext", S("%s Active"):format(machine_name)) meta:set_string("infotext", S("@1 Active", machine_name))
end end
update_forcefield(pos, meta, true) update_forcefield(pos, meta, true)
end end
end end
minetest.register_node("technic:forcefield_emitter_off", { minetest.register_node("technic:forcefield_emitter_off", {
description = S("%s Forcefield Emitter"):format("HV"), description = S("@1 Forcefield Emitter", "HV"),
tiles = { tiles = {
"technic_forcefield_emitter_off.png", "technic_forcefield_emitter_off.png",
"technic_machine_bottom.png"..cable_entry, "technic_machine_bottom.png"..cable_entry,
@ -308,7 +308,7 @@ minetest.register_node("technic:forcefield_emitter_off", {
if digilines_path then if digilines_path then
meta:set_string("channel", "forcefield"..minetest.pos_to_string(pos)) meta:set_string("channel", "forcefield"..minetest.pos_to_string(pos))
end end
meta:set_string("infotext", S("%s Forcefield Emitter"):format("HV")) meta:set_string("infotext", S("@1 Forcefield Emitter", "HV"))
set_forcefield_formspec(meta) set_forcefield_formspec(meta)
end, end,
mesecons = mesecons, mesecons = mesecons,
@ -317,7 +317,7 @@ minetest.register_node("technic:forcefield_emitter_off", {
}) })
minetest.register_node("technic:forcefield_emitter_on", { minetest.register_node("technic:forcefield_emitter_on", {
description = S("%s Forcefield Emitter"):format("HV"), description = S("@1 Forcefield Emitter", "HV"),
tiles = { tiles = {
"technic_forcefield_emitter_on.png", "technic_forcefield_emitter_on.png",
"technic_machine_bottom.png"..cable_entry, "technic_machine_bottom.png"..cable_entry,
@ -349,7 +349,7 @@ minetest.register_node("technic:forcefield_emitter_on", {
}) })
minetest.register_node("technic:forcefield", { minetest.register_node("technic:forcefield", {
description = S("%s Forcefield"):format("HV"), description = S("@1 Forcefield", "HV"),
sunlight_propagates = true, sunlight_propagates = true,
drawtype = "glasslike", drawtype = "glasslike",
groups = {not_in_creative_inventory=1}, groups = {not_in_creative_inventory=1},

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.insert_object_unique_stack(pos, node, incoming_stack, direction) function technic.insert_object_unique_stack(pos, node, incoming_stack, direction)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -40,7 +40,7 @@ end
function technic.register_alloy_furnace(data) function technic.register_alloy_furnace(data)
data.typename = "alloy" data.typename = "alloy"
data.machine_name = "alloy_furnace" data.machine_name = "alloy_furnace"
data.machine_desc = S("%s Alloy Furnace") data.machine_desc = S("@1 Alloy Furnace", data.tier)
data.insert_object = technic.insert_object_unique_stack data.insert_object = technic.insert_object_unique_stack
data.can_insert = technic.can_insert_unique_stack data.can_insert = technic.can_insert_unique_stack

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("alloy", { technic.register_recipe_type("alloy", {
description = S("Alloying"), description = S("Alloying"),

View File

@ -1,7 +1,7 @@
local digilines_path = minetest.get_modpath("digilines") local digilines_path = minetest.get_modpath("digilines")
local S = technic.getter local S = minetest.get_translator("technic")
local tube_entry = "^pipeworks_tube_connection_metallic.png" local tube_entry = "^pipeworks_tube_connection_metallic.png"
local cable_entry = "^technic_cable_connection_overlay.png" local cable_entry = "^technic_cable_connection_overlay.png"
@ -92,7 +92,7 @@ local dirtab = {
local tube = { local tube = {
insert_object = function(pos, node, stack, direction) insert_object = function(pos, node, stack, direction)
--print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
if direction.y == 1 if direction.y == 1
or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then
return stack return stack
@ -106,7 +106,7 @@ local tube = {
end end
end, end,
can_insert = function(pos, node, stack, direction) can_insert = function(pos, node, stack, direction)
--print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2) print(minetest.pos_to_string(direction), dirtab[direction.x+2+(direction.z+2)*2], node.param2)
if direction.y == 1 if direction.y == 1
or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then or (direction.y == 0 and dirtab[direction.x+2+(direction.z+2)*2] == node.param2) then
return false return false
@ -166,7 +166,7 @@ function technic.register_battery_box(data)
"list[context;src;3,1;1,1;]".. "list[context;src;3,1;1,1;]"..
"image[4,1;1,1;technic_battery_reload.png]".. "image[4,1;1,1;technic_battery_reload.png]"..
"list[context;dst;5,1;1,1;]".. "list[context;dst;5,1;1,1;]"..
"label[0,0;"..S("%s Battery Box"):format(tier).."]".. "label[0,0;"..S("@1 Battery Box",tier).."]"..
"label[3,0;"..S("Charge").."]".. "label[3,0;"..S("Charge").."]"..
"label[5,0;"..S("Discharge").."]".. "label[5,0;"..S("Discharge").."]"..
"label[1,3;"..S("Power level").."]".. "label[1,3;"..S("Power level").."]"..
@ -196,7 +196,7 @@ function technic.register_battery_box(data)
local network_id = tonumber(meta:get_string(tier.."_network")) local network_id = tonumber(meta:get_string(tier.."_network"))
if not technic.networks[network_id] then if not technic.networks[network_id] then
meta:set_string("infotext", S("%s Battery Box Has No Network"):format(tier)) meta:set_string("infotext", S("@1 Battery Box Has No Network", tier))
return return
end end
@ -259,7 +259,7 @@ function technic.register_battery_box(data)
technic.EU_string(current_charge), technic.EU_string(current_charge),
technic.EU_string(max_charge)) technic.EU_string(max_charge))
if eu_input == 0 then if eu_input == 0 then
infotext = S("%s Idle"):format(infotext) infotext = S("@1 Idle", infotext)
end end
meta:set_string("infotext", infotext) meta:set_string("infotext", infotext)
end end
@ -288,7 +288,7 @@ function technic.register_battery_box(data)
end end
minetest.register_node("technic:"..ltier.."_battery_box"..i, { minetest.register_node("technic:"..ltier.."_battery_box"..i, {
description = S("%s Battery Box"):format(tier), description = S("@1 Battery Box", tier),
tiles = { tiles = {
top_tex, top_tex,
bottom_tex, bottom_tex,
@ -312,7 +312,7 @@ function technic.register_battery_box(data)
local charge = meta:get_int("internal_EU_charge") local charge = meta:get_int("internal_EU_charge")
local cpercent = math.floor(charge / max_charge * 100) local cpercent = math.floor(charge / max_charge * 100)
local inv = meta:get_inventory() local inv = meta:get_inventory()
meta:set_string("infotext", S("%s Battery Box"):format(tier)) meta:set_string("infotext", S("@1 Battery Box", tier))
meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent)) meta:set_string("formspec", formspec..add_on_off_buttons(meta, ltier, cpercent))
meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos)) meta:set_string("channel", ltier.."_battery_box"..minetest.pos_to_string(pos))
meta:set_int(tier.."_EU_demand", 0) meta:set_int(tier.."_EU_demand", 0)

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
local cable_tier = {} local cable_tier = {}
@ -156,7 +156,7 @@ function technic.register_cable(tier, size)
} }
minetest.register_node("technic:"..ltier.."_cable", { minetest.register_node("technic:"..ltier.."_cable", {
description = S("%s Cable"):format(tier), description = S("@1 Cable", tier),
tiles = {"technic_"..ltier.."_cable.png"}, tiles = {"technic_"..ltier.."_cable.png"},
inventory_image = "technic_"..ltier.."_cable_wield.png", inventory_image = "technic_"..ltier.."_cable_wield.png",
wield_image = "technic_"..ltier.."_cable_wield.png", wield_image = "technic_"..ltier.."_cable_wield.png",
@ -198,7 +198,7 @@ function technic.register_cable(tier, size)
end end
for p, i in pairs(xyz) do for p, i in pairs(xyz) do
local def = { local def = {
description = S("%s Cable Plate"):format(tier), description = S("@1 Cable Plate", tier),
tiles = {"technic_"..ltier.."_cable.png"}, tiles = {"technic_"..ltier.."_cable.png"},
groups = table.copy(groups), groups = table.copy(groups),
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),

View File

@ -1,8 +1,8 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_centrifuge(data) function technic.register_centrifuge(data)
data.typename = "separating" data.typename = "separating"
data.machine_name = "centrifuge" data.machine_name = "centrifuge"
data.machine_desc = S("%s Centrifuge") data.machine_desc = S("@1 Centrifuge", data.tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,4 +1,4 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("separating", { technic.register_recipe_type("separating", {
description = S("Separating"), description = S("Separating"),

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
-- handles the machine upgrades every tick -- handles the machine upgrades every tick
function technic.handle_machine_upgrades(meta) function technic.handle_machine_upgrades(meta)

View File

@ -1,9 +1,10 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_compressor(data) function technic.register_compressor(data)
local tier = data.tier
data.typename = "compressing" data.typename = "compressing"
data.machine_name = "compressor" data.machine_name = "compressor"
data.machine_desc = S("%s Compressor") data.machine_desc = S("@1 Compressor", tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("compressing", { description = S("Compressing") }) technic.register_recipe_type("compressing", { description = S("Compressing") })
@ -78,7 +78,7 @@ local recipes = {
{"default:sand 2", "default:sandstone"}, {"default:sand 2", "default:sandstone"},
{"default:desert_sand 2", "default:desert_sandstone"}, {"default:desert_sand 2", "default:desert_sandstone"},
{"default:silver_sand 2", "default:silver_sandstone"}, {"default:silver_sand 2", "default:silver_sandstone"},
{"default:desert_sand", "default:desert_stone"}, {"default:desert_sandstone", "default:desert_stone"},
{"technic:mixed_metal_ingot", "technic:composite_plate"}, {"technic:mixed_metal_ingot", "technic:composite_plate"},
{"default:copper_ingot 5", "technic:copper_plate"}, {"default:copper_ingot 5", "technic:copper_plate"},
{"technic:coal_dust 4", "technic:graphite"}, {"technic:coal_dust 4", "technic:graphite"},

View File

@ -1,9 +1,9 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_electric_furnace(data) function technic.register_electric_furnace(data)
data.typename = "cooking" data.typename = "cooking"
data.machine_name = "electric_furnace" data.machine_name = "electric_furnace"
data.machine_desc = S("%s Furnace") data.machine_desc = S("@1 Furnace", data.tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,9 +1,9 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_extractor(data) function technic.register_extractor(data)
data.typename = "extracting" data.typename = "extracting"
data.machine_name = "extractor" data.machine_name = "extractor"
data.machine_desc = S("%s Extractor") data.machine_desc = S("@1 Extractor", data.tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("extracting", { description = S("Extracting") }) technic.register_recipe_type("extracting", { description = S("Extracting") })

View File

@ -1,9 +1,9 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_freezer(data) function technic.register_freezer(data)
data.typename = "freezing" data.typename = "freezing"
data.machine_name = "freezer" data.machine_name = "freezer"
data.machine_desc = S("%s Freezer") data.machine_desc = S("@1 Freezer", data.tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("freezing", { description = S("Freezing") }) technic.register_recipe_type("freezing", { description = S("Freezing") })

View File

@ -1,4 +1,4 @@
local S = technic.getter local S = minetest.get_translator("technic")
local fs_helpers = pipeworks.fs_helpers local fs_helpers = pipeworks.fs_helpers
local tube_entry = "^pipeworks_tube_connection_metallic.png" local tube_entry = "^pipeworks_tube_connection_metallic.png"
@ -36,13 +36,13 @@ function technic.register_generator(data)
local generator_formspec = local generator_formspec =
"size[8,9;]".. "size[8,9;]"..
"label[0,0;"..S("Fuel-Fired %s Generator"):format(tier).."]".. "label[0,0;"..S("Fuel-Fired @1 Generator", tier) .."]"..
"list[current_name;src;3,1;1,1;]".. "list[current_name;src;3,1;1,1;]"..
"image[4,1;1,1;default_furnace_fire_bg.png]".. "image[4,1;1,1;default_furnace_fire_bg.png]"..
"list[current_player;main;0,5;8,4;]".. "list[current_player;main;0,5;8,4;]"..
"listring[]" "listring[]"
local desc = S("Fuel-Fired %s Generator"):format(tier) local desc = S("Fuel-Fired @1 Generator", tier)
local run = function(pos, node) local run = function(pos, node)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -65,7 +65,7 @@ function technic.register_generator(data)
{method = "fuel", width = 1, {method = "fuel", width = 1,
items = fuellist}) items = fuellist})
if not fuel or fuel.time == 0 then if not fuel or fuel.time == 0 then
meta:set_string("infotext", S("%s Out Of Fuel"):format(desc)) meta:set_string("infotext", S("@1 Out Of Fuel", desc))
technic.swap_node(pos, "technic:"..ltier.."_generator") technic.swap_node(pos, "technic:"..ltier.."_generator")
meta:set_int(tier.."_EU_supply", 0) meta:set_int(tier.."_EU_supply", 0)
return return

View File

@ -1,9 +1,9 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_grinder(data) function technic.register_grinder(data)
data.typename = "grinding" data.typename = "grinding"
data.machine_name = "grinder" data.machine_name = "grinder"
data.machine_desc = S("%s Grinder") data.machine_desc = S("@1 Grinder", data.tier)
technic.register_base_machine(data) technic.register_base_machine(data)
end end

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
technic.register_recipe_type("grinding", { description = S("Grinding") }) technic.register_recipe_type("grinding", { description = S("Grinding") })
@ -107,7 +107,7 @@ local function register_dust(name, ingot)
local lname = string.lower(name) local lname = string.lower(name)
lname = string.gsub(lname, ' ', '_') lname = string.gsub(lname, ' ', '_')
minetest.register_craftitem("technic:"..lname.."_dust", { minetest.register_craftitem("technic:"..lname.."_dust", {
description = S("%s Dust"):format(S(name)), description = S("@1 Dust", name),
inventory_image = "technic_"..lname.."_dust.png", inventory_image = "technic_"..lname.."_dust.png",
}) })
if ingot then if ingot then
@ -177,7 +177,7 @@ for p = 0, 35 do
local ingot = "technic:uranium"..psuffix.."_ingot" local ingot = "technic:uranium"..psuffix.."_ingot"
local dust = "technic:uranium"..psuffix.."_dust" local dust = "technic:uranium"..psuffix.."_dust"
minetest.register_craftitem(dust, { minetest.register_craftitem(dust, {
description = S("%s Dust"):format(string.format(S("%.1f%%-Fissile Uranium"), p/10)), description = S("@1 Dust", S("@1-Fissile Uranium", string.format("%.1f%%",p/10))),
inventory_image = "technic_uranium_dust.png", inventory_image = "technic_uranium_dust.png",
on_place_on_ground = minetest.craftitem_place_item, on_place_on_ground = minetest.craftitem_place_item,
groups = {uranium_dust=1, not_in_creative_inventory=nici}, groups = {uranium_dust=1, not_in_creative_inventory=nici},

View File

@ -1,4 +1,4 @@
local S = technic.getter local S = minetest.get_translator("technic")
local moretrees = minetest.get_modpath("moretrees") local moretrees = minetest.get_modpath("moretrees")
local dye = minetest.get_modpath("dye") local dye = minetest.get_modpath("dye")
@ -21,7 +21,7 @@ local function register_tree_grinding(name, tree, wood, extract, grinding_color)
inventory_image = inventory_image .. "^[colorize:" .. grinding_color inventory_image = inventory_image .. "^[colorize:" .. grinding_color
end end
minetest.register_craftitem(grindings_name, { minetest.register_craftitem(grindings_name, {
description = S("%s Grinding"):format(S(name)), description = S("@1 Grinding", name),
inventory_image = inventory_image, inventory_image = inventory_image,
}) })
minetest.register_craft({ minetest.register_craft({

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
local fs_helpers = pipeworks.fs_helpers local fs_helpers = pipeworks.fs_helpers
local tube_entry = "^pipeworks_tube_connection_metallic.png" local tube_entry = "^pipeworks_tube_connection_metallic.png"
@ -54,7 +54,7 @@ function technic.register_base_machine(data)
"list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]".. "list[current_name;src;"..(4-input_size)..",1;"..input_size..",1;]"..
"list[current_name;dst;5,1;2,2;]".. "list[current_name;dst;5,1;2,2;]"..
"list[current_player;main;0,5;8,4;]".. "list[current_player;main;0,5;8,4;]"..
"label[0,0;"..machine_desc:format(tier).."]".. "label[0,0;"..machine_desc.."]"..
"listring[current_name;dst]".. "listring[current_name;dst]"..
"listring[current_player;main]".. "listring[current_player;main]"..
"listring[current_name;src]".. "listring[current_name;src]"..
@ -83,7 +83,7 @@ function technic.register_base_machine(data)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local eu_input = meta:get_int(tier.."_EU_input") local eu_input = meta:get_int(tier.."_EU_input")
local machine_desc_tier = machine_desc:format(tier) local machine_desc_tier = machine_desc
local machine_node = data.modname..":"..ltier.."_"..machine_name local machine_node = data.modname..":"..ltier.."_"..machine_name
local machine_demand = data.demand local machine_demand = data.demand
@ -110,18 +110,18 @@ function technic.register_base_machine(data)
local result = technic.get_recipe(typename, inv:get_list("src")) local result = technic.get_recipe(typename, inv:get_list("src"))
if not result then if not result then
technic.swap_node(pos, machine_node) technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier)) meta:set_string("infotext", S("@1 Idle", machine_desc_tier))
meta:set_int(tier.."_EU_demand", 0) meta:set_int(tier.."_EU_demand", 0)
meta:set_int("src_time", 0) meta:set_int("src_time", 0)
return return
end end
meta:set_int(tier.."_EU_demand", machine_demand[EU_upgrade+1]) meta:set_int(tier.."_EU_demand", machine_demand[EU_upgrade+1])
technic.swap_node(pos, machine_node.."_active") technic.swap_node(pos, machine_node.."_active")
meta:set_string("infotext", S("%s Active"):format(machine_desc_tier)) meta:set_string("infotext", S("@1 Active", machine_desc_tier))
if meta:get_int("src_time") < round(result.time*10) then if meta:get_int("src_time") < round(result.time*10) then
if not powered then if not powered then
technic.swap_node(pos, machine_node) technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Unpowered"):format(machine_desc_tier)) meta:set_string("infotext", S("@1 Unpowered", machine_desc_tier))
end end
return return
end end
@ -143,7 +143,7 @@ function technic.register_base_machine(data)
end end
if not room_for_output then if not room_for_output then
technic.swap_node(pos, machine_node) technic.swap_node(pos, machine_node)
meta:set_string("infotext", S("%s Idle"):format(machine_desc_tier)) meta:set_string("infotext", S("@1 Idle", machine_desc_tier))
meta:set_int(tier.."_EU_demand", 0) meta:set_int(tier.."_EU_demand", 0)
meta:set_int("src_time", round(result.time*10)) meta:set_int("src_time", round(result.time*10))
return return
@ -160,7 +160,7 @@ function technic.register_base_machine(data)
end end
minetest.register_node(data.modname..":"..ltier.."_"..machine_name, { minetest.register_node(data.modname..":"..ltier.."_"..machine_name, {
description = machine_desc:format(tier), description = machine_desc,
tiles = { tiles = {
data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry,
data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry,
@ -192,7 +192,7 @@ function technic.register_base_machine(data)
)..pipeworks.button_label )..pipeworks.button_label
end end
meta:set_string("infotext", machine_desc:format(tier)) meta:set_string("infotext", machine_desc)
meta:set_int("tube_time", 0) meta:set_int("tube_time", 0)
meta:set_string("formspec", formspec..form_buttons) meta:set_string("formspec", formspec..form_buttons)
local inv = meta:get_inventory() local inv = meta:get_inventory()
@ -231,7 +231,7 @@ function technic.register_base_machine(data)
}) })
minetest.register_node(data.modname..":"..ltier.."_"..machine_name.."_active",{ minetest.register_node(data.modname..":"..ltier.."_"..machine_name.."_active",{
description = machine_desc:format(tier), description = machine_desc,
tiles = { tiles = {
data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_top.png"..tentry,
data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry, data.modname.."_"..ltier.."_"..machine_name.."_bottom.png"..tentry,

View File

@ -1,5 +1,5 @@
local S = technic.getter local S = minetest.get_translator("technic")
function technic.register_solar_array(data) function technic.register_solar_array(data)
local tier = data.tier local tier = data.tier
@ -13,7 +13,7 @@ function technic.register_solar_array(data)
-- To take care of some of it solar panels do not work outside daylight hours or if -- To take care of some of it solar panels do not work outside daylight hours or if
-- built below 0m -- built below 0m
local pos1 = {} local pos1 = {}
local machine_name = S("Arrayed Solar %s Generator"):format(tier) local machine_name = S("Arrayed Solar @1 Generator", tier)
pos1.y = pos.y + 1 pos1.y = pos.y + 1
pos1.x = pos.x pos1.x = pos.x
pos1.z = pos.z pos1.z = pos.z
@ -34,7 +34,7 @@ function technic.register_solar_array(data)
technic.EU_string(charge_to_give))) technic.EU_string(charge_to_give)))
meta:set_int(tier.."_EU_supply", charge_to_give) meta:set_int(tier.."_EU_supply", charge_to_give)
else else
meta:set_string("infotext", S("%s Idle"):format(machine_name)) meta:set_string("infotext", S("@1 Idle", machine_name))
meta:set_int(tier.."_EU_supply", 0) meta:set_int(tier.."_EU_supply", 0)
end end
end end
@ -46,7 +46,7 @@ function technic.register_solar_array(data)
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, ["technic_"..ltier]=1}, groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, technic_machine=1, ["technic_"..ltier]=1},
connect_sides = {"bottom"}, connect_sides = {"bottom"},
sounds = default.node_sound_wood_defaults(), sounds = default.node_sound_wood_defaults(),
description = S("Arrayed Solar %s Generator"):format(tier), description = S("Arrayed Solar @1 Generator", tier),
active = false, active = false,
drawtype = "nodebox", drawtype = "nodebox",
paramtype = "light", paramtype = "light",