Initial commit
commit
dc8ffc7eda
|
@ -0,0 +1,21 @@
|
|||
MIT License
|
||||
|
||||
Copyright © 2021 Jordan Irwin (AntumDeluge)
|
||||
|
||||
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 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.
|
|
@ -0,0 +1,11 @@
|
|||
## Equipment Examiner
|
||||
|
||||
### Description:
|
||||
|
||||
Tool to examine item stats in Minetest.
|
||||
|
||||
WARNING: this mod is in development & not ready for live use
|
||||
|
||||
### Licensing:
|
||||
|
||||
- [MIT](LICENSE.txt)
|
|
@ -0,0 +1,64 @@
|
|||
|
||||
local S = core.get_translator("equip_exam")
|
||||
|
||||
equip_exam.formspec_name = "equipExam"
|
||||
|
||||
|
||||
local function get_item_specs(item)
|
||||
if not item then return nil end
|
||||
|
||||
local specs = nil
|
||||
local name = item.short_description
|
||||
if not name then name = item.description end
|
||||
local id = item.name
|
||||
|
||||
if not name then
|
||||
specs = S("ID: @1", id)
|
||||
else
|
||||
specs = S("name: @1", name) .. "," .. S("ID: @1", id)
|
||||
end
|
||||
|
||||
if item.tool_capabilities.damage_groups then
|
||||
for k, v in pairs(item.tool_capabilities.damage_groups) do
|
||||
if not specs or specs == "" then
|
||||
specs = k .. ": " .. v
|
||||
else
|
||||
specs = specs .. "," .. S("Damge to @1 type:", k) .. " " .. v
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return specs
|
||||
end
|
||||
|
||||
local function get_formspec(item)
|
||||
local specs
|
||||
if item then
|
||||
specs = get_item_specs(core.registered_tools[item])
|
||||
else
|
||||
specs = "" -- empty
|
||||
end
|
||||
|
||||
if not specs then
|
||||
specs = S("Specs unavailable")
|
||||
end
|
||||
|
||||
local formspec = "formspec_version[4]"
|
||||
.. "size[12,9]"
|
||||
--.. "box[1,1;1,1;#555555]"
|
||||
--.. "list[context;input;1,1;1,1;]"
|
||||
.. "list[context;input;1,1;1,1;0]"
|
||||
.. "button_exit[0.25,3.1;2.5,0.8;close;Close]"
|
||||
.. "label[3,0.7;" .. S("Specs:") .. "]"
|
||||
.. "textlist[3,1;8,3;speclist;" .. specs .. ";1;false]"
|
||||
.. "list[current_player;main;1.15,4.1;8,4;0]"
|
||||
|
||||
return formspec
|
||||
end
|
||||
|
||||
function equip_exam:show_formspec(player)
|
||||
local playername = player:get_player_name()
|
||||
if not playername or not player:is_player() then return end
|
||||
|
||||
core.show_formspec(playername, equip_exam.formspec_name, get_formspec())
|
||||
end
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
equip_exam = {}
|
||||
equip_exam.name = core.get_current_modname()
|
||||
equip_exam.path = core.get_modpath(equip_exam.name)
|
||||
|
||||
local files = {
|
||||
"formspec",
|
||||
"node",
|
||||
}
|
||||
|
||||
for _, f in pairs(files) do
|
||||
dofile(equip_exam.path .. "/" .. f .. ".lua")
|
||||
end
|
|
@ -0,0 +1,4 @@
|
|||
name = equip_exam
|
||||
description = Equipment examiner.
|
||||
version = 0.1
|
||||
license = MIT
|
|
@ -0,0 +1,19 @@
|
|||
|
||||
local node_def = {
|
||||
drawtype = "normal",
|
||||
tiles = {
|
||||
"equip_exam_examiner_front.png",
|
||||
"equip_exam_examiner.png",
|
||||
},
|
||||
is_gound_content = false,
|
||||
stack_max = 1,
|
||||
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
|
||||
equip_exam:show_formspec(player)
|
||||
end,
|
||||
on_construct = function(pos)
|
||||
local inv = core.get_meta(pos):get_inventory()
|
||||
inv:set_size('input', 1)
|
||||
end,
|
||||
}
|
||||
|
||||
core.register_node("equip_exam:examiner", node_def)
|
Loading…
Reference in New Issue