From 77270dc445ee7fea64a1b5c9d745d790efdff08e Mon Sep 17 00:00:00 2001 From: FaceDeer Date: Tue, 4 Feb 2020 21:00:38 -0700 Subject: [PATCH] refactor to make import/export of entries more generic, for future expansion of options --- init.lua | 243 ++++++++++++++++++++++++++++++-------------- locale/template.pot | 130 ++++++++++++++---------- readme.md | 2 +- screenshot.png | Bin 22729 -> 20701 bytes 4 files changed, 244 insertions(+), 131 deletions(-) diff --git a/init.lua b/init.lua index af813c6..9026b1c 100644 --- a/init.lua +++ b/init.lua @@ -11,6 +11,8 @@ local sfinv_modpath = minetest.get_modpath("sfinv") local modstore = minetest.get_mod_storage() local ccompass_recalibration_allowed = minetest.settings:get_bool("ccompass_recalibrate", true) +local ccompass_restrict_target = minetest.settings:get_bool("ccompass_restrict_target", false) +local ccompass_description_prefix = "^Compass to " local S = minetest.get_translator(modname) @@ -24,6 +26,10 @@ local LOCATION_CATEGORY = 1 local EVENT_CATEGORY = 2 local GENERAL_CATEGORY = 3 +-- used for determining if an item is a ccompass +local ccompass_prefix = "ccompass:" +local ccompass_prefix_length = #ccompass_prefix + -------------------------------------------------------- -- Data store @@ -118,6 +124,10 @@ end --------------------------------------- -- Reading and writing stuff to items + +---------------------------------------------------------------- +-- Export + -- Book parameters local lpp = 14 local max_text_size = 10000 @@ -166,6 +176,32 @@ local function write_cgpsmap(player_name) return new_map end +local function write_ccompass(player_name, old_compass) + local state = get_state(player_name) + local category = state.category + if category ~= LOCATION_CATEGORY then + return + end + local entry_selected = state.entry_selected[category] + + local topic = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_topic") + local pos = minetest.string_to_pos(topic) + if not pos then + return + end + + local content = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_content") + content = truncate_string(first_line(content), max_title_size) + local new_ccompass = ItemStack("ccompass:0") + local param = { + target_pos_string = topic, + target_name = content, + playername = player_name + } + ccompass.set_target(new_ccompass, param) + return new_ccompass +end + local function write_item(player_name, itemstack) local item_name = itemstack:get_name() if item_name == "default:book" then @@ -174,8 +210,14 @@ local function write_item(player_name, itemstack) if item_name == "compassgps:cgpsmap" then return write_cgpsmap(player_name) end + if item_name:sub(1,ccompass_prefix_length) == ccompass_prefix then + return write_ccompass(player_name, itemstack) + end end +---------------------------------------------------------------------------------------- +-- Import + local function read_book(itemstack, player_name) local meta = itemstack:get_meta() local topic = meta:get_string("title") @@ -200,6 +242,21 @@ local function read_book(itemstack, player_name) save_state(player_name, state) end +local function read_ccompass(itemstack, player_name) + local meta = itemstack:get_meta() + local topic = meta:get_string("target_pos") + local content = meta:get_string("description") + local prefix_start, prefix_end = content:find(ccompass_description_prefix) + if prefix_end then + content = content:sub(prefix_end+1) + end + local state = get_state(player_name) + local entry_index = state.entry_counts[LOCATION_CATEGORY] + 1 + state.entry_counts[LOCATION_CATEGORY] = entry_index + save_entry(player_name, LOCATION_CATEGORY, entry_index, content, topic) + save_state(player_name, state) +end + local function read_cgpsmap(itemstack, player_name) -- TODO: get_metadata is a deprecated function, but it is necessary because that's what cgpsmap uses. local meta = minetest.deserialize(itemstack:get_metadata()) @@ -221,63 +278,63 @@ local function read_item(itemstack, player_name) read_book(itemstack, player_name) elseif item_name == "compassgps:cgpsmap_marked" then read_cgpsmap(itemstack, player_name) + elseif item_name:sub(1,ccompass_prefix_length) == ccompass_prefix then + read_ccompass(itemstack, player_name) end end -local function set_ccompass(player_name, old_compass) - local old_pos = old_compass:get_meta():get_string("target_pos") - if not ccompass_recalibration_allowed and old_pos ~= "" then - minetest.chat_send_player(player_name, S("Compass is already calibrated.")) - return - end +-------------------------------------------------------------------------- +-- Detached inventory - local state = get_state(player_name) - local category = state.category - if category ~= LOCATION_CATEGORY then - return +-- Allow or disallow ccompasses based on whether they've got target info in their meta +local function ccompass_permitted_target(itemstack) + if ccompass_restrict_target then + -- We have no idea whether there's an allowed node at this location, so don't allow + -- setting compasses when node type restriction is enabled. + return false end - local topic = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_topic") - local pos = minetest.string_to_pos(topic) - if not pos then - return + if not itemstack:get_name():sub(1,ccompass_prefix_length) == ccompass_prefix then + return false end - - local content = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_content") - content = truncate_string(first_line(content), max_title_size) - local new_ccompass = ItemStack("ccompass:0") - local param = { - target_pos_string = topic, - target_name = content, - playername = player_name - } - ccompass.set_target(new_ccompass, param) - return new_ccompass + local meta = itemstack:get_meta() + local has_pos = minetest.string_to_pos(meta:get_string("target_pos")) + if has_pos and not ccompass_recalibration_allowed then + return false + end + return true +end +local function ccompass_permitted_source(itemstack) + if not itemstack:get_name():sub(1,ccompass_prefix_length) == ccompass_prefix then + return false + end + local meta = itemstack:get_meta() + local has_pos = minetest.string_to_pos(meta:get_string("target_pos")) + if not has_pos then + return false + end + return true end -local ccompass_prefix = "ccompass:" -local ccompass_prefix_length = #ccompass_prefix local detached_callbacks = { allow_put = function(inv, listname, index, stack, player) local stack_name = stack:get_name() - if listname == "write_book" then + if listname == "export_item" then if stack_name == "default:book" then return 1 end local player_name = player:get_player_name() local state = get_state(player_name) local category = state.category - if category == LOCATION_CATEGORY and stack_name == "compassgps:cgpsmap" then + if category == LOCATION_CATEGORY and + (stack_name == "compassgps:cgpsmap" or + ccompass_permitted_target(stack)) then return 1 end return 0 - elseif listname == "read_book" then - if stack_name == "default:book_written" or stack_name == "compassgps:cgpsmap_marked" then - return 1 - end - return 0 - elseif listname == "set_compass" then - -- TODO: support setting cgpscompass compasses directly - if stack_name:sub(1,ccompass_prefix_length) == ccompass_prefix then + elseif listname == "import_item" then + if stack_name == "default:book_written" or + stack_name == "compassgps:cgpsmap_marked" or + ccompass_permitted_source(stack) then return 1 end return 0 @@ -285,17 +342,12 @@ local detached_callbacks = { end, on_put = function(inv, listname, index, stack, player) local player_name = player:get_player_name() - if listname == "write_book" then + if listname == "export_item" then + local new_item = write_item(player_name, stack) inv:remove_item(listname, stack) - inv:add_item(listname, write_item(player_name, stack)) - elseif listname == "read_book" then + inv:add_item(listname, new_item) + elseif listname == "import_item" then read_item(stack, player_name) - elseif listname == "set_compass" then - local new_ccompass = set_ccompass(player_name, stack) - if new_ccompass then - inv:remove_item(listname, stack) - inv:add_item(listname, new_ccompass) - end end end, } @@ -306,17 +358,12 @@ local function ensure_detached_inventory(player_name) return end local inv = minetest.create_detached_inventory("personal_log_"..player_name, detached_callbacks) - if default_modpath then - inv:set_size("write_book", 1) - inv:set_size("read_book", 1) - end - if ccompass_modpath or compassgps_modpath then - inv:set_size("set_compass", 1) - end + inv:set_size("export_item", 1) + inv:set_size("import_item", 1) item_invs[player_name] = true end --- if a player leaves stuff in their detached inventory, try giving it to them when they leave +-- if a player leaves stuff in their detached inventory, try giving it to them when they exit local function try_return(detached_inv, player_inv, listname) local item = detached_inv:get_stack(listname, 1) item = player_inv:add_item("main", item) @@ -327,15 +374,63 @@ local function return_all_items(player) if item_invs[player_name] then local player_inv = minetest.get_inventory({type="player", name=player_name}) local detached_inv = minetest.get_inventory({type="detached", name="personal_log_"..player_name}) - try_return(detached_inv, player_inv, "set_compass") -- do compass first, it's most expensive - try_return(detached_inv, player_inv, "write_book") - try_return(detached_inv, player_inv, "read_book") + try_return(detached_inv, player_inv, "export_item") + try_return(detached_inv, player_inv, "import_item") end end -local function item_formspec(player_name, label, listname) +------------------------------------------------------------------------ +-- Import/export formspec + +local import_mods = {} +local export_generic_mods = {} +local export_location_mods = {} +if default_modpath then + table.insert(import_mods, S("a book")) + table.insert(export_generic_mods, S("a book")) + table.insert(export_location_mods, S("a book")) +end +if ccompass_modpath then + table.insert(import_mods, S("a calibrated compass")) + if not ccompass_restrict_target then + table.insert(export_location_mods, S("a compass")) + end +end +if compassgps_modpath then + table.insert(import_mods, S("a GPS compass map")) + table.insert(export_location_mods, S("a GPS compass map")) +end + +local function aggregate_localized_string(list) + if #list == 1 then + return S("@1", list[1]) + end + if #list == 2 then + return S("@1 or @2", list[1], list[2]) + end + if #list == 3 then + return S("@1, @2 or @3", list[1], list[2], list[3]) + end +end + +local import_label = aggregate_localized_string(import_mods) +local export_generic_label = aggregate_localized_string(export_generic_mods) +local export_location_label = aggregate_localized_string(export_location_mods) + +local function item_formspec(player_name, category, listname, topic) + local label + if listname == "import_item" then + label = S("Import an entry from @1", import_label) + else + if category == LOCATION_CATEGORY then + label = S('Export "@1" to @2', topic, export_location_label) + else + label = S('Export "@1" to @2', topic, export_generic_label) + end + end + local formspec = "size[8,6]" - .. "label[1,0.25;" .. label .. "]" + .. "label[0,1;" .. label .. "]" .. "list[detached:personal_log_"..player_name..";"..listname..";3.5,0;1,1;]" .. "list[current_player;main;0,1.5;8,4;]" .. "listring[]" @@ -402,21 +497,16 @@ local function make_personal_log_formspec(player) .."button[0,0;2,0.5;save;"..S("Save").."]" .."button[2,0;2,0.5;create;"..S("New").."]" .."button[4.5,0;2,0.5;move_up;"..S("Move Up").."]" - .."button[4.5,0.5;2,0.5;move_down;"..S("Move Down").."]" + .."button[4.5,0.75;2,0.5;move_down;"..S("Move Down").."]" .."button[7,0;2,0.5;delete;"..S("Delete") .."]" if category_index == LOCATION_CATEGORY and minetest.check_player_privs(player_name, "teleport") then formspec[#formspec+1] = "button[7,0.5;2,0.5;teleport;"..S("Teleport") .."]" end - if default_modpath then - formspec[#formspec+1] = "button[0,0.75;1.25,0.5;copy_to;"..S("To Book").."]" - .."button[1.375,0.75;1.25,0.5;copy_from;"..S("From Book").."]" - end - - -- TODO: support setting cgpscompass compasses directly - if ccompass_modpath and category_index == LOCATION_CATEGORY then - formspec[#formspec+1] = "button[2.75,0.75;1.25,0.5;set_compass;"..S("To Compass").."]" + if default_modpath or ccompass_modpath or compassgps_modpath then + formspec[#formspec+1] = "button[0,0.75;2.0,0.5;copy_to;"..S("Export").."]" + .."button[2,0.75;2.0,0.5;copy_from;"..S("Import").."]" end formspec[#formspec+1] = "container_end[]" @@ -523,21 +613,20 @@ local function on_player_receive_fields(player, fields, update_callback) if fields.copy_to then if valid_entry_selected then + local topic = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_topic") + if category ~= 3 then + -- If it's a location or an event, add a little context to the title + local content = modstore:get_string(player_name .. "_category_" .. category .. "_entry_" .. entry_selected .. "_content") + topic = S("@1: @2", topic, truncate_string(first_line(content), short_title_size)) + end minetest.show_formspec(player_name, "personal_log:item", - item_formspec(player_name, S("Copy log to blank book:"), "write_book")) + item_formspec(player_name, category, "export_item", topic)) end return end if fields.copy_from then minetest.show_formspec(player_name, "personal_log:item", - item_formspec(player_name, S("Copy log from written book:"), "read_book")) - return - end - if fields.set_compass then - if valid_entry_selected then - minetest.show_formspec(player_name, "personal_log:item", - item_formspec(player_name, S("Set a compass to this location:"), "set_compass")) - end + item_formspec(player_name, category, "import_item")) return end diff --git a/locale/template.pot b/locale/template.pot index 9e2d29a..fd96ae6 100644 --- a/locale/template.pot +++ b/locale/template.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-02-04 13:23-0700\n" +"POT-Creation-Date: 2020-02-04 20:56-0700\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,96 +17,120 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: personal_log\init.lua:18 +#: personal_log\init.lua:20 msgid "Location" msgstr "" -#: personal_log\init.lua:19 +#: personal_log\init.lua:21 msgid "Event" msgstr "" -#: personal_log\init.lua:20 +#: personal_log\init.lua:22 msgid "General" msgstr "" -#: personal_log\init.lua:142 +#: personal_log\init.lua:152 msgid "\"@1\" by @2" msgstr "" -#: personal_log\init.lua:230 -msgid "Compass is already calibrated." +#: personal_log\init.lua:389 +#: personal_log\init.lua:390 +#: personal_log\init.lua:391 +msgid "a book" msgstr "" -#: personal_log\init.lua:342 -msgid "Back" +#: personal_log\init.lua:394 +msgid "a calibrated compass" msgstr "" -#: personal_log\init.lua:363 -msgid "Category:" +#: personal_log\init.lua:396 +msgid "a compass" msgstr "" -#: personal_log\init.lua:364 -msgid "Personal Log Entries" -msgstr "" - -#: personal_log\init.lua:402 -msgid "Save" -msgstr "" - -#: personal_log\init.lua:403 -msgid "New" -msgstr "" - -#: personal_log\init.lua:404 -msgid "Move Up" -msgstr "" - -#: personal_log\init.lua:405 -msgid "Move Down" +#: personal_log\init.lua:400 +#: personal_log\init.lua:401 +msgid "a GPS compass map" msgstr "" #: personal_log\init.lua:406 -msgid "Delete" +msgid "@1" msgstr "" #: personal_log\init.lua:409 +msgid "@1 or @2" +msgstr "" + +#: personal_log\init.lua:412 +msgid "@1, @2 or @3" +msgstr "" + +#: personal_log\init.lua:423 +msgid "Import an entry from @1" +msgstr "" + +#: personal_log\init.lua:426 +#: personal_log\init.lua:428 +msgid "Export \"@1\" to @2" +msgstr "" + +#: personal_log\init.lua:437 +msgid "Back" +msgstr "" + +#: personal_log\init.lua:458 +msgid "Category:" +msgstr "" + +#: personal_log\init.lua:459 +msgid "Personal Log Entries" +msgstr "" + +#: personal_log\init.lua:497 +msgid "Save" +msgstr "" + +#: personal_log\init.lua:498 +msgid "New" +msgstr "" + +#: personal_log\init.lua:499 +msgid "Move Up" +msgstr "" + +#: personal_log\init.lua:500 +msgid "Move Down" +msgstr "" + +#: personal_log\init.lua:501 +msgid "Delete" +msgstr "" + +#: personal_log\init.lua:504 msgid "Teleport" msgstr "" -#: personal_log\init.lua:413 -msgid "To Book" +#: personal_log\init.lua:508 +msgid "Export" msgstr "" -#: personal_log\init.lua:414 -msgid "From Book" +#: personal_log\init.lua:509 +msgid "Import" msgstr "" -#: personal_log\init.lua:419 -msgid "To Compass" +#: personal_log\init.lua:620 +msgid "@1: @2" msgstr "" -#: personal_log\init.lua:527 -msgid "Copy log to blank book:" -msgstr "" - -#: personal_log\init.lua:533 -msgid "Copy log from written book:" -msgstr "" - -#: personal_log\init.lua:539 -msgid "Set a compass to this location:" -msgstr "" - -#: personal_log\init.lua:579 -#: personal_log\init.lua:591 +#: personal_log\init.lua:668 +#: personal_log\init.lua:680 msgid "Your personal log for keeping track of what happens where" msgstr "" -#: personal_log\init.lua:592 -#: personal_log\init.lua:600 +#: personal_log\init.lua:681 +#: personal_log\init.lua:689 msgid "Log" msgstr "" -#: personal_log\init.lua:604 +#: personal_log\init.lua:693 msgid "Open personal log" msgstr "" diff --git a/readme.md b/readme.md index 74da71d..d0e926d 100644 --- a/readme.md +++ b/readme.md @@ -12,7 +12,7 @@ Logs can be entered into three different categories: - Events - General -Location logs will automatically have the player's coordinates saved with them when they're created. If the [ccompass](https://github.com/minetest-mods/ccompass) mod is installed there will be an interface that allows you to set a compass to track the location of one of these entries. +Location logs will automatically have the player's coordinates saved with them when they're created. If the [ccompass](https://github.com/minetest-mods/ccompass) mod is installed there will be an interface that allows you to set a compass to track the location of one of these entries. You can also read and write maps belonging to the [compassgps](https://github.com/Kilarin/compassgps/) mod. Event logs automatically have the current date saved with them when they're created. diff --git a/screenshot.png b/screenshot.png index 300503c4f01c802e0acb30569025db7d0e513b2e..3cc2798ac87f0b00a2202b9658034cd61eb72a41 100644 GIT binary patch literal 20701 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

_F4rj)jHbR1qB5()YRyj)n5mJ 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