parent
f8d2f76383
commit
4997b4e56d
|
@ -1,6 +1,6 @@
|
|||
local printer_range = 10
|
||||
|
||||
local function trigger_queue(mtos)
|
||||
local function trigger_queue(app, mtos)
|
||||
-- Check print requirements
|
||||
if mtos.sysdata.selected_view ~= 'output' or
|
||||
mtos.sysdata.out_stack_save or
|
||||
|
@ -17,6 +17,7 @@ local function trigger_queue(mtos)
|
|||
mtos.sysdata.print_progress = 0
|
||||
mtos.sysdata.paper_count = mtos.sysdata.paper_count - 1
|
||||
mtos.sysdata.dye_count = mtos.sysdata.dye_count - 0.1
|
||||
mtos.bdev.removable_disk = nil -- force reading
|
||||
local idata = mtos.bdev:get_removable_disk()
|
||||
local stack = ItemStack("laptop:printed_paper")
|
||||
local print_data = mtos.sysdata.print_queue[1]
|
||||
|
@ -24,9 +25,10 @@ local function trigger_queue(mtos)
|
|||
table.remove(mtos.sysdata.print_queue, 1)
|
||||
idata:reload(stack)
|
||||
idata.label = print_data.title
|
||||
mtos.bdev:sync()
|
||||
end
|
||||
|
||||
local timer = minetest.get_node_timer(mtos.pos)
|
||||
local timer = app:get_timer()
|
||||
if not timer:is_started() then
|
||||
timer:start(1)
|
||||
end
|
||||
|
@ -37,6 +39,7 @@ local function sync_stack_values(mtos)
|
|||
mtos.sysdata.paper_count = mtos.sysdata.paper_count or 0
|
||||
mtos.sysdata.dye_count = mtos.sysdata.dye_count or 0
|
||||
mtos.sysdata.print_progress = mtos.sysdata.print_progress or 0
|
||||
mtos.bdev.removable_disk = nil -- force reading
|
||||
local idata = mtos.bdev:get_removable_disk()
|
||||
-- store old stack values
|
||||
if mtos.sysdata.selected_view == 'paper' then
|
||||
|
@ -68,7 +71,8 @@ laptop.register_app("printer_launcher", {
|
|||
mtos.sysdata.print_queue = mtos.sysdata.print_queue or {}
|
||||
mtos.sysdata.selected_view = mtos.sysdata.selected_view or 'output'
|
||||
sync_stack_values(mtos)
|
||||
trigger_queue(mtos)
|
||||
trigger_queue(launcher_app, mtos)
|
||||
mtos.bdev:sync()
|
||||
-- inventory fields
|
||||
local formspec = "size[9,8]"..
|
||||
"list[current_player;main;0.3,3.85;8,1;]" ..
|
||||
|
@ -76,7 +80,6 @@ laptop.register_app("printer_launcher", {
|
|||
"listring[nodemeta:"..mtos.pos.x..','..mtos.pos.y..','..mtos.pos.z..";main]" ..
|
||||
"listring[current_player;main]"..
|
||||
mtos.theme:get_label('0,0', mtos.hwdef.description, 'titlebar')
|
||||
local idata = mtos.bdev:get_removable_disk()
|
||||
|
||||
-- queue
|
||||
formspec = formspec .. mtos.theme:get_tableoptions()..
|
||||
|
@ -164,12 +167,14 @@ laptop.register_app("printer_launcher", {
|
|||
mtos.sysdata.print_progress = 0
|
||||
end
|
||||
idata:reload(idata.stack)
|
||||
trigger_queue(mtos)
|
||||
trigger_queue(app, mtos)
|
||||
mtos.bdev:sync()
|
||||
end,
|
||||
|
||||
on_timer = function(app, mtos)
|
||||
mtos.sysdata.print_progress = mtos.sysdata.print_progress + 1
|
||||
return trigger_queue(mtos)
|
||||
mtos.bdev.removable_disk = nil -- force reading
|
||||
return trigger_queue(app, mtos)
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
|
@ -239,7 +239,6 @@ laptop.register_app("tetris", {
|
|||
formspec_func = function(app, mtos)
|
||||
local data = mtos.bdev:get_app_storage('ram', 'tetris')
|
||||
local tetris = get_tetris(app, data)
|
||||
local timer = minetest.get_node_timer(mtos.pos)
|
||||
if not data.t then
|
||||
return mtos.theme:get_button('2,4;2,2', 'major', 'new', 'New Game', 'Start a new game')
|
||||
end
|
||||
|
|
|
@ -172,7 +172,7 @@ function bdev:sync()
|
|||
if self.removable_disk.def and self.removable_disk.label ~= self.removable_disk.def.description then
|
||||
self.removable_disk.meta:set_string("description", self.removable_disk.label)
|
||||
end
|
||||
if self.removable_disk.storage then
|
||||
if self.removable_disk.storage and next(self.removable_disk.storage) then
|
||||
self.removable_disk.meta:set_string("os_storage", minetest.serialize(self.removable_disk.storage))
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue