mirror of
https://github.com/minetest-mods/i3.git
synced 2025-07-03 09:00:23 +02:00
Compare commits
9 Commits
Author | SHA1 | Date | |
---|---|---|---|
7246249c52 | |||
d36d6e67e7 | |||
d5fc865634 | |||
fe475747ea | |||
e2fafbc876 | |||
3b860082b5 | |||
36cdcde7ed | |||
c9e02dfe09 | |||
7005794cc3 |
@ -35,7 +35,6 @@ To enable it: `i3_progressive_mode = true` in `minetest.conf`.*
|
|||||||
To use this mod in the best conditions:
|
To use this mod in the best conditions:
|
||||||
|
|
||||||
- Use LuaJIT
|
- Use LuaJIT
|
||||||
- Use a HiDPI widescreen display
|
|
||||||
- Use the default Freetype font style
|
- Use the default Freetype font style
|
||||||
|
|
||||||
#### Troubleshooting
|
#### Troubleshooting
|
||||||
|
2
init.lua
2
init.lua
@ -20,7 +20,7 @@ local function lf(path)
|
|||||||
end
|
end
|
||||||
|
|
||||||
i3 = {
|
i3 = {
|
||||||
version = 115,
|
version = 1153,
|
||||||
data = core.deserialize(storage:get_string"data") or {},
|
data = core.deserialize(storage:get_string"data") or {},
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
|
Binary file not shown.
@ -1,7 +1,7 @@
|
|||||||
local replacements = {fuel = {}}
|
local replacements = {fuel = {}}
|
||||||
local http = ...
|
local http = ...
|
||||||
|
|
||||||
IMPORT("maxn", "copy", "insert", "sort", "match", "sub")
|
IMPORT("copy", "insert", "sort", "match", "sub")
|
||||||
IMPORT("true_str", "is_table", "valid_item", "table_merge", "table_replace", "table_eq")
|
IMPORT("true_str", "is_table", "valid_item", "table_merge", "table_replace", "table_eq")
|
||||||
IMPORT("fmt", "reg_items", "reg_aliases", "reg_nodes", "is_cube", "get_cube", "ItemStack")
|
IMPORT("fmt", "reg_items", "reg_aliases", "reg_nodes", "is_cube", "get_cube", "ItemStack")
|
||||||
IMPORT("is_group", "extract_groups", "item_has_groups", "groups_to_items", "get_group_stereotype")
|
IMPORT("is_group", "extract_groups", "item_has_groups", "groups_to_items", "get_group_stereotype")
|
||||||
@ -178,13 +178,7 @@ local function cache_recipes(item)
|
|||||||
_recipes[#recipes + 1 - k] = v
|
_recipes[#recipes + 1 - k] = v
|
||||||
end
|
end
|
||||||
|
|
||||||
local size_rpl = maxn(replacements[item])
|
|
||||||
local size_rcp = #_recipes
|
|
||||||
local shift = size_rcp - size_rpl
|
|
||||||
|
|
||||||
for k, v in pairs(replacements[item]) do
|
for k, v in pairs(replacements[item]) do
|
||||||
k += shift
|
|
||||||
|
|
||||||
if _recipes[k] then
|
if _recipes[k] then
|
||||||
_recipes[k].replacements = v
|
_recipes[k].replacements = v
|
||||||
end
|
end
|
||||||
|
@ -12,12 +12,6 @@ IMPORT("search", "sort_inventory", "sort_by_category", "get_recipes", "get_detac
|
|||||||
local function inv_fields(player, data, fields)
|
local function inv_fields(player, data, fields)
|
||||||
local name = data.player_name
|
local name = data.player_name
|
||||||
local inv = player:get_inventory()
|
local inv = player:get_inventory()
|
||||||
local sb_inv = fields.scrbar_inv
|
|
||||||
|
|
||||||
if sb_inv and sub(sb_inv, 1, 3) == "CHG" then
|
|
||||||
data.scrbar_inv = tonumber(match(sb_inv, "%d+"))
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if fields.dd_sorting_method then
|
if fields.dd_sorting_method then
|
||||||
data.sort = tonumber(fields.dd_sorting_method)
|
data.sort = tonumber(fields.dd_sorting_method)
|
||||||
@ -446,6 +440,12 @@ core.register_on_player_receive_fields(function(player, formname, fields)
|
|||||||
local data = i3.data[name]
|
local data = i3.data[name]
|
||||||
if not data then return end
|
if not data then return end
|
||||||
|
|
||||||
|
local sb_inv = fields.scrbar_inv
|
||||||
|
if sb_inv and sub(sb_inv, 1, 3) == "CHG" then
|
||||||
|
data.scrbar_inv = tonumber(match(sb_inv, "%d+"))
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
for f in pairs(fields) do
|
for f in pairs(fields) do
|
||||||
if sub(f, 1, 4) == "tab_" then
|
if sub(f, 1, 4) == "tab_" then
|
||||||
local tabname = sub(f, 5)
|
local tabname = sub(f, 5)
|
||||||
|
@ -11,11 +11,11 @@ IMPORT("vec", "vec_round")
|
|||||||
IMPORT("find", "match", "sub", "upper")
|
IMPORT("find", "match", "sub", "upper")
|
||||||
IMPORT("clr", "ESC", "msg", "check_privs")
|
IMPORT("clr", "ESC", "msg", "check_privs")
|
||||||
IMPORT("min", "max", "floor", "ceil", "round")
|
IMPORT("min", "max", "floor", "ceil", "round")
|
||||||
IMPORT("true_str", "is_fav", "is_num", "str_to_pos")
|
|
||||||
IMPORT("reg_items", "reg_nodes", "reg_tools", "reg_entities")
|
IMPORT("reg_items", "reg_nodes", "reg_tools", "reg_entities")
|
||||||
IMPORT("get_bag_description", "get_detached_inv", "get_recipes")
|
IMPORT("get_bag_description", "get_detached_inv", "get_recipes")
|
||||||
IMPORT("compression_active", "compressible", "recipe_filter_set")
|
IMPORT("compression_active", "compressible", "recipe_filter_set")
|
||||||
IMPORT("S", "ES", "translate", "ItemStack", "toupper", "utf8_len")
|
IMPORT("S", "ES", "translate", "ItemStack", "toupper", "utf8_len")
|
||||||
|
IMPORT("true_str", "true_table", "is_fav", "is_num", "str_to_pos")
|
||||||
IMPORT("maxn", "sort", "concat", "copy", "insert", "remove", "unpack")
|
IMPORT("maxn", "sort", "concat", "copy", "insert", "remove", "unpack")
|
||||||
IMPORT("extract_groups", "groups_to_items", "is_group", "item_has_groups", "get_group")
|
IMPORT("extract_groups", "groups_to_items", "is_group", "item_has_groups", "get_group")
|
||||||
|
|
||||||
@ -736,7 +736,7 @@ local function get_inventory_fs(player, data, fs)
|
|||||||
-- fs"style[player_model;bgcolor=black]"
|
-- fs"style[player_model;bgcolor=black]"
|
||||||
model(0.2, 0.2, armor_skin and 4 or 3.4, ctn_hgt,
|
model(0.2, 0.2, armor_skin and 4 or 3.4, ctn_hgt,
|
||||||
"player_model", props.mesh, textures, "0,-150", "false", "false",
|
"player_model", props.mesh, textures, "0,-150", "false", "false",
|
||||||
fmt("%u,%u;30", anim.x, anim.y))
|
true_table(anim) and fmt("%u,%u;30", anim.x, anim.y) or "")
|
||||||
else
|
else
|
||||||
local size = 2.5
|
local size = 2.5
|
||||||
image(0.7, 0.2, size, size * props.visual_size.y, props.textures[1])
|
image(0.7, 0.2, size, size * props.visual_size.y, props.textures[1])
|
||||||
|
19
src/hud.lua
19
src/hud.lua
@ -118,6 +118,10 @@ core.register_globalstep(function(dt)
|
|||||||
local data = i3.data[name]
|
local data = i3.data[name]
|
||||||
if not data then return end
|
if not data then return end
|
||||||
|
|
||||||
|
if data.show_hud ~= nil then
|
||||||
|
show_hud(player, data)
|
||||||
|
end
|
||||||
|
|
||||||
local has_text = player:hud_get(data.hud.wielditem).text ~= ""
|
local has_text = player:hud_get(data.hud.wielditem).text ~= ""
|
||||||
|
|
||||||
if not data.wielditem_hud then
|
if not data.wielditem_hud then
|
||||||
@ -152,21 +156,6 @@ core.register_globalstep(function(dt)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
core.register_globalstep(function()
|
|
||||||
local players = get_connected_players()
|
|
||||||
players[0] = #players
|
|
||||||
|
|
||||||
for i = 1, players[0] do
|
|
||||||
local player = players[i]
|
|
||||||
local name = player:get_player_name()
|
|
||||||
local data = i3.data[name]
|
|
||||||
|
|
||||||
if data and data.show_hud ~= nil then
|
|
||||||
show_hud(player, data)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end)
|
|
||||||
|
|
||||||
local function init_waypoints(player)
|
local function init_waypoints(player)
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
local data = i3.data[name]
|
local data = i3.data[name]
|
||||||
|
Reference in New Issue
Block a user