diff --git a/datapacks/dataLib/data/datalib/function/api/cmd/datapack.mcfunction b/datapacks/dataLib/data/datalib/function/api/cmd/datapack.mcfunction new file mode 100644 index 00000000..c20c87da --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/api/cmd/datapack.mcfunction @@ -0,0 +1,6 @@ +execute unless function datalib:debug/tools/utils/check_all run return 0 +execute unless entity @s[type=minecraft:player] run return 0 +execute unless entity @s[tag=datalib.admin,scores={dl.perm_level=2..}] run return 0 + +$execute if data storage datalib:input {action:"disable"} run datapack disable $(pack) +$execute if data storage datalib:input {action:"enable"} run datapack enable $(pack) diff --git a/datapacks/dataLib/data/datalib/function/api/cmd/function.mcfunction b/datapacks/dataLib/data/datalib/function/api/cmd/function.mcfunction new file mode 100644 index 00000000..3b6201b1 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/api/cmd/function.mcfunction @@ -0,0 +1,3 @@ +execute unless function datalib:debug/tools/utils/check_all unless entity @s[tag=datalib.admin,scores={dl.perm_level=2..}] run return 0 + +$execute as @a[limit=1,name="(target)] at @a[name=$(target)] run function $(func) with storage datalib:input {} diff --git a/datapacks/dataLib/data/datalib/function/api/cmd/publish.mcfunction b/datapacks/dataLib/data/datalib/function/api/cmd/publish.mcfunction new file mode 100644 index 00000000..11023bb6 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/api/cmd/publish.mcfunction @@ -0,0 +1,12 @@ +execute unless function datalib:debug/tools/utils/check_all run return 0 + +# ───────────────────────────────────────────────────────────────── +# SANDBOX GUARD — dangerous commands are blocked in sandbox mode. +# Enable: /data modify storage datalib:engine sandbox set value 1b +# Disable: /data modify storage datalib:engine sandbox set value 0b +# ───────────────────────────────────────────────────────────────── +execute if data storage datalib:engine {sandbox:1b} run data modify storage datalib:engine _sandbox_cmd set value "clear" +execute if data storage datalib:engine {sandbox:1b} run execute unless function datalib:core/internal/api/cmd/sandbox_gate run return 0 +execute unless data storage datalib:engine {sandbox:1b} run tellraw @a[tag=datalib.debug] ["",{"text":"[DL] ","color":"#00AAAA","bold":true},{"text":"TIP ","color":"yellow","bold":true},{"text":"Sandbox mode recommended → ","color":"gray"},{"text":"/data modify storage datalib:engine sandbox set value 1b","color":"aqua"}] + +$publish $(allow_commands) $(game_mode) $(port)