From 1cd890ff8839cca7c0e1110da8d1a569bf57cb89 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Tue, 26 Nov 2024 11:21:04 +0300 Subject: [PATCH] add config/user-props.toml combined object --- res/content/base/config/user-props.toml | 1 + res/scripts/post_content.lua | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 res/content/base/config/user-props.toml diff --git a/res/content/base/config/user-props.toml b/res/content/base/config/user-props.toml new file mode 100644 index 00000000..b7306ba1 --- /dev/null +++ b/res/content/base/config/user-props.toml @@ -0,0 +1 @@ +"base:durability" = {} diff --git a/res/scripts/post_content.lua b/res/scripts/post_content.lua index 3d1ffa33..56d66a5c 100644 --- a/res/scripts/post_content.lua +++ b/res/scripts/post_content.lua @@ -1,4 +1,19 @@ -function make_read_only(t) +local user_props = file.read_combined_object("config/user-props.toml") +local names = {} +for name, _ in pairs(user_props) do + table.insert(names, name) +end +-- remove undefined properties +for id, blockprops in pairs(block.properties) do + for propname, value in pairs(blockprops) do + if propname:find(':') and not table.has(names, propname) then + print("erase property", propname) + blockprops[propname] = nil + end + end +end + +local function make_read_only(t) setmetatable(t, { __newindex = function() error("table is read-only")