From 27acdba537915a713104129d34bf61d0f6fb0030 Mon Sep 17 00:00:00 2001 From: James Stevenson Date: Wed, 16 Jan 2019 16:12:32 -0500 Subject: [PATCH] Use craftguide submodule. --- .gitmodules | 3 + mods/craftguide | 1 + mods/craftguide/LICENSE | 9 - mods/craftguide/README.md | 14 - mods/craftguide/depends.txt | 2 - mods/craftguide/description.txt | 2 - mods/craftguide/init.lua | 588 ------------------ mods/craftguide/intllib.lua | 45 -- mods/craftguide/locale/de.po | 90 --- mods/craftguide/locale/ms.po | 91 --- mods/craftguide/locale/ru.po | 90 --- mods/craftguide/locale/template.pot | 88 --- mods/craftguide/mod.conf | 1 - mods/craftguide/textures/craftguide_arrow.png | Bin 242 -> 0 bytes mods/craftguide/textures/craftguide_bg.png | Bin 169 -> 0 bytes mods/craftguide/textures/craftguide_book.png | Bin 3128 -> 0 bytes mods/craftguide/textures/craftguide_fire.png | Bin 3131 -> 0 bytes .../textures/craftguide_furnace.png | Bin 3365 -> 0 bytes .../textures/craftguide_shapeless.png | Bin 227 -> 0 bytes mods/craftguide/textures/craftguide_sign.png | Bin 685 -> 0 bytes .../textures/craftguide_sign_inv.png | Bin 685 -> 0 bytes 21 files changed, 4 insertions(+), 1020 deletions(-) create mode 160000 mods/craftguide delete mode 100644 mods/craftguide/LICENSE delete mode 100644 mods/craftguide/README.md delete mode 100644 mods/craftguide/depends.txt delete mode 100644 mods/craftguide/description.txt delete mode 100644 mods/craftguide/init.lua delete mode 100644 mods/craftguide/intllib.lua delete mode 100644 mods/craftguide/locale/de.po delete mode 100644 mods/craftguide/locale/ms.po delete mode 100644 mods/craftguide/locale/ru.po delete mode 100644 mods/craftguide/locale/template.pot delete mode 100644 mods/craftguide/mod.conf delete mode 100644 mods/craftguide/textures/craftguide_arrow.png delete mode 100644 mods/craftguide/textures/craftguide_bg.png delete mode 100644 mods/craftguide/textures/craftguide_book.png delete mode 100644 mods/craftguide/textures/craftguide_fire.png delete mode 100644 mods/craftguide/textures/craftguide_furnace.png delete mode 100644 mods/craftguide/textures/craftguide_shapeless.png delete mode 100644 mods/craftguide/textures/craftguide_sign.png delete mode 100644 mods/craftguide/textures/craftguide_sign_inv.png diff --git a/.gitmodules b/.gitmodules index 2fb4040..deb0eb5 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "mods/dfcaverns"] path = mods/dfcaverns url = git://github.com/facedeer/dfcaverns.git +[submodule "mods/craftguide"] + path = mods/craftguide + url = git://github.com/minetest-mods/craftguide.git diff --git a/mods/craftguide b/mods/craftguide new file mode 160000 index 0000000..ed11bf3 --- /dev/null +++ b/mods/craftguide @@ -0,0 +1 @@ +Subproject commit ed11bf3281f753f5269ea25e900842f276f2cf2e diff --git a/mods/craftguide/LICENSE b/mods/craftguide/LICENSE deleted file mode 100644 index 1791045..0000000 --- a/mods/craftguide/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -« Copyright © 2015-2017, Jean-Patrick Guerrero - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -The Software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. In no event shall the authors or copyright holders X be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the Software. - -Except as contained in this notice, the name of the shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the . » diff --git a/mods/craftguide/README.md b/mods/craftguide/README.md deleted file mode 100644 index b7d4559..0000000 --- a/mods/craftguide/README.md +++ /dev/null @@ -1,14 +0,0 @@ -## ![Preview1](http://i.imgur.com/fIPNYkb.png) Crafting Guide ## - -#### A Crafting Guide for Minetest that doesn't suck. #### - -#### `craftguide` is the most comprehensive mod of its category. #### -#### Consult the [Minetest Wiki](http://wiki.minetest.net/Crafting_guide) for more details and comparisons. #### - -#### This crafting guide is usable with a blue book named *"Crafting Guide"*. #### - -#### This crafting guide features two modes : Standard and Progressive. #### -The Progressive mode is a Terraria-like system that only shows recipes you can craft from items in inventory. -The progressive mode can be enabled with `craftguide_progressive_mode = true` in `minetest.conf`. - -![Preview2](http://i.imgur.com/3q7rVSo.png) diff --git a/mods/craftguide/depends.txt b/mods/craftguide/depends.txt deleted file mode 100644 index 368ca56..0000000 --- a/mods/craftguide/depends.txt +++ /dev/null @@ -1,2 +0,0 @@ -sfinv_buttons? -intllib? diff --git a/mods/craftguide/description.txt b/mods/craftguide/description.txt deleted file mode 100644 index b5c0540..0000000 --- a/mods/craftguide/description.txt +++ /dev/null @@ -1,2 +0,0 @@ -The most comprehensive Crafting Guide -on Minetest. diff --git a/mods/craftguide/init.lua b/mods/craftguide/init.lua deleted file mode 100644 index 4b4c930..0000000 --- a/mods/craftguide/init.lua +++ /dev/null @@ -1,588 +0,0 @@ -local craftguide, datas, mt = {}, {searches = {}}, minetest -local progressive_mode = mt.settings:get_bool("craftguide_progressive_mode") -local get_recipe, get_recipes = mt.get_craft_recipe, mt.get_all_craft_recipes -local get_result, show_formspec = mt.get_craft_result, mt.show_formspec -local reg_items = mt.registered_items - -craftguide.path = minetest.get_modpath("craftguide") - --- Intllib -local S = dofile(craftguide.path .. "/intllib.lua") -craftguide.intllib = S - --- Lua 5.3 removed `table.maxn`, use this alternative in case of breakage: --- https://github.com/kilbith/xdecor/blob/master/handlers/helpers.lua#L1 -local remove, maxn, sort = table.remove, table.maxn, table.sort -local min, max, floor, ceil = math.min, math.max, math.floor, math.ceil - -local DEFAULT_SIZE = 10 -local MIN_LIMIT, MAX_LIMIT = 9, 12 -DEFAULT_SIZE = min(MAX_LIMIT, max(MIN_LIMIT, DEFAULT_SIZE)) - -local GRID_LIMIT = 5 - -local group_stereotypes = { - wool = "wool:white", - dye = "dye:white", - water_bucket = "bucket:bucket_water", - vessel = "vessels:glass_bottle", - coal = "default:coal_lump", - flower = "flowers:dandelion_yellow", - mesecon_conductor_craftable = "mesecons:wire_00000000_off", -} - -function craftguide:group_to_item(item) - if item:sub(1,6) == "group:" then - local itemsub = item:sub(7) - if group_stereotypes[itemsub] then - item = group_stereotypes[itemsub] - elseif reg_items["default:" .. itemsub] then - item = item:gsub("group:", "default:") - else - for name, def in pairs(reg_items) do - if def.groups[item:match("[^,:]+$")] then - item = name - end - end - end - end - - return item:sub(1,6) == "group:" and "" or item -end - -local function extract_groups(str) - if str:sub(1,6) ~= "group:" then return end - return str:sub(7):split(",") -end - -local function colorize(str) - -- If client <= 0.4.14, don't colorize for compatibility. - return mt.colorize and mt.colorize("#FFFF00", str) or str -end - -local function get_fueltime(item) - return get_result({method = "fuel", width = 1, items = {item}}).time -end - -function craftguide:get_tooltip(item, recipe_type, cooktime, groups) - local tooltip, item_desc = "tooltip[" .. item .. ";", "" - local fueltime = get_fueltime(item) - local has_extras = groups or recipe_type == "cooking" or fueltime > 0 - - if reg_items[item] then - if not groups then - item_desc = reg_items[item].description - end - else - return tooltip .. S("Unknown Item (@1)", item) .. "]" - end - - if groups then - local groupstr = "" - for i = 1, #groups do - groupstr = groupstr .. - colorize(groups[i]) .. (groups[i + 1] and ", " or "") - end - - tooltip = tooltip .. S("Any item belonging to the group(s)") .. ": " .. groupstr - end - - if recipe_type == "cooking" then - tooltip = tooltip .. item_desc .. "\n" - .. S("Cooking time") .. ": " .. colorize(cooktime) - end - - if fueltime > 0 then - tooltip = tooltip .. item_desc .. "\n" - .. S("Burning time") .. ": " .. colorize(fueltime) - end - - return has_extras and tooltip .. "]" or "" -end - -function craftguide:get_recipe(iY, xoffset, tooltip, item, recipe_num, recipes, show_usage) - local formspec, recipes_total = "", #recipes - if recipes_total > 1 then - formspec = formspec .. - "button[0," .. (iY + 3.3) .. ";2,1;alternate;" .. S("Alternate") .. "]" .. - "label[0," .. (iY + 2.8) .. ";" .. - (show_usage and S("Usage") or S("Recipe")) .. " " .. - S("@1 of @2", recipe_num, recipes_total) .. "]" - end - - local recipe_type = recipes[recipe_num].type - local items = recipes[recipe_num].items - local width = recipes[recipe_num].width - - if recipe_type == "cooking" or (recipe_type == "normal" and width == 0) then - local icon = recipe_type == "cooking" and "furnace" or "shapeless" - formspec = formspec .. - "image[" .. (xoffset - 0.8) .. "," .. (iY + 1.7) .. - ";0.5,0.5;craftguide_" .. icon .. ".png]" - end - - if width == 0 then - width = min(3, #items) - end - - local rows = ceil(maxn(items) / width) - - if recipe_type == "normal" and (width > GRID_LIMIT or rows > GRID_LIMIT) then - formspec = formspec .. - "label[" .. xoffset .. "," .. (iY + 2) .. ";" .. - S("Recipe is too big to\nbe displayed (@1x@2)", width, rows) .. "]" - else - local btn_size = 1 - for i, v in pairs(items) do - local X = (i - 1) % width + xoffset - local Y = ceil(i / width + (iY + 2) - min(2, rows)) - - if recipe_type == "normal" and (width > 3 or rows > 3) then - btn_size = width > 3 and 3 / width or 3 / rows - X = btn_size * (i % width) + xoffset - Y = btn_size * floor((i - 1) / width) + (iY + 3) - min(2, rows) - end - - local groups = extract_groups(v) - local label = groups and "\nG" or "" - local item_r = self:group_to_item(v) - local tltip = self:get_tooltip(item_r, recipe_type, width, groups) - - formspec = formspec .. - "item_image_button[" .. X .. "," .. (Y + 0.2) .. ";" .. - btn_size .. "," .. btn_size .. ";" .. item_r .. - ";" .. item_r .. ";" .. label .. "]" .. tltip - end - end - - local output = recipes[recipe_num].output - return formspec .. - "image[" .. (xoffset - 1) .. "," .. (iY + 2.35) .. - ";0.9,0.7;craftguide_arrow.png]" .. - "item_image_button[" .. (xoffset - 2) .. "," .. (iY + 2.2) .. ";1,1;" .. - output .. ";" .. item .. ";]" .. tooltip -end - -function craftguide:get_formspec(player_name, is_fuel) - local data = datas[player_name] - local iY = data.iX - 5 - local ipp = data.iX * iY - - if not data.items then - data.items = datas.init_items - end - - data.pagemax = max(1, ceil(#data.items / ipp)) - - local formspec = "size[" .. (data.iX - 0.35) .. "," .. (iY + 4) .. ";]" .. [[ - background[1,1;1,1;craftguide_bg.png;true] - button[2.4,0.23;0.8,0.5;search;?] - button[3.05,0.23;0.8,0.5;clear;X] - field_close_on_enter[filter;false] - ]] .. - "tooltip[search;" .. S("Search") .. "]" .. - "tooltip[clear;" .. S("Reset") .. "]" .. - "tooltip[size_inc;" .. S("Increase window size") .. "]" .. - "tooltip[size_dec;" .. S("Decrease window size") .. "]" .. - "tooltip[prev;" .. S("Previous page") .. "]" .. - "tooltip[next;" .. S("Next page") .. "]" .. - "button[" .. (data.iX * 0.48) .. ",-0.02;0.7,1;size_inc;+]" .. - "button[" .. ((data.iX * 0.48) + 0.5) .. - ",-0.02;0.7,1;size_dec;-]" .. - "button[" .. (data.iX - 3.1) .. ",0;0.8,0.95;prev;<]" .. - "label[" .. (data.iX - 2.2) .. ",0.18;" .. - colorize(data.pagenum) .. " / " .. data.pagemax .. "]" .. - "button[" .. (data.iX - 1.2) .. ",0;0.8,0.95;next;>]" .. - "field[0.3,0.32;2.5,1;filter;;" .. - mt.formspec_escape(data.filter) .. "]" - - local even_num = data.iX % 2 == 0 - local xoffset = data.iX / 2 + (even_num and 0.5 or 0) - - if not next(data.items) then - formspec = formspec .. - "label[" .. (xoffset - (even_num and 1.5 or 1)) .. ",2;" .. - S("No item to show") .. "]" - end - - local first_item = (data.pagenum - 1) * ipp - for i = first_item, first_item + ipp - 1 do - local name = data.items[i + 1] - if not name then break end - local X = i % data.iX - local Y = (i % ipp - X) / data.iX + 1 - - formspec = formspec .. - "item_image_button[" .. (X - (X * 0.05)) .. "," .. Y .. ";1.1,1.1;" .. - name .. ";" .. name .. "_inv;]" - end - - if data.item and reg_items[data.item] then - local tooltip = self:get_tooltip(data.item) - if not data.recipes_item or (is_fuel and not get_recipe(data.item).items) then - formspec = formspec .. - "image[" .. (xoffset - 1) .. "," .. (iY + 2.35) .. - ";0.9,0.7;craftguide_arrow.png]" .. - "item_image_button[" .. xoffset .. "," .. (iY + 2.2) .. - ";1,1;" .. data.item .. ";" .. data.item .. ";]" .. - tooltip .. - "image[" .. (xoffset - 2) .. "," .. - (iY + 2.18) .. ";1,1;craftguide_fire.png]" - else - local show_usage = data.show_usage - formspec = formspec .. - self:get_recipe(iY, xoffset, tooltip, - data.item, - data.rnum, - (show_usage and data.usages or data.recipes_item), - show_usage) - end - end - - data.formspec = formspec - show_formspec(player_name, "craftguide", formspec) -end - -local function player_has_item(T) - for i = 1, #T do - if T[i] then - return true - end - end -end - -local function group_to_items(group) - local items_with_group, counter = {}, 0 - for name, def in pairs(reg_items) do - if def.groups[group:sub(7)] then - counter = counter + 1 - items_with_group[counter] = name - end - end - - return items_with_group -end - -local function item_in_inv(inv, item) - return inv:contains_item("main", item) -end - -function craftguide:recipe_in_inv(inv, item_name, recipes_f) - local recipes = recipes_f or get_recipes(item_name) or {} - local show_item_recipes = {} - - for i = 1, #recipes do - show_item_recipes[i] = true - for _, item in pairs(recipes[i].items) do - local group_in_inv = false - if item:sub(1,6) == "group:" then - local groups = group_to_items(item) - for j = 1, #groups do - if item_in_inv(inv, groups[j]) then - group_in_inv = true - end - end - end - if not group_in_inv and not item_in_inv(inv, item) then - show_item_recipes[i] = false - end - end - end - - for i = #show_item_recipes, 1, -1 do - if not show_item_recipes[i] then - remove(recipes, i) - end - end - - return recipes, player_has_item(show_item_recipes) -end - -function craftguide:get_init_items() - local items_list, counter = {}, 0 - for name, def in pairs(reg_items) do - local is_fuel = get_fueltime(name) > 0 - if (not (def.groups.not_in_craft_guide == 1 or def.groups.not_in_creative_inventory == 1)) and - (get_recipe(name).items or is_fuel) and - def.description and def.description ~= "" then - - counter = counter + 1 - items_list[counter] = name - end - end - - sort(items_list) - datas.init_items = items_list -end - -function craftguide:get_filter_items(data, player) - local filter = data.filter - if datas.searches[filter] then - data.items = datas.searches[filter] - return - end - - local items_list = progressive_mode and data.init_filter_items or datas.init_items - local inv = player:get_inventory() - local filtered_list, counter = {}, 0 - - for i = 1, #items_list do - local item = items_list[i] - local item_desc = reg_items[item].description:lower() - - if filter ~= "" then - if item:find(filter, 1, true) or item_desc:find(filter, 1, true) then - counter = counter + 1 - filtered_list[counter] = item - end - elseif progressive_mode then - local _, has_item = self:recipe_in_inv(inv, item) - if has_item then - counter = counter + 1 - filtered_list[counter] = item - end - end - end - - if progressive_mode then - if not data.items then - data.init_filter_items = filtered_list - end - elseif filter ~= "" then - -- Cache the results only if searched 2 times - if datas.searches[filter] == nil then - datas.searches[filter] = false - else - datas.searches[filter] = filtered_list - end - end - - data.items = filtered_list -end - -function craftguide:get_item_usages(item) - local usages = {} - for name, def in pairs(reg_items) do - if not (def.groups.not_in_creative_inventory == 1) and - (get_recipe(name).items) and def.description and def.description ~= "" then - local recipes = get_recipes(name) - for i = 1, #recipes do - local recipe = recipes[i] - local items = recipe.items - - for j = 1, #items do - if items[j] == item then - usages[#usages + 1] = { - type = recipe.type, - items = items, - width = recipe.width, - output = recipe.output, - } - break - end - end - end - end - end - - return usages -end - -mt.register_on_player_receive_fields(function(player, formname, fields) - if formname ~= "craftguide" then return end - local player_name = player:get_player_name() - local data = datas[player_name] - - if fields.clear then - data.show_usage = nil - data.filter = "" - data.item = nil - data.pagenum = 1 - data.rnum = 1 - - data.items = progressive_mode and data.init_filter_items or datas.init_items - craftguide:get_formspec(player_name) - - elseif fields.alternate then - local num - if data.show_usage then - num = data.usages[data.rnum + 1] - else - num = data.recipes_item[data.rnum + 1] - end - - data.rnum = num and data.rnum + 1 or 1 - craftguide:get_formspec(player_name) - - elseif (fields.key_enter_field == "filter" or fields.search) and - fields.filter ~= "" then - data.filter = fields.filter:lower() - data.pagenum = 1 - craftguide:get_filter_items(data, player) - craftguide:get_formspec(player_name) - - elseif fields.prev or fields.next then - data.pagenum = data.pagenum - (fields.prev and 1 or -1) - - if data.pagenum > data.pagemax then - data.pagenum = 1 - elseif data.pagenum == 0 then - data.pagenum = data.pagemax - end - - craftguide:get_formspec(player_name) - - elseif (fields.size_inc and data.iX < MAX_LIMIT) or - (fields.size_dec and data.iX > MIN_LIMIT) then - data.pagenum = 1 - data.iX = data.iX - (fields.size_dec and 1 or -1) - craftguide:get_formspec(player_name) - - else for item in pairs(fields) do - if item:find(":") then - if item:sub(-4) == "_inv" then - item = item:sub(1,-5) - end - - local is_fuel = get_fueltime(item) > 0 - local recipes = get_recipes(item) - if not recipes and not is_fuel then return end - - if not data.show_usage and item == data.item and not progressive_mode then - data.usages = craftguide:get_item_usages(item) - if next(data.usages) then - data.show_usage = true - data.rnum = 1 - end - - craftguide:get_formspec(player_name) - else - if progressive_mode then - local inv = player:get_inventory() - local _, has_item = craftguide:recipe_in_inv(inv, item) - - if not has_item then return end - recipes = craftguide:recipe_in_inv(inv, item, recipes) - end - - data.item = item - data.recipes_item = recipes - data.rnum = 1 - data.show_usage = nil - - craftguide:get_formspec(player_name, is_fuel) - end - end - end - end -end) - -function craftguide:on_use(itemstack, user) - if not datas.init_items then - self:get_init_items() - end - - local player_name = user:get_player_name() - local data = datas[player_name] - - if progressive_mode or not data then - datas[player_name] = {filter = "", pagenum = 1, iX = DEFAULT_SIZE} - if progressive_mode then - self:get_filter_items(datas[player_name], user) - end - - self:get_formspec(player_name) - else - show_formspec(player_name, "craftguide", data.formspec) - end -end - -mt.register_craftitem("craftguide:book", { - description = S("Crafting Guide"), - inventory_image = "craftguide_book.png", - wield_image = "craftguide_book.png", - stack_max = 1, - groups = {book = 1, trade_value = 3,}, - on_use = function(itemstack, user) - craftguide:on_use(itemstack, user) - end -}) ---[[ -mt.register_node("craftguide:sign", { - description = S("Crafting Guide Sign"), - drawtype = "nodebox", - tiles = {"craftguide_sign.png"}, - inventory_image = "craftguide_sign_inv.png", - wield_image = "craftguide_sign_inv.png", - paramtype = "light", - paramtype2 = "wallmounted", - sunlight_propagates = true, - groups = {wood = 1, oddly_breakable_by_hand = 1, flammable = 3}, - node_box = { - type = "wallmounted", - wall_top = {-0.4375, 0.4375, -0.3125, 0.4375, 0.5, 0.3125}, - wall_bottom = {-0.4375, -0.5, -0.3125, 0.4375, -0.4375, 0.3125}, - wall_side = {-0.5, -0.3125, -0.4375, -0.4375, 0.3125, 0.4375} - }, - on_construct = function(pos) - local meta = minetest.get_meta(pos) - meta:set_string("infotext", S("Crafting Guide Sign")) - end, - on_rightclick = function(pos, node, user, itemstack) - craftguide:on_use(itemstack, user) - end -}) ---]] -mt.register_craft({ - type = "fuel", - recipe = "craftguide:book", - burntime = 3 -}) ---[[ -mt.register_craft({ - output = "craftguide:sign", - type = "shapeless", - recipe = {"default:sign_wall_wood"} -}) - -mt.register_craft({ - type = "fuel", - recipe = "craftguide:sign", - burntime = 10 -}) ---]] -if rawget(_G, "sfinv_buttons") then - sfinv_buttons.register_button("craftguide", { - title = S("Crafting Guide"), - tooltip = S("Shows a list of available crafting recipes, cooking recipes and fuels"), - action = function(player) - craftguide:on_use(nil, player) - end, - image = "craftguide_book.png", - }) -end - -mt.register_alias("xdecor:crafting_guide", "craftguide:book") - ---[[ Custom recipes (>3x3) test code - -mt.register_craftitem("craftguide:custom_recipe_test", { - description = "Custom Recipe Test", -}) - -local cr = {} -for x = 1, 6 do - cr[x] = {} - for i = 1, 10 - x do - cr[x][i] = {} - for j = 1, 10 - x do - cr[x][i][j] = "group:wood" - end - end - - mt.register_craft({ - output = "craftguide:custom_recipe_test", - recipe = cr[x] - }) -end -]] diff --git a/mods/craftguide/intllib.lua b/mods/craftguide/intllib.lua deleted file mode 100644 index 6669d72..0000000 --- a/mods/craftguide/intllib.lua +++ /dev/null @@ -1,45 +0,0 @@ - --- Fallback functions for when `intllib` is not installed. --- Code released under Unlicense . - --- Get the latest version of this file at: --- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua - -local function format(str, ...) - local args = { ... } - local function repl(escape, open, num, close) - if escape == "" then - local replacement = tostring(args[tonumber(num)]) - if open == "" then - replacement = replacement..close - end - return replacement - else - return "@"..open..num..close - end - end - return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl)) -end - -local gettext, ngettext -if minetest.get_modpath("intllib") then - if intllib.make_gettext_pair then - -- New method using gettext. - gettext, ngettext = intllib.make_gettext_pair() - else - -- Old method using text files. - gettext = intllib.Getter() - end -end - --- Fill in missing functions. - -gettext = gettext or function(msgid, ...) - return format(msgid, ...) -end - -ngettext = ngettext or function(msgid, msgid_plural, n, ...) - return format(n==1 and msgid or msgid_plural, ...) -end - -return gettext, ngettext diff --git a/mods/craftguide/locale/de.po b/mods/craftguide/locale/de.po deleted file mode 100644 index 8e5a8de..0000000 --- a/mods/craftguide/locale/de.po +++ /dev/null @@ -1,90 +0,0 @@ -# German translation for craftguide mod. -# Copyright (C) 2018 -# This file is distributed under the same license as the craftguide package. -# codexp , 2018. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: 1.27\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-23 00:17+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: German\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: init.lua -msgid "Unknown Item (@1)" -msgstr "Unbekannter Gegenstand (@1)" - -#: init.lua -msgid "Any item belonging to the group(s)" -msgstr "Beliebiger Gegenstand aus der Gruppe" - -#: init.lua -msgid "Cooking time" -msgstr "Kochzeit" - -#: init.lua -msgid "Burning time" -msgstr "Brennzeit" - -#: init.lua -msgid "Alternate" -msgstr "Andere" - -#: init.lua -msgid "Recipe @1 of @2" -msgstr "Rezept @1 von @2" - -#: init.lua -msgid "" -"Recipe is too big to\n" -"be displayed (@1x@2)" -msgstr "" -"Rezept ist zu groß\n" -"für die Anzeige (@1x@2)" - -#: init.lua -msgid "Search" -msgstr "Suche" - -#: init.lua -msgid "Reset" -msgstr "Zurücksetzen" - -#: init.lua -msgid "Increase window size" -msgstr "Fenster vergrößern" - -#: init.lua -msgid "Decrease window size" -msgstr "Fenster verkleinern" - -#: init.lua -msgid "Previous page" -msgstr "Vorherige Seite" - -#: init.lua -msgid "Next page" -msgstr "Nächste Seite" - -#: init.lua -msgid "No item to show" -msgstr "Nichts anzuzeigen" - -#: init.lua -msgid "Crafting Guide" -msgstr "Rezeptbuch" - -#: init.lua -msgid "Crafting Guide Sign" -msgstr "Rezepttafel" - -#: init.lua -msgid "Shows a list of available crafting recipes, cooking recipes and fuels" -msgstr "Zeigt eine Liste von verfügbaren Rezepten, Kochrezepten und Brennmaterialien" diff --git a/mods/craftguide/locale/ms.po b/mods/craftguide/locale/ms.po deleted file mode 100644 index 56a1c20..0000000 --- a/mods/craftguide/locale/ms.po +++ /dev/null @@ -1,91 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -msgid "" -msgstr "" -"Project-Id-Version: craftguide\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-23 18:35+0100\n" -"PO-Revision-Date: 2018-04-18 02:02+0800\n" -"Language-Team: muhdnurhidayat \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.6\n" -"Last-Translator: MuhdNurHidayat (MNH48) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"Language: ms\n" - -#: init.lua -msgid "Unknown Item (@1)" -msgstr "Item Tidak Diketahui (@1)" - -#: init.lua -msgid "Any item belonging to the group(s)" -msgstr "Sebarang item dari kumpulan" - -#: init.lua -msgid "Cooking time" -msgstr "Tempoh memasak" - -#: init.lua -msgid "Burning time" -msgstr "Tempoh pembakaran" - -#: init.lua -msgid "Alternate" -msgstr "Resipi lain" - -#: init.lua -msgid "Recipe @1 of @2" -msgstr "Resipi @1 dari @2" - -#: init.lua -msgid "" -"Recipe is too big to\n" -"be displayed (@1x@2)" -msgstr "" -"Resipi terlalu besar\n" -"untuk paparan (@1x@2)" - -#: init.lua -msgid "Search" -msgstr "Cari" - -#: init.lua -msgid "Reset" -msgstr "Set semula" - -#: init.lua -msgid "Increase window size" -msgstr "Besarkan saiz tetingkap" - -#: init.lua -msgid "Decrease window size" -msgstr "Kecilkan saiz tetingkap" - -#: init.lua -msgid "Previous page" -msgstr "Halaman sebelumnya" - -#: init.lua -msgid "Next page" -msgstr "Halaman seterusnya" - -#: init.lua -msgid "No item to show" -msgstr "Tiada item untuk dipaparkan" - -#: init.lua -msgid "Crafting Guide" -msgstr "Panduan Pertukangan" - -#: init.lua -msgid "Crafting Guide Sign" -msgstr "Papan Tanda Panduan Pertukangan" - -#: init.lua -msgid "Shows a list of available crafting recipes, cooking recipes and fuels" -msgstr "Menunjukkan senarai resipi pertukangan, resipi memasak dan bahan api yang ada" diff --git a/mods/craftguide/locale/ru.po b/mods/craftguide/locale/ru.po deleted file mode 100644 index e99d0c6..0000000 --- a/mods/craftguide/locale/ru.po +++ /dev/null @@ -1,90 +0,0 @@ -# Russian translation for craftguide mod. -# Copyright (C) 2018 -# This file is distributed under the same license as the craftguide package. -# codexp , 2018. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: 1.27\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-23 00:17+0100\n" -"PO-Revision-Date: \n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: Russian\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" - -#: init.lua -msgid "Unknown Item (@1)" -msgstr "Неизвестный элемент (@1)" - -#: init.lua -msgid "Any item belonging to the group(s)" -msgstr "Любой элемент из группы" - -#: init.lua -msgid "Cooking time" -msgstr "Время преготовления" - -#: init.lua -msgid "Burning time" -msgstr "Время горения" - -#: init.lua -msgid "Alternate" -msgstr "Другой" - -#: init.lua -msgid "Recipe @1 of @2" -msgstr "Рецепт @1 из @2" - -#: init.lua -msgid "" -"Recipe is too big to\n" -"be displayed (@1x@2)" -msgstr "" -"Рецепт слишком большой\n" -"для показа (@1x@2)" - -#: init.lua -msgid "Search" -msgstr "Поиск" - -#: init.lua -msgid "Reset" -msgstr "Сброс" - -#: init.lua -msgid "Increase window size" -msgstr "Увеличить окно" - -#: init.lua -msgid "Decrease window size" -msgstr "Уменьшить окно" - -#: init.lua -msgid "Previous page" -msgstr "Предыдущая страница" - -#: init.lua -msgid "Next page" -msgstr "Следущая страница" - -#: init.lua -msgid "No item to show" -msgstr "Нет элемента для показа" - -#: init.lua -msgid "Crafting Guide" -msgstr "книга рецептов крафта" - -#: init.lua -msgid "Crafting Guide Sign" -msgstr "табличка рецептов крафта" - -#: init.lua -msgid "Shows a list of available crafting recipes, cooking recipes and fuels" -msgstr "Показывает список рецептов крафта, преготовления и топливо" diff --git a/mods/craftguide/locale/template.pot b/mods/craftguide/locale/template.pot deleted file mode 100644 index 8f8470d..0000000 --- a/mods/craftguide/locale/template.pot +++ /dev/null @@ -1,88 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2018-03-23 18:35+0100\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" - -#: init.lua -msgid "Unknown Item (@1)" -msgstr "" - -#: init.lua -msgid "Any item belonging to the group(s)" -msgstr "" - -#: init.lua -msgid "Cooking time" -msgstr "" - -#: init.lua -msgid "Burning time" -msgstr "" - -#: init.lua -msgid "Alternate" -msgstr "" - -#: init.lua -msgid "Recipe @1 of @2" -msgstr "" - -#: init.lua -msgid "" -"Recipe is too big to\n" -"be displayed (@1x@2)" -msgstr "" - -#: init.lua -msgid "Search" -msgstr "" - -#: init.lua -msgid "Reset" -msgstr "" - -#: init.lua -msgid "Increase window size" -msgstr "" - -#: init.lua -msgid "Decrease window size" -msgstr "" - -#: init.lua -msgid "Previous page" -msgstr "" - -#: init.lua -msgid "Next page" -msgstr "" - -#: init.lua -msgid "No item to show" -msgstr "" - -#: init.lua -msgid "Crafting Guide" -msgstr "" - -#: init.lua -msgid "Crafting Guide Sign" -msgstr "" - -#: init.lua -msgid "Shows a list of available crafting recipes, cooking recipes and fuels" -msgstr "" diff --git a/mods/craftguide/mod.conf b/mods/craftguide/mod.conf deleted file mode 100644 index c32f714..0000000 --- a/mods/craftguide/mod.conf +++ /dev/null @@ -1 +0,0 @@ -name = craftguide diff --git a/mods/craftguide/textures/craftguide_arrow.png b/mods/craftguide/textures/craftguide_arrow.png deleted file mode 100644 index e8d3598a1b8d1ad3d505bb99421495cad111a35d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g&!3HF6Zj5OLQfx`y?k)`fL2$v|<&%LToCO|{ z#S9GG!XV7ZFl&wkP>{XE)7O>#0S}kBqQH+iJf=XQdQTU}5R21CuWaN!puod&pk3!c zkHPfi$&AxW=67iwnfPF7L{Yonu^SC4i`H!Y^!kjJaZ|=x!Pyg)w@hKutm)EAWc}3; zs==T#N%7UY-y1eviac|*dio*;gJTY6o3~Wo{a+>H+q(PknM)UUXx{!5At1UhCX@Bw kFV4A-9&X?HIm0-wapi>w;UHx3vIVCg!01o3^LI3~& diff --git a/mods/craftguide/textures/craftguide_bg.png b/mods/craftguide/textures/craftguide_bg.png deleted file mode 100644 index db50299362003609665f812236fa4756c8fea5fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 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 S1fr$@0000uJ@VVD_U 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 Vez(c=Kl1uJ@VVD_U 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 diff --git a/mods/craftguide/textures/craftguide_shapeless.png b/mods/craftguide/textures/craftguide_shapeless.png deleted file mode 100644 index 179d3173cf098b1b6cd8d72820648090f088af81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_*1#^NA%Cx&(BWL^R}OiAAEE({E- zdXmbbNq%pe!D9B#o>Fdh=kco{+kHf>>+8Zd8?&;zfVsZLxup<|P z0>|sM)lUD}7YC>HZc)1QdfDYnuk%boE$ti=WE4XxRJW8I_sh>wNcj+D{x9+IS$ApigX diff --git a/mods/craftguide/textures/craftguide_sign.png b/mods/craftguide/textures/craftguide_sign.png deleted file mode 100644 index f64b5ab5a67db1501315eefd08a6dc32e685074a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~nP)u`(b8u~SrnpcXd%2Nr^;g&=l<3W|lD zgcw6miv(0eMXYTEEsTXIq9n%6?d{I({IW=8X#{Zrl z96FaMtuu5gIWTpQG?la>k~&G0;9L8T7otZffwP`>uU}&tgODitwV}IhJ1d`7=ygX( zGL5$ml_|X63|r-qGU3a|&&X7vqCfuUm~QoOfhx}Ycu zs`3Yu2c|G}gU2!2>mjsG>6aygauq+Uc(FLg>i4faTbM<6I=oqWN;9ZOZT9 zU>Pkm$^C0*;?O#do;u4$xsLQh#&+za9#rJH##)Q+blCXy4KH)XdfV{9^YZaLL(?Mq zWr;+ww*H-!4$33Q8b_U#`> z2t!jtQ>|l%8w3|H)mNMj0xz^OCWkf4T z9IXw2B1VS`0xgrx0*T`M_4zHaaPz{EC|nY@%))4|M{?uhOjL>b@A)!~v^MY;+U7YU TT%RJG00000NkvXXu0mjfIIb+U diff --git a/mods/craftguide/textures/craftguide_sign_inv.png b/mods/craftguide/textures/craftguide_sign_inv.png deleted file mode 100644 index 61372344bbb71a1af0164333415bb90d750bb609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 685 zcmV;e0#f~nP)=-)$~AB+*Jl5G-ucSQ!w4*eNPOPzxLX0}DaaLJ&Ja1;xTn zLX07(MFJ|KBGxv77REvpQ4-_k_IBUx`&f%qmS)O<8K(G+xPAEqX(9hbs@A=VV zG9|PzDJD@Im^w(3C>q(4ctxuqH0~cSwgIUn-UZ&hevPdyQlaTrmhQIgtbAIb*BwEm zhTuFp)r7Dab~>Px;LFF)s6?Y%iHr^%LPIz2(8iX%lanBF#<%CJuSv8{2*Ht>oIKAd ziyurLn8H>y0ncc!hcqUkUla_ARl>03#o`>R-@o!~VHVTr@Mh^L^`PY8y;~qha7{y! zWmwx#RyDF;S)xoB=}n-rE{A7M^XmB$(=#Vno`1m9p=n+$&T;toFCC2``6AebiO@$>MR?@Iw}kq+p&{sP?BW^=NzWfVdK{~g31`{Z6n0M%g6H!Z6jpA zC{SqD*1xmz;RAul@1NfYJ`meT^czSiNyjEoO7Z^PTk64pvZ_%k-Q>WFNH-s6-~Mr= zwA2;U+@nODBrwr1nEWG@)t&XJ;aTRGiagzd%j9q8W;Hsgqk%d TEQ3u-00000NkvXXu0mjfIe;*O