mirror of
https://github.com/mt-mods/pipeworks.git
synced 2025-06-30 07:10:45 +02:00
Merge branch 'master' of yunohost.local:mtcontrib/pipeworks into nalc-1.2-dev
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
local S = minetest.get_translator("pipeworks")
|
||||
local autocrafterCache = {} -- caches some recipe data to avoid to call the slow function minetest.get_craft_result() every second
|
||||
|
||||
local craft_time = 1
|
||||
@ -16,7 +17,7 @@ end
|
||||
local function get_item_info(stack)
|
||||
local name = stack:get_name()
|
||||
local def = minetest.registered_items[name]
|
||||
local description = def and def.description or "Unknown item"
|
||||
local description = def and def.description or S("Unknown item")
|
||||
return description, name
|
||||
end
|
||||
|
||||
@ -71,7 +72,7 @@ local function run_autocrafter(pos, elapsed)
|
||||
-- only use crafts that have an actual result
|
||||
-- NALC: ou si l'item n'est pas dans le group limitcraft
|
||||
if output_item:is_empty() or limitcraft > 0 then
|
||||
meta:set_string("infotext", "unconfigured Autocrafter: unknown recipe")
|
||||
meta:set_string("infotext", S("unconfigured Autocrafter: unknown recipe"))
|
||||
return false
|
||||
end
|
||||
|
||||
@ -104,7 +105,7 @@ local function after_recipe_change(pos, inventory)
|
||||
if inventory:is_empty("recipe") then
|
||||
minetest.get_node_timer(pos):stop()
|
||||
autocrafterCache[minetest.hash_node_position(pos)] = nil
|
||||
meta:set_string("infotext", "unconfigured Autocrafter")
|
||||
meta:set_string("infotext", S("unconfigured Autocrafter"))
|
||||
inventory:set_stack("output", 1, "")
|
||||
return
|
||||
end
|
||||
@ -129,7 +130,7 @@ local function after_recipe_change(pos, inventory)
|
||||
craft = craft or get_craft(pos, inventory, hash)
|
||||
local output_item = craft.output.item
|
||||
local description, name = get_item_info(output_item)
|
||||
meta:set_string("infotext", string.format("'%s' Autocrafter (%s)", description, name))
|
||||
meta:set_string("infotext", S("'@1' Autocrafter (@2)", description, name))
|
||||
inventory:set_stack("output", 1, output_item)
|
||||
|
||||
after_inventory_change(pos)
|
||||
@ -193,8 +194,8 @@ local function update_meta(meta, enabled)
|
||||
"listring[context;dst]" ..
|
||||
"listring[current_player;main]"
|
||||
if minetest.get_modpath("digilines") then
|
||||
fs = fs.."field[1,3.5;4,1;channel;Channel;${channel}]"
|
||||
fs = fs.."button_exit[5,3.2;2,1;save;Save]"
|
||||
fs = fs.."field[1,3.5;4,1;channel;"..S("Channel")..";${channel}]"
|
||||
fs = fs.."button_exit[5,3.2;2,1;save;"..S("Save").."]"
|
||||
end
|
||||
meta:set_string("formspec",fs)
|
||||
|
||||
@ -203,13 +204,13 @@ local function update_meta(meta, enabled)
|
||||
-- this might be more written code, but actually executes less
|
||||
local output = meta:get_inventory():get_stack("output", 1)
|
||||
if output:is_empty() then -- doesn't matter if paused or not
|
||||
meta:set_string("infotext", "unconfigured Autocrafter")
|
||||
meta:set_string("infotext", S("unconfigured Autocrafter"))
|
||||
return false
|
||||
end
|
||||
|
||||
local description, name = get_item_info(output)
|
||||
local infotext = enabled and string.format("'%s' Autocrafter (%s)", description, name)
|
||||
or string.format("paused '%s' Autocrafter", description)
|
||||
local infotext = enabled and S("'@1' Autocrafter (@2)", description, name)
|
||||
or S("paused '@1' Autocrafter", description)
|
||||
|
||||
meta:set_string("infotext", infotext)
|
||||
return enabled
|
||||
@ -229,7 +230,7 @@ local function upgrade_autocrafter(pos, meta)
|
||||
update_meta(meta, true)
|
||||
|
||||
if meta:get_string("virtual_items") == "1" then -- we are version 2
|
||||
-- we allready dropped stuff, so lets remove the metadatasetting (we are not being called again for this node)
|
||||
-- we already dropped stuff, so lets remove the metadatasetting (we are not being called again for this node)
|
||||
meta:set_string("virtual_items", "")
|
||||
else -- we are version 1
|
||||
local recipe = inv:get_list("recipe")
|
||||
@ -251,7 +252,7 @@ local function upgrade_autocrafter(pos, meta)
|
||||
end
|
||||
|
||||
minetest.register_node("pipeworks:autocrafter", {
|
||||
description = "Autocrafter",
|
||||
description = S("Autocrafter"),
|
||||
drawtype = "normal",
|
||||
tiles = {"pipeworks_autocrafter.png"},
|
||||
groups = {snappy = 3, tubedevice = 1, tubedevice_receiver = 1},
|
||||
|
Reference in New Issue
Block a user