summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZefram <zefram@fysh.org>2014-08-01 18:25:20 +0100
committerZefram <zefram@fysh.org>2014-08-01 18:25:20 +0100
commit8275091347560e2cf6594d57c646e1da4c97d502 (patch)
treebf91fc5240cca5b9bae6a5f4f63041385276c38a
parentdaa61352111cbee9588efad2a5762fea7ad37cda (diff)
Improve injector interface
Make the injector's mode button lag-resistant. Display the mode on the button, as is done with other machines' toggle buttons. Describe the modes using the same words that are now used to distinguish the corresponding pipeworks objects. Expand name to "self-contained injector", now that the pipeworks objects are also called "injector". Show injector item image along with the item name at the head of the form.
-rw-r--r--technic/locale/de.txt7
-rw-r--r--technic/locale/es.txt4
-rw-r--r--technic/locale/it.txt7
-rw-r--r--technic/locale/template.txt7
-rw-r--r--technic/machines/other/injector.lua44
5 files changed, 31 insertions, 38 deletions
diff --git a/technic/locale/de.txt b/technic/locale/de.txt
index 1a1e82a..763d92a 100644
--- a/technic/locale/de.txt
+++ b/technic/locale/de.txt
@@ -52,9 +52,8 @@ Upgrade Slots = Verbesserungsfaecher
In: = Rein:
Out: = Raus:
Slot %d = Fach %d
-Mode: %s = Methode: %s
-single items = Einzelstuecke
-whole stacks = Ganzer Stapel
+Itemwise = Einzelstuecke
+Stackwise = Ganzer Stapel
## Machine names
# $1: Tier
@@ -77,7 +76,7 @@ Hydro %s Generator = %s Wassermuehle
Nuclear %s Generator Core = %s Reaktorkern
Small Solar %s Generator = %s Solarmodul
Wind %s Generator = %s Windmuehle
-Injector = Injektor
+Self-Contained Injector = Selbstversorger-Injektor
Constructor Mk%d = Konstruktor Modell %d
Frame = Rahmen
Frame Motor = Rahmenmotor
diff --git a/technic/locale/es.txt b/technic/locale/es.txt
index 9d58ebd..c5b6037 100644
--- a/technic/locale/es.txt
+++ b/technic/locale/es.txt
@@ -48,6 +48,8 @@ Inventory move disallowed due to protection =
%s Improperly Placed = %s No Colocado Apropiadamente
Range = Alcance
Enable/Disable = Habilitar/Deshabilitar
+Itemwise =
+Stackwise =
## Machine names
# $1: Tier
@@ -70,7 +72,7 @@ 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
-Injector =
+Self-Contained Injector =
Constructor Mk%d =
Frame =
Frame Motor =
diff --git a/technic/locale/it.txt b/technic/locale/it.txt
index 234a858..5ba7e69 100644
--- a/technic/locale/it.txt
+++ b/technic/locale/it.txt
@@ -49,9 +49,8 @@ Upgrade Slots =
In: = Ingresso:
Out: = Uscita:
Slot %d =
-Mode: %s = Modalità: %s
-single items = Singolo elemento
-whole stacks = pila completa
+Itemwise = Singolo elemento
+Stackwise = pila completa
## Machine names
# $1: Tier
@@ -74,7 +73,7 @@ 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
-Injector = Ignettore
+Self-Contained Injector = Ignettore
Constructor Mk%d = Costruttore Mk%d
Frame = Cornice
Frame Motor = Cornice del motore
diff --git a/technic/locale/template.txt b/technic/locale/template.txt
index 0d47974..e57952d 100644
--- a/technic/locale/template.txt
+++ b/technic/locale/template.txt
@@ -54,9 +54,8 @@ Upgrade Slots =
In: =
Out: =
Slot %d =
-Mode: %s =
-single items =
-whole stacks =
+Itemwise =
+Stackwise =
Ignoring Mesecon Signal =
Controlled by Mesecon Signal =
@@ -82,7 +81,7 @@ Hydro %s Generator =
Nuclear %s Generator Core =
Small Solar %s Generator =
Wind %s Generator =
-Injector =
+Self-Contained Injector =
Constructor Mk%d =
Frame =
Frame Motor =
diff --git a/technic/machines/other/injector.lua b/technic/machines/other/injector.lua
index c131470..11c5455 100644
--- a/technic/machines/other/injector.lua
+++ b/technic/machines/other/injector.lua
@@ -54,8 +54,21 @@ minetest.register_craft({
}
})
+local function set_injector_formspec(meta)
+ local is_stack = meta:get_string("mode") == "whole stacks"
+ meta:set_string("formspec",
+ "invsize[8,9;]"..
+ "item_image[0,0;1,1;technic:injector]"..
+ "label[1,0;"..S("Self-Contained Injector").."]"..
+ (is_stack and
+ "button[0,1;2,1;mode_item;"..S("Stackwise").."]" or
+ "button[0,1;2,1;mode_stack;"..S("Itemwise").."]")..
+ "list[current_name;main;0,2;8,2;]"..
+ "list[current_player;main;0,5;8,4;]")
+end
+
minetest.register_node("technic:injector", {
- description = S("Injector"),
+ description = S("Self-Contained Injector"),
tiles = {"technic_injector_top.png", "technic_injector_bottom.png", "technic_injector_side.png",
"technic_injector_side.png", "technic_injector_side.png", "technic_injector_side.png"},
groups = {snappy=2, choppy=2, oddly_breakable_by_hand=2, tubedevice=1},
@@ -63,17 +76,11 @@ minetest.register_node("technic:injector", {
sounds = default.node_sound_wood_defaults(),
on_construct = function(pos)
local meta = minetest.env:get_meta(pos)
- meta:set_string("formspec",
- "invsize[8,9;]"..
- "label[0,0;"..S("Injector").."]"..
- "button[0,1;.8,.8;mode;]"..
- "label[.8,1;"..S("Mode: %s"):format("single items").."]"..
- "list[current_name;main;0,2;8,2;]"..
- "list[current_player;main;0,5;8,4;]")
- meta:set_string("infotext", S("Injector"))
+ meta:set_string("infotext", S("Self-Contained Injector"))
local inv = meta:get_inventory()
inv:set_size("main", 8*4)
meta:set_string("mode","single items")
+ set_injector_formspec(meta)
end,
can_dig = function(pos,player)
local meta = minetest.env:get_meta(pos);
@@ -82,22 +89,9 @@ minetest.register_node("technic:injector", {
end,
on_receive_fields = function(pos, formanme, fields, sender)
local meta = minetest.env:get_meta(pos)
- local mode=meta:get_string("mode")
- if fields.mode then
- if mode == "single items" then
- mode = "whole stacks"
- else
- mode = "single items"
- end
- meta:set_string("mode", mode)
- end
- meta:set_string("formspec",
- "invsize[8,9;]"..
- "label[0,0;"..S("Injector").."]"..
- "button[0,1;.8,.8;mode;]"..
- "label[.8,1;"..S("Mode: %s"):format(S(mode)).."]"..
- "list[current_name;main;0,2;8,2;]"..
- "list[current_player;main;0,5;8,4;]")
+ if fields.mode_item then meta:set_string("mode", "single items") end
+ if fields.mode_stack then meta:set_string("mode", "whole stacks") end
+ set_injector_formspec(meta)
end,
allow_metadata_inventory_put = technic.machine_inventory_put,
allow_metadata_inventory_take = technic.machine_inventory_take,