From c39e61791f8ae865554fa67500f126381b17d59d Mon Sep 17 00:00:00 2001 From: Legends11 <235496468+tickwarden@users.noreply.github.com> Date: Wed, 13 May 2026 12:54:18 +0000 Subject: [PATCH] v5.1.1 --- .github/workflows/build.yml | 2 +- .../functions/debug/tools/utils/input_check.mcfunction | 2 +- .../functions/load/internal/validate.mcfunction | 6 +++--- .../functions/load/internal/version_set.mcfunction | 2 +- .../functions/load/internal/version_warn.mcfunction | 4 ++-- .../api/cmd/internal/sandbox_blocked.mcfunction | 2 +- .../functions/api/security/allowlist_add.mcfunction | 2 +- .../functions/core/security/cmd_gate.mcfunction | 2 +- .../functions/debug/tools/utils/input_check.mcfunction | 2 +- .../functions/load/internal/validate.mcfunction | 6 +++--- .../functions/load/internal/version_set.mcfunction | 2 +- .../functions/load/internal/version_warn.mcfunction | 4 ++-- 1_20_5/data/dl_load/functions/load/storages.mcfunction | 4 ++-- 1_20_5/data/dl_load/functions/safe_load/yes.mcfunction | 2 +- .../api/cmd/internal/sandbox_blocked.mcfunction | 2 +- .../function/load/internal/version_warn.mcfunction | 4 ++-- 1_21_5/data/dl_load/function/load/storages.mcfunction | 2 +- 1_21_5/data/dl_load/function/safe_load/yes.mcfunction | 2 +- .../function/load/internal/version_warn.mcfunction | 4 ++-- 1_21_6/data/dl_load/function/load/storages.mcfunction | 2 +- 1_21_6/data/dl_load/function/safe_load/yes.mcfunction | 2 +- README.md | 10 +++++----- assets/minecraft/lang/de_de.json | 2 +- assets/minecraft/lang/en_us.json | 2 +- assets/minecraft/lang/tr_tr.json | 2 +- .../function/load/internal/version_warn.mcfunction | 4 ++-- .../function/api/security/allowlist_add.mcfunction | 2 +- .../datalib/function/core/security/cmd_gate.mcfunction | 2 +- .../function/debug/tools/utils/input_check.mcfunction | 2 +- .../function/debug/tools/utils/perm_check.mcfunction | 2 +- .../dl_load/function/load/internal/validate.mcfunction | 6 +++--- .../function/load/internal/version_set.mcfunction | 2 +- .../function/load/internal/version_warn.mcfunction | 2 +- data/dl_load/function/load/storages.mcfunction | 4 ++-- data/dl_load/function/safe_load/yes.mcfunction | 2 +- pack.mcmeta | 2 +- version.json | 4 ++-- 37 files changed, 55 insertions(+), 55 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 850ac15..f47d07b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -169,7 +169,7 @@ jobs: - name: Read version id: ver run: | - # Extract version like "v4.0.2" from the description array in pack.mcmeta + # Extract version like "v5.1.1" from the description array in pack.mcmeta VERSION=$(jq -r ' .pack.description | if type == "array" then diff --git a/1_20_3/data/datalib/functions/debug/tools/utils/input_check.mcfunction b/1_20_3/data/datalib/functions/debug/tools/utils/input_check.mcfunction index 42f7016..645dd2d 100644 --- a/1_20_3/data/datalib/functions/debug/tools/utils/input_check.mcfunction +++ b/1_20_3/data/datalib/functions/debug/tools/utils/input_check.mcfunction @@ -6,7 +6,7 @@ data modify storage datalib:output data set from storage datalib:engine execute unless data storage datalib:output data.global{loaded:1b} run return 0 # engine stores v2.2.2-pre1 (lowercase v) -execute unless data storage datalib:output data.global{version:"v5.1.0"} run return 0 +execute unless data storage datalib:output data.global{version:"v5.1.1"} run return 0 # --- Tehlikeli komutlar: injection engeli (permission-level 3 / singleplayer uyumsuz) --- execute if data storage datalib:output inputs{func:"datalib:api/cmd/op"} run return 0 diff --git a/1_20_3/data/dl_load/functions/load/internal/validate.mcfunction b/1_20_3/data/dl_load/functions/load/internal/validate.mcfunction index c2f7da5..8f95c03 100644 --- a/1_20_3/data/dl_load/functions/load/internal/validate.mcfunction +++ b/1_20_3/data/dl_load/functions/load/internal/validate.mcfunction @@ -1,5 +1,5 @@ -execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.0"} -data modify storage datalib:engine global.version set value "v5.1.0" +execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.1"} +data modify storage datalib:engine global.version set value "v5.1.1" execute unless data storage datalib:engine log_display run data modify storage datalib:engine log_display set value [] execute unless score #dl.log_count dl.tmp matches 0.. run scoreboard players set #dl.log_count dl.tmp 0 @@ -12,7 +12,7 @@ scoreboard objectives add dl.pre_version dummy scoreboard players set #dl.mismatch dl.pre_version 0 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.major dl.pre_version matches 5 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.minor dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 -execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 0 run scoreboard players set #dl.mismatch dl.pre_version 1 +execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.pre dl.pre_version matches 0 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.mismatch dl.pre_version matches 1 run function dl_load:load/internal/version_warn execute if score #dl.mismatch dl.pre_version matches 1 run return 0 diff --git a/1_20_3/data/dl_load/functions/load/internal/version_set.mcfunction b/1_20_3/data/dl_load/functions/load/internal/version_set.mcfunction index d6283bc..c381dba 100644 --- a/1_20_3/data/dl_load/functions/load/internal/version_set.mcfunction +++ b/1_20_3/data/dl_load/functions/load/internal/version_set.mcfunction @@ -1,5 +1,5 @@ scoreboard players set #dl.major dl.pre_version 5 scoreboard players set #dl.minor dl.pre_version 1 -scoreboard players set #dl.patch dl.pre_version 0 +scoreboard players set #dl.patch dl.pre_version 1 scoreboard players set #dl.pre dl.pre_version 1 scoreboard players set #dl.ver_set dl.pre_version 1 \ No newline at end of file diff --git a/1_20_3/data/dl_load/functions/load/internal/version_warn.mcfunction b/1_20_3/data/dl_load/functions/load/internal/version_warn.mcfunction index cc48d4d..1fd07f1 100644 --- a/1_20_3/data/dl_load/functions/load/internal/version_warn.mcfunction +++ b/1_20_3/data/dl_load/functions/load/internal/version_warn.mcfunction @@ -1,8 +1,8 @@ -tellraw @a ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"#555555"},{"text":"v5.1.0","color":"aqua","bold":true},{"text":" — stored scores do not match.","color":"#555555"}] +tellraw @a ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"#555555"},{"text":"v5.1.1","color":"aqua","bold":true},{"text":" — stored scores do not match.","color":"#555555"}] tellraw @a ["",{"text":" ","color":"#555555"},{"text":"→ Run ","color":"gray"},{"text":"/reload","color":"aqua","underlined":true,"hoverEvent":{"action":"show_text","value":"Reload Dat"}},{"text":" to reinitialize dataLib.","color":"gray"}] tellraw @a[tag=datalib.debug] ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"DEBUG ","color":"aqua"},{"text":"dl.pre_version scores → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 4 pre=0)","color":"red"}] -data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.0. Load aborted." +data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message \ No newline at end of file diff --git a/1_20_5/data/datalib/functions/api/cmd/internal/sandbox_blocked.mcfunction b/1_20_5/data/datalib/functions/api/cmd/internal/sandbox_blocked.mcfunction index a3dc7a1..7d1993d 100644 --- a/1_20_5/data/datalib/functions/api/cmd/internal/sandbox_blocked.mcfunction +++ b/1_20_5/data/datalib/functions/api/cmd/internal/sandbox_blocked.mcfunction @@ -2,6 +2,6 @@ # Called by cmd/ files when sandbox:1b is active AND command is NOT in allowlist. # Reads datalib:engine _sandbox_cmd (set by caller), logs, notifies, and kicks. # -# NOTE (v5.1.0): Primary enforcement path now goes through sandbox_gate. +# NOTE (v5.1.1): Primary enforcement path now goes through sandbox_gate. # This function is retained for direct callers and backwards compatibility. function datalib:api/cmd/internal/sandbox_blocked_macro with storage datalib:engine {} diff --git a/1_20_5/data/datalib/functions/api/security/allowlist_add.mcfunction b/1_20_5/data/datalib/functions/api/security/allowlist_add.mcfunction index 28a9516..ab22e12 100644 --- a/1_20_5/data/datalib/functions/api/security/allowlist_add.mcfunction +++ b/1_20_5/data/datalib/functions/api/security/allowlist_add.mcfunction @@ -2,7 +2,7 @@ # Adds a command prefix to datalib:engine security.sandbox_allowlist (compound). # Compound format: {give:1b, say:1b, ...} — O(1) lookup. # -# BREAKING CHANGE (v5.1.0): allowlist is now a compound, not a list. +# BREAKING CHANGE (v5.1.1): allowlist is now a compound, not a list. # INPUT: $(prefix) — command prefix string, e.g. "say" or "give" $data modify storage datalib:engine security.sandbox_allowlist merge value {$(prefix):1b} $tellraw @a[tag=datalib.debug] ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"security/allowlist_add ","color":"aqua"},{"text":"$(prefix)","color":"green"}] diff --git a/1_20_5/data/datalib/functions/core/security/cmd_gate.mcfunction b/1_20_5/data/datalib/functions/core/security/cmd_gate.mcfunction index 3a4b7c7..bf9c9e3 100644 --- a/1_20_5/data/datalib/functions/core/security/cmd_gate.mcfunction +++ b/1_20_5/data/datalib/functions/core/security/cmd_gate.mcfunction @@ -9,7 +9,7 @@ # execute unless function datalib:core/security/cmd_gate run return 0 # $$(cmd) # -# SECURITY MODEL (v5.1.0+): +# SECURITY MODEL (v5.1.1+): # • Engine must be loaded (loaded:1b). # • Players require dl.perm_level >= security.cmd_min_level. # • sandbox:1b raises the floor to security.sandbox_cmd_min_level. diff --git a/1_20_5/data/datalib/functions/debug/tools/utils/input_check.mcfunction b/1_20_5/data/datalib/functions/debug/tools/utils/input_check.mcfunction index 42f7016..645dd2d 100644 --- a/1_20_5/data/datalib/functions/debug/tools/utils/input_check.mcfunction +++ b/1_20_5/data/datalib/functions/debug/tools/utils/input_check.mcfunction @@ -6,7 +6,7 @@ data modify storage datalib:output data set from storage datalib:engine execute unless data storage datalib:output data.global{loaded:1b} run return 0 # engine stores v2.2.2-pre1 (lowercase v) -execute unless data storage datalib:output data.global{version:"v5.1.0"} run return 0 +execute unless data storage datalib:output data.global{version:"v5.1.1"} run return 0 # --- Tehlikeli komutlar: injection engeli (permission-level 3 / singleplayer uyumsuz) --- execute if data storage datalib:output inputs{func:"datalib:api/cmd/op"} run return 0 diff --git a/1_20_5/data/dl_load/functions/load/internal/validate.mcfunction b/1_20_5/data/dl_load/functions/load/internal/validate.mcfunction index c2f7da5..8f95c03 100644 --- a/1_20_5/data/dl_load/functions/load/internal/validate.mcfunction +++ b/1_20_5/data/dl_load/functions/load/internal/validate.mcfunction @@ -1,5 +1,5 @@ -execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.0"} -data modify storage datalib:engine global.version set value "v5.1.0" +execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.1"} +data modify storage datalib:engine global.version set value "v5.1.1" execute unless data storage datalib:engine log_display run data modify storage datalib:engine log_display set value [] execute unless score #dl.log_count dl.tmp matches 0.. run scoreboard players set #dl.log_count dl.tmp 0 @@ -12,7 +12,7 @@ scoreboard objectives add dl.pre_version dummy scoreboard players set #dl.mismatch dl.pre_version 0 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.major dl.pre_version matches 5 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.minor dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 -execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 0 run scoreboard players set #dl.mismatch dl.pre_version 1 +execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.pre dl.pre_version matches 0 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.mismatch dl.pre_version matches 1 run function dl_load:load/internal/version_warn execute if score #dl.mismatch dl.pre_version matches 1 run return 0 diff --git a/1_20_5/data/dl_load/functions/load/internal/version_set.mcfunction b/1_20_5/data/dl_load/functions/load/internal/version_set.mcfunction index 4f4a145..6cc40ca 100644 --- a/1_20_5/data/dl_load/functions/load/internal/version_set.mcfunction +++ b/1_20_5/data/dl_load/functions/load/internal/version_set.mcfunction @@ -1,5 +1,5 @@ scoreboard players set #dl.major dl.pre_version 5 scoreboard players set #dl.minor dl.pre_version 1 -scoreboard players set #dl.patch dl.pre_version 0 +scoreboard players set #dl.patch dl.pre_version 1 scoreboard players set #dl.pre dl.pre_version 0 scoreboard players set #dl.ver_set dl.pre_version 1 \ No newline at end of file diff --git a/1_20_5/data/dl_load/functions/load/internal/version_warn.mcfunction b/1_20_5/data/dl_load/functions/load/internal/version_warn.mcfunction index edcdeba..c5e89e0 100644 --- a/1_20_5/data/dl_load/functions/load/internal/version_warn.mcfunction +++ b/1_20_5/data/dl_load/functions/load/internal/version_warn.mcfunction @@ -1,8 +1,8 @@ -tellraw @a ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"#555555"},{"text":"v5.1.0","color":"aqua","bold":true},{"text":" — stored scores do not match.","color":"#555555"}] +tellraw @a ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"#555555"},{"text":"v5.1.1","color":"aqua","bold":true},{"text":" — stored scores do not match.","color":"#555555"}] tellraw @a ["",{"text":" ","color":"#555555"},{"text":"→ Run ","color":"gray"},{"text":"/reload","color":"aqua","underlined":true,"hoverEvent":{"action":"show_text","value":"Reload Dat"}},{"text":" to reinitialize AME.","color":"gray"}] tellraw @a[tag=datalib.debug] ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"DEBUG ","color":"aqua"},{"text":"dl.pre_version scores → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 4 pre=0)","color":"red"}] -data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.0. Load aborted." +data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message \ No newline at end of file diff --git a/1_20_5/data/dl_load/functions/load/storages.mcfunction b/1_20_5/data/dl_load/functions/load/storages.mcfunction index 8570005..9887a62 100644 --- a/1_20_5/data/dl_load/functions/load/storages.mcfunction +++ b/1_20_5/data/dl_load/functions/load/storages.mcfunction @@ -49,7 +49,7 @@ data remove storage datalib:engine batches data modify storage datalib:engine batches set value {} # ───────────────────────────────────────────────────────────────── -# Security module v5.1.0+ additions +# Security module v5.1.1+ additions # BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). # Empty compound {} = all sandbox commands blocked. # multi_type_allowlist: compound of permitted multiCommands.type values. @@ -66,7 +66,7 @@ data modify storage datalib:engine multiCommands set value {type:"",active:0b} # Wand cooldown module — separate storage execute unless data storage datalib:engine wand_cooldowns run data modify storage datalib:engine wand_cooldowns set value {} -# Security v5.1.0+ migration: sandbox_allowlist list → compound +# Security v5.1.1+ migration: sandbox_allowlist list → compound execute if data storage datalib:engine security.sandbox_allowlist[] run data modify storage datalib:engine security.sandbox_allowlist set value {} execute unless data storage datalib:engine security.sandbox_allowlist run data modify storage datalib:engine security.sandbox_allowlist set value {} execute unless data storage datalib:engine security.multi_type_allowlist run data modify storage datalib:engine security.multi_type_allowlist set value {multi_cmd:1b,multi_cmd_adv:1b} diff --git a/1_20_5/data/dl_load/functions/safe_load/yes.mcfunction b/1_20_5/data/dl_load/functions/safe_load/yes.mcfunction index 732afb6..f2d4b78 100644 --- a/1_20_5/data/dl_load/functions/safe_load/yes.mcfunction +++ b/1_20_5/data/dl_load/functions/safe_load/yes.mcfunction @@ -45,5 +45,5 @@ function dl_load:load/yes # Enable sandbox mode data modify storage datalib:engine sandbox set value 1b -# Leave players unsafe by default (v5.0.0 default is already 0b) +# Leave players unsafe by default (v5.1.1 default is already 0b) data modify storage datalib:engine security set value {trust_players:0b,cmd_min_level:3,sandbox_cmd_min_level:4,admin_min_level:2,admin_can_override:0b,sandbox_allowlist:[]} diff --git a/1_21_5/data/datalib/function/api/cmd/internal/sandbox_blocked.mcfunction b/1_21_5/data/datalib/function/api/cmd/internal/sandbox_blocked.mcfunction index e297ede..2ce386e 100644 --- a/1_21_5/data/datalib/function/api/cmd/internal/sandbox_blocked.mcfunction +++ b/1_21_5/data/datalib/function/api/cmd/internal/sandbox_blocked.mcfunction @@ -1,7 +1,7 @@ # datalib:api/cmd/internal/sandbox_blocked [1.21.5+ overlay] # Extends the base sandbox_blocked with a test_block server log entry. # -# NOTE (v5.1.0): The primary sandbox enforcement path now goes through +# NOTE (v5.1.1): The primary sandbox enforcement path now goes through # datalib:api/cmd/internal/sandbox_gate → datalib:core/security/type_violation. # This function is retained for direct callers and backwards compatibility. # The type_violation overlay (1_21_5) handles test_block logging for the diff --git a/1_21_5/data/dl_load/function/load/internal/version_warn.mcfunction b/1_21_5/data/dl_load/function/load/internal/version_warn.mcfunction index ffba019..c703a00 100644 --- a/1_21_5/data/dl_load/function/load/internal/version_warn.mcfunction +++ b/1_21_5/data/dl_load/function/load/internal/version_warn.mcfunction @@ -1,8 +1,8 @@ -tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v4.0.2","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] +tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v5.1.1","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] tellraw @a ["",{"text":" ↳ ","color":"#555555"},{"text":"Run ","color":"gray"},{"text":"/reload","color":"white","underlined":true},{"text":" to reinitialize dataLib.","color":"gray"}] tellraw @a[tag=datalib.debug] ["",{"text":"[DL/DEBUG] ","color":"aqua"},{"text":"dl.pre_version → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 2 pre=0)","color":"red"}] -data modify storage datalib:input message set value "❌ Version mismatch — expected v4.0.2. Load aborted." +data modify storage datalib:input message set value "❌ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message diff --git a/1_21_5/data/dl_load/function/load/storages.mcfunction b/1_21_5/data/dl_load/function/load/storages.mcfunction index d7d4a88..d96267a 100644 --- a/1_21_5/data/dl_load/function/load/storages.mcfunction +++ b/1_21_5/data/dl_load/function/load/storages.mcfunction @@ -85,7 +85,7 @@ data modify storage datalib:engine batches set value {} execute unless data storage datalib:engine wand_cooldowns run data modify storage datalib:engine wand_cooldowns set value {} # ───────────────────────────────────────────────────────────────── -# Security module v5.1.0+ additions +# Security module v5.1.1+ additions # BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). # Empty compound {} = all sandbox commands blocked. # multi_type_allowlist: compound of permitted multiCommands.type values. diff --git a/1_21_5/data/dl_load/function/safe_load/yes.mcfunction b/1_21_5/data/dl_load/function/safe_load/yes.mcfunction index 8c1226f..f9f245a 100644 --- a/1_21_5/data/dl_load/function/safe_load/yes.mcfunction +++ b/1_21_5/data/dl_load/function/safe_load/yes.mcfunction @@ -58,5 +58,5 @@ function dl_load:load/yes # Enable sandbox mode data modify storage datalib:engine sandbox set value 1b -# Leave players unsafe by default (v5.0.0 default is already 0b) +# Leave players unsafe by default (v5.1.1 default is already 0b) data modify storage datalib:engine security set value {trust_players:0b,cmd_min_level:3,sandbox_cmd_min_level:4,admin_min_level:2,admin_can_override:0b,sandbox_allowlist:[]} diff --git a/1_21_6/data/dl_load/function/load/internal/version_warn.mcfunction b/1_21_6/data/dl_load/function/load/internal/version_warn.mcfunction index ffba019..c703a00 100644 --- a/1_21_6/data/dl_load/function/load/internal/version_warn.mcfunction +++ b/1_21_6/data/dl_load/function/load/internal/version_warn.mcfunction @@ -1,8 +1,8 @@ -tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v4.0.2","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] +tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v5.1.1","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] tellraw @a ["",{"text":" ↳ ","color":"#555555"},{"text":"Run ","color":"gray"},{"text":"/reload","color":"white","underlined":true},{"text":" to reinitialize dataLib.","color":"gray"}] tellraw @a[tag=datalib.debug] ["",{"text":"[DL/DEBUG] ","color":"aqua"},{"text":"dl.pre_version → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 2 pre=0)","color":"red"}] -data modify storage datalib:input message set value "❌ Version mismatch — expected v4.0.2. Load aborted." +data modify storage datalib:input message set value "❌ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message diff --git a/1_21_6/data/dl_load/function/load/storages.mcfunction b/1_21_6/data/dl_load/function/load/storages.mcfunction index d7d4a88..d96267a 100644 --- a/1_21_6/data/dl_load/function/load/storages.mcfunction +++ b/1_21_6/data/dl_load/function/load/storages.mcfunction @@ -85,7 +85,7 @@ data modify storage datalib:engine batches set value {} execute unless data storage datalib:engine wand_cooldowns run data modify storage datalib:engine wand_cooldowns set value {} # ───────────────────────────────────────────────────────────────── -# Security module v5.1.0+ additions +# Security module v5.1.1+ additions # BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). # Empty compound {} = all sandbox commands blocked. # multi_type_allowlist: compound of permitted multiCommands.type values. diff --git a/1_21_6/data/dl_load/function/safe_load/yes.mcfunction b/1_21_6/data/dl_load/function/safe_load/yes.mcfunction index 8c1226f..f9f245a 100644 --- a/1_21_6/data/dl_load/function/safe_load/yes.mcfunction +++ b/1_21_6/data/dl_load/function/safe_load/yes.mcfunction @@ -58,5 +58,5 @@ function dl_load:load/yes # Enable sandbox mode data modify storage datalib:engine sandbox set value 1b -# Leave players unsafe by default (v5.0.0 default is already 0b) +# Leave players unsafe by default (v5.1.1 default is already 0b) data modify storage datalib:engine security set value {trust_players:0b,cmd_min_level:3,sandbox_cmd_min_level:4,admin_min_level:2,admin_can_override:0b,sandbox_allowlist:[]} diff --git a/README.md b/README.md index 9f6bc7b..688b0ff 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ --- -> Current version: **v5.1.0** +> Current version: **v5.1.1** --- --- @@ -17,7 +17,7 @@ ## 📦 Installation ``` -1. Place dataLib-v5.1.0 into /datapacks/ +1. Place dataLib-v5.1.1 into /datapacks/ 2. /reload 3. /function dl_load:load/yes 4. /tag @s add datalib.admin @@ -30,7 +30,7 @@ ``` datalib:engine (persistent data) ├── global -│ ├── version: "v5.1.0" +│ ├── version: "v5.1.1" │ └── tick: ├── players │ └── Steve { coins:150, level:5, xp:2300, online:1b, ... } @@ -84,7 +84,7 @@ Provides deterministic load order, version tracking, and pre/load/post-load hook # Check if dataLib is loaded execute if score dataLib load.status matches 1.. run say dataLib is loaded -# Get version (major*10000 + minor*100 + patch → v5.1.0 = 50000) +# Get version (major*10000 + minor*100 + patch → v5.1.1 = 50000) scoreboard players get dataLib load.status ``` @@ -124,4 +124,4 @@ function datalib:core/lib/string/replace --- -*dataLib v5.1.0 | MC Java 1.20.3–26.1+ | Pure Datapack* +*dataLib v5.1.1 | MC Java 1.20.3–26.1+ | Pure Datapack* diff --git a/assets/minecraft/lang/de_de.json b/assets/minecraft/lang/de_de.json index 8ecab98..0a3352e 100644 --- a/assets/minecraft/lang/de_de.json +++ b/assets/minecraft/lang/de_de.json @@ -13,7 +13,7 @@ "datalib.msg.safe_load.denied.admin": "safe_load/yes verweigert — datalib.admin-Tag erforderlich.", "datalib.msg.safe_load.denied.perm": "safe_load/yes verweigert — dl.perm_level \u2265 4 erforderlich.", "datalib.msg.safe_load.denied.loaded":"safe_load/yes verweigert — Engine bereits geladen.", - "datalib.msg.version_conflict": "Versionskonflikt! Erwartet v5.1.0 \u2014 gespeicherte Werte stimmen nicht \u00fcberein.", + "datalib.msg.version_conflict": "Versionskonflikt! Erwartet v5.1.1 \u2014 gespeicherte Werte stimmen nicht \u00fcberein.", "datalib.msg.version_reload": "\u2192 F\u00fchren Sie /reload aus, um dataLib neu zu initialisieren.", "datalib.subtitle.load_success": "dataLib geladen", diff --git a/assets/minecraft/lang/en_us.json b/assets/minecraft/lang/en_us.json index d7c8e93..02d85b4 100644 --- a/assets/minecraft/lang/en_us.json +++ b/assets/minecraft/lang/en_us.json @@ -13,7 +13,7 @@ "datalib.msg.safe_load.denied.admin": "safe_load/yes denied — datalib.admin tag required.", "datalib.msg.safe_load.denied.perm": "safe_load/yes denied — dl.perm_level \u2265 4 required.", "datalib.msg.safe_load.denied.loaded":"safe_load/yes denied — engine is already loaded.", - "datalib.msg.version_conflict": "Version conflict! Expected v5.1.0 \u2014 stored scores do not match.", + "datalib.msg.version_conflict": "Version conflict! Expected v5.1.1 \u2014 stored scores do not match.", "datalib.msg.version_reload": "\u2192 Run /reload to reinitialize dataLib.", "datalib.subtitle.load_success": "dataLib loaded", diff --git a/assets/minecraft/lang/tr_tr.json b/assets/minecraft/lang/tr_tr.json index cd48242..363e5a2 100644 --- a/assets/minecraft/lang/tr_tr.json +++ b/assets/minecraft/lang/tr_tr.json @@ -13,7 +13,7 @@ "datalib.msg.safe_load.denied.admin": "safe_load/yes reddedildi — datalib.admin etiketi gerekli.", "datalib.msg.safe_load.denied.perm": "safe_load/yes reddedildi — dl.perm_level \u2265 4 gerekli.", "datalib.msg.safe_load.denied.loaded":"safe_load/yes reddedildi — motor zaten yüklü.", - "datalib.msg.version_conflict": "Sürüm çakışması! Beklenen v5.1.0 \u2014 kayıtlı puanlar eşleşmiyor.", + "datalib.msg.version_conflict": "Sürüm çakışması! Beklenen v5.1.1 \u2014 kayıtlı puanlar eşleşmiyor.", "datalib.msg.version_reload": "\u2192 dataLib'i yeniden başlatmak için /reload çalıştırın.", "datalib.subtitle.load_success": "dataLib yüklendi", diff --git a/compat_1_21_4/data/dl_load/function/load/internal/version_warn.mcfunction b/compat_1_21_4/data/dl_load/function/load/internal/version_warn.mcfunction index cf9f580..7d4c680 100644 --- a/compat_1_21_4/data/dl_load/function/load/internal/version_warn.mcfunction +++ b/compat_1_21_4/data/dl_load/function/load/internal/version_warn.mcfunction @@ -1,8 +1,8 @@ -tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v4.0.2","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] +tellraw @a ["",{"text":"❌ ","color":"red"},{"text":"[DL] ","color":"aqua","bold":true},{"text":"Version conflict! ","color":"red","bold":true},{"text":"Expected ","color":"gray"},{"text":"v5.1.1","color":"yellow","bold":true},{"text":" — stored scores do not match.","color":"gray"}] tellraw @a ["",{"text":" ↳ ","color":"#555555"},{"text":"Run ","color":"gray"},{"text":"/reload","color":"white","underlined":true},{"text":" to reinitialize dataLib.","color":"gray"}] tellraw @a[tag=datalib.debug] ["",{"text":"[DL/DEBUG] ","color":"aqua"},{"text":"dl.pre_version → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 2 pre=0)","color":"red"}] -data modify storage datalib:input message set value "❌ Version mismatch — expected v4.0.2. Load aborted." +data modify storage datalib:input message set value "❌ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message \ No newline at end of file diff --git a/data/datalib/function/api/security/allowlist_add.mcfunction b/data/datalib/function/api/security/allowlist_add.mcfunction index 7468903..484507a 100644 --- a/data/datalib/function/api/security/allowlist_add.mcfunction +++ b/data/datalib/function/api/security/allowlist_add.mcfunction @@ -2,7 +2,7 @@ # Adds a command prefix to datalib:engine security.sandbox_allowlist (compound). # Compound format: {give:1b, say:1b, ...} — O(1) lookup. # -# BREAKING CHANGE (v5.1.0): allowlist is now a compound, not a list. +# BREAKING CHANGE (v5.1.1): allowlist is now a compound, not a list. # Enforcement is now ACTIVE — unlisted commands in sandbox mode are blocked + kick. # # INPUT (macro args): diff --git a/data/datalib/function/core/security/cmd_gate.mcfunction b/data/datalib/function/core/security/cmd_gate.mcfunction index 3a4b7c7..bf9c9e3 100644 --- a/data/datalib/function/core/security/cmd_gate.mcfunction +++ b/data/datalib/function/core/security/cmd_gate.mcfunction @@ -9,7 +9,7 @@ # execute unless function datalib:core/security/cmd_gate run return 0 # $$(cmd) # -# SECURITY MODEL (v5.1.0+): +# SECURITY MODEL (v5.1.1+): # • Engine must be loaded (loaded:1b). # • Players require dl.perm_level >= security.cmd_min_level. # • sandbox:1b raises the floor to security.sandbox_cmd_min_level. diff --git a/data/datalib/function/debug/tools/utils/input_check.mcfunction b/data/datalib/function/debug/tools/utils/input_check.mcfunction index f8765b0..002f17f 100644 --- a/data/datalib/function/debug/tools/utils/input_check.mcfunction +++ b/data/datalib/function/debug/tools/utils/input_check.mcfunction @@ -6,7 +6,7 @@ data modify storage datalib:output data set from storage datalib:engine execute unless data storage datalib:output data.global{loaded:1b} run return 0 # engine stores v2.2.2-pre1 (lowercase v) -execute unless data storage datalib:output data.global{version:"v5.1.0"} run return 0 +execute unless data storage datalib:output data.global{version:"v5.1.1"} run return 0 # --- Tehlikeli komutlar: injection engeli (permission-level 3 / singleplayer uyumsuz) --- execute if data storage datalib:output inputs{func:"datalib:api/cmd/op"} run return 0 diff --git a/data/datalib/function/debug/tools/utils/perm_check.mcfunction b/data/datalib/function/debug/tools/utils/perm_check.mcfunction index 93b6154..64093ab 100644 --- a/data/datalib/function/debug/tools/utils/perm_check.mcfunction +++ b/data/datalib/function/debug/tools/utils/perm_check.mcfunction @@ -2,7 +2,7 @@ # Returns 1 if executor has sufficient dl.perm_level for admin commands. # Returns 0 (+ fallback) if not. # -# BREAKING CHANGE (v5.1.0): datalib.admin tag alone no longer grants access. +# BREAKING CHANGE (v5.1.1): datalib.admin tag alone no longer grants access. # Players must have dl.perm_level >= security.admin_min_level. # Non-player callers (server/datapack) are trusted and pass through. # diff --git a/data/dl_load/function/load/internal/validate.mcfunction b/data/dl_load/function/load/internal/validate.mcfunction index 3539c97..5332601 100644 --- a/data/dl_load/function/load/internal/validate.mcfunction +++ b/data/dl_load/function/load/internal/validate.mcfunction @@ -1,5 +1,5 @@ -execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.0"} -data modify storage datalib:engine global.version set value "v5.1.0" +execute unless data storage datalib:engine global run data modify storage datalib:engine global set value {version:"v5.1.1"} +data modify storage datalib:engine global.version set value "v5.1.1" execute unless data storage datalib:engine log_display run data modify storage datalib:engine log_display set value [] execute unless score #dl.log_count dl.tmp matches 0.. run scoreboard players set #dl.log_count dl.tmp 0 @@ -12,7 +12,7 @@ scoreboard objectives add dl.pre_version dummy scoreboard players set #dl.mismatch dl.pre_version 0 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.major dl.pre_version matches 5 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.minor dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 -execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 0 run scoreboard players set #dl.mismatch dl.pre_version 1 +execute if score #dl.ver_set dl.pre_version matches 1 run execute unless score #dl.patch dl.pre_version matches 1 run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.ver_set dl.pre_version matches 1 run execute if score #dl.pre dl.pre_version matches 1.. run scoreboard players set #dl.mismatch dl.pre_version 1 execute if score #dl.mismatch dl.pre_version matches 1 run function dl_load:load/internal/version_warn execute if score #dl.mismatch dl.pre_version matches 1 run return 0 diff --git a/data/dl_load/function/load/internal/version_set.mcfunction b/data/dl_load/function/load/internal/version_set.mcfunction index 90086c0..9a99807 100644 --- a/data/dl_load/function/load/internal/version_set.mcfunction +++ b/data/dl_load/function/load/internal/version_set.mcfunction @@ -1,5 +1,5 @@ scoreboard players set #dl.major dl.pre_version 5 scoreboard players set #dl.minor dl.pre_version 1 -scoreboard players set #dl.patch dl.pre_version 0 +scoreboard players set #dl.patch dl.pre_version 1 scoreboard players set #dl.pre dl.pre_version 0 scoreboard players set #dl.ver_set dl.pre_version 1 diff --git a/data/dl_load/function/load/internal/version_warn.mcfunction b/data/dl_load/function/load/internal/version_warn.mcfunction index e59eb32..cb56aed 100644 --- a/data/dl_load/function/load/internal/version_warn.mcfunction +++ b/data/dl_load/function/load/internal/version_warn.mcfunction @@ -4,6 +4,6 @@ tellraw @a ["",{"text":" ","color":"#555555"},{"translate":"datalib.msg.version_ tellraw @a[tag=datalib.debug] ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"DEBUG ","color":"aqua"},{"text":"dl.pre_version scores → ","color":"#555555"},{"text":"major=","color":"gray"},{"score":{"name":"#dl.major","objective":"dl.pre_version"},"color":"yellow"},{"text":" minor=","color":"gray"},{"score":{"name":"#dl.minor","objective":"dl.pre_version"},"color":"yellow"},{"text":" patch=","color":"gray"},{"score":{"name":"#dl.patch","objective":"dl.pre_version"},"color":"yellow"},{"text":" pre=","color":"gray"},{"score":{"name":"#dl.pre","objective":"dl.pre_version"},"color":"yellow"},{"text":" (expected: 4 0 4 pre=0)","color":"red"}] -data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.0. Load aborted." +data modify storage datalib:input message set value "✘ Version mismatch — expected v5.1.1. Load aborted." function datalib:systems/log/warn with storage datalib:input {} data remove storage datalib:input message diff --git a/data/dl_load/function/load/storages.mcfunction b/data/dl_load/function/load/storages.mcfunction index 4b4b09e..f0255e7 100644 --- a/data/dl_load/function/load/storages.mcfunction +++ b/data/dl_load/function/load/storages.mcfunction @@ -85,7 +85,7 @@ data modify storage datalib:engine batches set value {} execute unless data storage datalib:engine wand_cooldowns run data modify storage datalib:engine wand_cooldowns set value {} # ───────────────────────────────────────────────────────────────── -# Security module init (v5.0.0+) +# Security module init (v5.1.1+) # BREAKING CHANGE: trust_players defaults to 0b — players must have # dl.perm_level explicitly set. datalib.admin tag alone gives no access. # @@ -99,7 +99,7 @@ execute unless data storage datalib:engine wand_cooldowns run data modify storag # ───────────────────────────────────────────────────────────────── execute unless data storage datalib:engine security run data modify storage datalib:engine security set value {trust_players:0b,cmd_min_level:3,sandbox_cmd_min_level:4,admin_min_level:2,admin_can_override:0b,sandbox_allowlist:[]} # ───────────────────────────────────────────────────────────────── -# Security module v5.1.0+ additions +# Security module v5.1.1+ additions # BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). # Empty compound {} = all sandbox commands blocked. # multi_type_allowlist: compound of permitted multiCommands.type values. diff --git a/data/dl_load/function/safe_load/yes.mcfunction b/data/dl_load/function/safe_load/yes.mcfunction index 60741d0..eec5766 100644 --- a/data/dl_load/function/safe_load/yes.mcfunction +++ b/data/dl_load/function/safe_load/yes.mcfunction @@ -58,5 +58,5 @@ function dl_load:load/yes # Enable sandbox mode data modify storage datalib:engine sandbox set value 1b -# Leave players unsafe by default (v5.0.0 default is already 0b) +# Leave players unsafe by default (v5.1.1 default is already 0b) data modify storage datalib:engine security set value {trust_players:0b,cmd_min_level:3,sandbox_cmd_min_level:4,admin_min_level:2,admin_can_override:0b,sandbox_allowlist:[]} diff --git a/pack.mcmeta b/pack.mcmeta index 88c9df6..8a6df76 100644 --- a/pack.mcmeta +++ b/pack.mcmeta @@ -45,7 +45,7 @@ "italic": false }, { - "text": " | v5.1.0", + "text": " | v5.1.1", "color": "#ffaa00", "bold": false, "italic": false diff --git a/version.json b/version.json index 16f7786..e414b29 100644 --- a/version.json +++ b/version.json @@ -1,9 +1,9 @@ { - "release": "v5.1.0", + "release": "v5.1.1", "semver": { "major": 5, "minor": 1, - "patch": 0, + "patch": 1, "pre": 0 }, "targets": [