From 42475048c81a2eea81692f6b10331555b18de935 Mon Sep 17 00:00:00 2001 From: IronCrest <234182831+IronCrest-sudo@users.noreply.github.com> Date: Sun, 26 Jul 2026 15:25:46 +0000 Subject: [PATCH 1/2] . --- README.md | 6 +- .../advancement/systems/hook/fish_caught.json | 12 +- .../systems/hook/interact_anvil.json | 10 +- .../systems/hook/interact_shulker_box.json | 10 +- .../systems/hook/killed_by_arrow.json | 4 +- .../function/core/tick/config.mcfunction | 5 + .../debug/tools/log/disable.mcfunction | 4 + .../debug/tools/log/enable.mcfunction | 6 + .../function/systems/log/add.mcfunction | 6 + .../systems/log/testblock/place.mcfunction | 10 + .../systems/log/testblock/place_at.mcfunction | 3 + .../systems/log/testblock/pulse.mcfunction | 20 ++ .../systems/log/testblock/pulse_at.mcfunction | 7 + .../log/testblock/unpulse_at.mcfunction | 8 + .../log/testblock/unpulse_here.mcfunction | 3 + .../datalib/item_modifier/damage_random.json | 4 +- .../item_modifier/enchant_randomly.json | 2 +- .../item_modifier/enchant_with_levels_30.json | 4 +- .../item_modifier/enchant_with_levels_5.json | 4 +- .../data/datalib/item_modifier/glint_add.json | 4 +- .../datalib/item_modifier/glint_remove.json | 4 +- .../datalib/item_modifier/hide_tooltip.json | 4 +- .../item_modifier/lore_add_custom.json | 6 +- .../datalib/item_modifier/lore_clear.json | 4 +- .../item_modifier/rename_to_custom.json | 4 +- .../datalib/item_modifier/repair_full.json | 4 +- .../datalib/item_modifier/set_count_1.json | 4 +- .../datalib/item_modifier/set_count_64.json | 4 +- .../item_modifier/set_custom_model_data.json | 6 +- .../datalib/item_modifier/strip_enchants.json | 4 +- .../datalib/item_modifier/unbreakable.json | 4 +- .../datalib/predicate/has_empty_mainhand.json | 21 +- .../datalib/predicate/has_empty_offhand.json | 21 +- .../datalib/predicate/health_below_half.json | 17 +- .../data/datalib/predicate/in_end.json | 13 +- .../data/datalib/predicate/in_nether.json | 13 +- .../data/datalib/predicate/in_overworld.json | 13 +- .../data/datalib/predicate/is_baby.json | 17 +- .../data/datalib/predicate/is_burning.json | 17 +- .../data/datalib/predicate/is_creative.json | 21 +- .../data/datalib/predicate/is_daytime.json | 19 +- .../data/datalib/predicate/is_flying.json | 17 +- .../datalib/predicate/is_full_health.json | 17 +- .../data/datalib/predicate/is_gliding.json | 25 ++- .../datalib/predicate/is_holding_bow.json | 19 +- .../datalib/predicate/is_holding_shield.json | 19 +- .../datalib/predicate/is_holding_sword.json | 19 +- .../datalib/predicate/is_holding_trident.json | 19 +- .../data/datalib/predicate/is_hungry.json | 17 +- .../data/datalib/predicate/is_in_water.json | 19 +- .../data/datalib/predicate/is_on_ground.json | 17 +- .../data/datalib/predicate/is_raining.json | 11 +- .../data/datalib/predicate/is_sneaking.json | 17 +- .../data/datalib/predicate/is_sprinting.json | 17 +- .../data/datalib/predicate/is_survival.json | 21 +- .../data/datalib/predicate/is_thundering.json | 11 +- .../data/datalib/predicate/weather_clear.json | 11 +- .../function/loader/storages.mcfunction | 23 ++- .../advancement/v1/attack_click_entity.json | 14 +- .../advancement/v1/interact_anvil.json | 13 +- .../advancement/v1/interact_barrel.json | 13 +- .../advancement/v1/interact_beacon.json | 13 +- .../v1/interact_blast_furnace.json | 13 +- .../advancement/v1/interact_brewingstand.json | 13 +- .../advancement/v1/interact_cake.json | 13 +- .../advancement/v1/interact_campfire.json | 13 +- .../v1/interact_cartopgraphy_table.json | 13 +- .../advancement/v1/interact_cauldron.json | 13 +- .../advancement/v1/interact_chest.json | 15 +- .../advancement/v1/interact_click_entity.json | 11 +- .../v1/interact_crafting_table.json | 13 +- .../advancement/v1/interact_dispenser.json | 15 +- .../advancement/v1/interact_dropper.json | 13 +- .../advancement/v1/interact_enderchest.json | 7 +- .../advancement/v1/interact_flower_pot.json | 13 +- .../advancement/v1/interact_furnace.json | 13 +- .../advancement/v1/interact_grindstone.json | 13 +- .../advancement/v1/interact_hopper.json | 13 +- .../advancement/v1/interact_jukebox.json | 13 +- .../advancement/v1/interact_lectern.json | 13 +- .../advancement/v1/interact_loom.json | 13 +- .../advancement/v1/interact_noteblock.json | 13 +- .../advancement/v1/interact_shulker_box.json | 77 ++++---- .../v1/interact_smithing_table.json | 13 +- .../advancement/v1/interact_smoker.json | 13 +- .../advancement/v1/interact_stonecutter.json | 13 +- .../v1/interact_trapped_chest.json | 13 +- .../advancement/v1/interact_vault.json | 13 +- .../predicate/v1.7/is_correct_version.json | 92 +++++---- .../predicate/v1/equals_uuid.json | 180 +++++++++--------- .../predicate/v1/riding_boat.json | 12 +- .../predicate/v1/riding_donkey.json | 17 +- .../predicate/v1/riding_horse.json | 17 +- .../predicate/v1/riding_llama.json | 17 +- .../predicate/v1/riding_minecart.json | 17 +- .../predicate/v1/riding_mule.json | 17 +- .../predicate/v1/riding_pig.json | 17 +- .../predicate/v1/riding_strider.json | 17 +- .../player_action/predicate/v1/sneaking.json | 17 +- .../player_action/predicate/v1/sprinting.json | 17 +- .../player_action/predicate/v1/swimming.json | 17 +- datapacks/dataLib/pack.mcmeta | 4 +- resourcepacks/dataLib/pack.mcmeta | 2 +- 103 files changed, 826 insertions(+), 736 deletions(-) create mode 100644 datapacks/dataLib/data/datalib/function/debug/tools/log/disable.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/debug/tools/log/enable.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/place.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/place_at.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse_at.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_at.mcfunction create mode 100644 datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_here.mcfunction diff --git a/README.md b/README.md index 4a138aba..dcb8ac6b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ [![Download on Modrinth](https://img.shields.io/badge/Download%20on-Modrinth-00AF5C?style=for-the-badge&logo=modrinth&logoColor=white)](https://modrinth.com/datapack/datalib) --- -> Current version: **v6.0.1-pre2** +> Current version: **v6.0.1** --- > [!WARNING] @@ -21,7 +21,7 @@ --- > [!NOTE] -> **v6.0.1-pre2:** the stage-0 load entry point was renamed `dl_load:_` → `dl_load:main`, the marker-entity + `say` broadcast pattern was replaced everywhere with `tellraw` (using the current `click_event`/`command` button format — the old `clickEvent`/`value` field names were renamed by Mojang as of 1.21.5), and the load pipeline was split into `dl_load:resolve/*` (version + dependency resolution) and `dl_load:loader/*` (scoreboard/storage initialization). +> **v6.0.1:** the stage-0 load entry point was renamed `dl_load:_` → `dl_load:main`, the marker-entity + `say` broadcast pattern was replaced everywhere with `tellraw` (using the current `click_event`/`command` button format — the old `clickEvent`/`value` field names were renamed by Mojang as of 1.21.5), and the load pipeline was split into `dl_load:resolve/*` (version + dependency resolution) and `dl_load:loader/*` (scoreboard/storage initialization). --- > 🛡️ **This is a Minecraft Datapack — it contains no executables or scripts outside of `.mcfunction` files.** > Some antivirus software may flag `.mcfunction` files as suspicious due to macro-like syntax. This is a **false positive**. The pack has been scanned on [VirusTotal](https://www.virustotal.com) and returned clean. @@ -58,7 +58,7 @@ data modify storage :engine loaded_datalib set value 1b ``` datalib:engine (persistent data) ├── global -│ ├── version: "v6.0.1-pre2" +│ ├── version: "v6.0.1" │ └── tick: ├── players │ └── Steve { coins:150, level:5, xp:2300, online:1b, ... } diff --git a/datapacks/dataLib/data/datalib/advancement/systems/hook/fish_caught.json b/datapacks/dataLib/data/datalib/advancement/systems/hook/fish_caught.json index 94452548..4a6fa7f6 100644 --- a/datapacks/dataLib/data/datalib/advancement/systems/hook/fish_caught.json +++ b/datapacks/dataLib/data/datalib/advancement/systems/hook/fish_caught.json @@ -3,11 +3,13 @@ "trigger": { "trigger": "minecraft:fishing_rod_hooked", "conditions": { - "entity": { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": {} - } + "entity": [ + { + "entity": "this", + "predicate": {}, + "condition": "minecraft:entity_properties" + } + ] } } }, diff --git a/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_anvil.json b/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_anvil.json index b0505437..ef0f9490 100644 --- a/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_anvil.json +++ b/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_anvil.json @@ -3,16 +3,18 @@ "interact_anvil": { "trigger": "minecraft:default_block_use", "conditions": { - "location": { - "type": "minecraft:location_check", + "location": [ + { "predicate": { "block": { "blocks": [ "minecraft:anvil" ] - } + } + }, + "condition": "minecraft:location_check" } - } + ] } } }, diff --git a/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_shulker_box.json b/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_shulker_box.json index 6c96ce83..879bcc14 100644 --- a/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_shulker_box.json +++ b/datapacks/dataLib/data/datalib/advancement/systems/hook/interact_shulker_box.json @@ -3,8 +3,8 @@ "interact_shulker_box": { "trigger": "minecraft:default_block_use", "conditions": { - "location": { - "type": "minecraft:location_check", + "location": [ + { "predicate": { "block": { "blocks": [ @@ -26,9 +26,11 @@ "minecraft:red_shulker_box", "minecraft:black_shulker_box" ] - } + } + }, + "condition": "minecraft:location_check" } - } + ] } } }, diff --git a/datapacks/dataLib/data/datalib/advancement/systems/hook/killed_by_arrow.json b/datapacks/dataLib/data/datalib/advancement/systems/hook/killed_by_arrow.json index 8e7a7594..af8720de 100644 --- a/datapacks/dataLib/data/datalib/advancement/systems/hook/killed_by_arrow.json +++ b/datapacks/dataLib/data/datalib/advancement/systems/hook/killed_by_arrow.json @@ -5,7 +5,7 @@ "conditions": { "killing_blow": { "direct_entity": { - "minecraft:entity_type": "minecraft:arrow" + "entity_type": "minecraft:arrow" } } } @@ -15,4 +15,4 @@ "function": "datalib:systems/hook/on_killed_by_arrow" }, "parent": "datalib:hidden/root" -} +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/function/core/tick/config.mcfunction b/datapacks/dataLib/data/datalib/function/core/tick/config.mcfunction index f1d81663..b3bcb41e 100644 --- a/datapacks/dataLib/data/datalib/function/core/tick/config.mcfunction +++ b/datapacks/dataLib/data/datalib/function/core/tick/config.mcfunction @@ -29,6 +29,11 @@ # function datalib:core/tick/resume # function datalib:core/tick/status # function datalib:core/tick/reset_channels +# function datalib:systems/log/testblock/place — (re)place the mode=log +# test_block at datalib:engine debug_log_pos +# function datalib:debug/tools/log/enable — mirror log messages to +# latest.log via the test_block (default: off) +# function datalib:debug/tools/log/disable — turn that mirroring back off # ───────────────────────────────────────────────────────────────────────────── data modify storage datalib:engine tick.channels set value [] diff --git a/datapacks/dataLib/data/datalib/function/debug/tools/log/disable.mcfunction b/datapacks/dataLib/data/datalib/function/debug/tools/log/disable.mcfunction new file mode 100644 index 00000000..a35562c2 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/debug/tools/log/disable.mcfunction @@ -0,0 +1,4 @@ +# datalib:debug/tools/log/disable +# Turns off test_block console mirroring for systems/log/add calls. +# Verify it took effect with: /data get storage datalib:engine security.debug_log +data modify storage datalib:engine security.debug_log set value 0b diff --git a/datapacks/dataLib/data/datalib/function/debug/tools/log/enable.mcfunction b/datapacks/dataLib/data/datalib/function/debug/tools/log/enable.mcfunction new file mode 100644 index 00000000..7b672b37 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/debug/tools/log/enable.mcfunction @@ -0,0 +1,6 @@ +# datalib:debug/tools/log/enable +# Turns on test_block console mirroring for systems/log/add calls. +# Requires the test_block to already be placed — run +# /function datalib:systems/log/testblock/place first if you haven't. +# Verify it took effect with: /data get storage datalib:engine security.debug_log +data modify storage datalib:engine security.debug_log set value 1b diff --git a/datapacks/dataLib/data/datalib/function/systems/log/add.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/add.mcfunction index c7dd19b9..9110e7e0 100644 --- a/datapacks/dataLib/data/datalib/function/systems/log/add.mcfunction +++ b/datapacks/dataLib/data/datalib/function/systems/log/add.mcfunction @@ -8,3 +8,9 @@ $data modify storage datalib:engine log_display append value {text:"[$(level)] $ scoreboard players add #dl.log_count dl.tmp 1 execute if score #dl.log_count dl.tmp matches 31.. run data remove storage datalib:engine log_display[0] execute if score #dl.log_count dl.tmp matches 31.. run scoreboard players remove #dl.log_count dl.tmp 1 + +# Optional console mirroring via test_block (off by default — enable with +# /function datalib:debug/tools/log/enable). No tellraw, no chat spam: +# this only touches a block's NBT + power state, which is what makes the +# game write the message line into latest.log. +$execute if data storage datalib:engine security{debug_log:1b} run function datalib:systems/log/testblock/pulse {message:"[$(level)] $(message)"} diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/place.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/place.mcfunction new file mode 100644 index 00000000..2dab4463 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/place.mcfunction @@ -0,0 +1,10 @@ +# datalib:systems/log/testblock/place +# Places (or re-places) the mode=log test_block at datalib:engine +# debug_log_pos. Run this once after changing debug_log_pos, or if the +# block is ever broken/removed by world edits. +# +# NOTE: placing/editing a test_block requires operator permission +# (level 2+) — this is a vanilla restriction on the block itself, not a +# limitation added by this pack. + +function datalib:systems/log/testblock/place_at with storage datalib:engine debug_log_pos diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/place_at.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/place_at.mcfunction new file mode 100644 index 00000000..3e9e5847 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/place_at.mcfunction @@ -0,0 +1,3 @@ +# datalib:systems/log/testblock/place_at [MACRO] +# Input: $(x), $(y), $(z) — from debug_log_pos +$setblock $(x) $(y) $(z) minecraft:test_block[mode=log]{message:"[dataLib] (idle)",mode:"log",powered:0b} replace diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse.mcfunction new file mode 100644 index 00000000..9faf3ca6 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse.mcfunction @@ -0,0 +1,20 @@ +# datalib:systems/log/testblock/pulse [MACRO] +# Writes $(message) into the test_block and powers it, which is what +# actually makes the game write the message to latest.log. +# Input: $(message) — pre-formatted log line, e.g. "[DEBUG] channel X fired" +# +# Read position fresh each call so datalib:systems/log/testblock/place +# never needs to be re-run manually after a debug_log_pos change. +# debug_log_pos already stores flat top-level x/y/z fields, so copying +# it wholesale and adding msg alongside gives pulse_at everything it +# needs via a single 'with storage' call. + +data modify storage datalib:tick_work testblock set from storage datalib:engine debug_log_pos +$data modify storage datalib:tick_work testblock.msg set value "$(message)" + +function datalib:systems/log/testblock/pulse_at with storage datalib:tick_work testblock + +# Unpower one tick later so the block is ready to detect the next +# redstone-style "change" (mode=log logs on each power transition, not +# continuously while powered). +schedule function datalib:systems/log/testblock/unpulse_at 1t replace diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse_at.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse_at.mcfunction new file mode 100644 index 00000000..c3e4831e --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/pulse_at.mcfunction @@ -0,0 +1,7 @@ +# datalib:systems/log/testblock/pulse_at [MACRO] +# Input: $(x), $(y), $(z), $(msg) — from the testblock compound built +# in pulse.mcfunction (debug_log_pos fields + msg alongside them). +# 'replace' keeps it a fresh block-entity each time so the message +# always actually updates (partial NBT merges on test_block can be +# unreliable across versions; a full replace is the safe, portable way). +$setblock $(x) $(y) $(z) minecraft:test_block[mode=log]{message:"$(msg)",mode:"log",powered:1b} replace diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_at.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_at.mcfunction new file mode 100644 index 00000000..1462ce32 --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_at.mcfunction @@ -0,0 +1,8 @@ +# datalib:systems/log/testblock/unpulse_at +# Scheduled 1 tick after pulse_at — resets powered to 0b so the block is +# ready to detect the next power transition. Message text is left as-is +# (harmless; it's overwritten on the next pulse anyway) and read from +# the persistent debug_log_pos rather than tick_work, since tick_work +# may have been overwritten by other tick-loop activity in that 1 tick. + +function datalib:systems/log/testblock/unpulse_here with storage datalib:engine debug_log_pos diff --git a/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_here.mcfunction b/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_here.mcfunction new file mode 100644 index 00000000..3e4996cf --- /dev/null +++ b/datapacks/dataLib/data/datalib/function/systems/log/testblock/unpulse_here.mcfunction @@ -0,0 +1,3 @@ +# datalib:systems/log/testblock/unpulse_here [MACRO] +# Input: $(x), $(y), $(z) +$data merge block $(x) $(y) $(z) {powered:0b} diff --git a/datapacks/dataLib/data/datalib/item_modifier/damage_random.json b/datapacks/dataLib/data/datalib/item_modifier/damage_random.json index aa71252f..7d18f508 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/damage_random.json +++ b/datapacks/dataLib/data/datalib/item_modifier/damage_random.json @@ -1,8 +1,8 @@ { - "type": "minecraft:set_damage", "damage": { "type": "minecraft:uniform", "min": 0.1, "max": 0.9 - } + }, + "function": "minecraft:set_damage" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/enchant_randomly.json b/datapacks/dataLib/data/datalib/item_modifier/enchant_randomly.json index 530e3095..035803b3 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/enchant_randomly.json +++ b/datapacks/dataLib/data/datalib/item_modifier/enchant_randomly.json @@ -1,3 +1,3 @@ { - "type": "minecraft:enchant_randomly" + "function": "minecraft:enchant_randomly" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_30.json b/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_30.json index 7aac0a58..076a45c8 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_30.json +++ b/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_30.json @@ -1,4 +1,4 @@ { - "type": "minecraft:enchant_with_levels", - "levels": 30 + "levels": 30, + "function": "minecraft:enchant_with_levels" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_5.json b/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_5.json index bbe69b4b..1998f967 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_5.json +++ b/datapacks/dataLib/data/datalib/item_modifier/enchant_with_levels_5.json @@ -1,4 +1,4 @@ { - "type": "minecraft:enchant_with_levels", - "levels": 5 + "levels": 5, + "function": "minecraft:enchant_with_levels" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/glint_add.json b/datapacks/dataLib/data/datalib/item_modifier/glint_add.json index 76ee7325..77fcd1ce 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/glint_add.json +++ b/datapacks/dataLib/data/datalib/item_modifier/glint_add.json @@ -1,6 +1,6 @@ { - "type": "minecraft:set_components", "components": { "minecraft:enchantment_glint_override": true - } + }, + "function": "minecraft:set_components" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/glint_remove.json b/datapacks/dataLib/data/datalib/item_modifier/glint_remove.json index b8fc7edb..40dfd91b 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/glint_remove.json +++ b/datapacks/dataLib/data/datalib/item_modifier/glint_remove.json @@ -1,6 +1,6 @@ { - "type": "minecraft:set_components", "components": { "minecraft:enchantment_glint_override": false - } + }, + "function": "minecraft:set_components" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/hide_tooltip.json b/datapacks/dataLib/data/datalib/item_modifier/hide_tooltip.json index 69a35915..83837358 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/hide_tooltip.json +++ b/datapacks/dataLib/data/datalib/item_modifier/hide_tooltip.json @@ -1,8 +1,8 @@ { - "type": "minecraft:set_components", "components": { "minecraft:tooltip_display": { "hide_tooltip": true } - } + }, + "function": "minecraft:set_components" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/lore_add_custom.json b/datapacks/dataLib/data/datalib/item_modifier/lore_add_custom.json index 6326197f..1da229fd 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/lore_add_custom.json +++ b/datapacks/dataLib/data/datalib/item_modifier/lore_add_custom.json @@ -1,12 +1,12 @@ { - "type": "minecraft:set_lore", "lore": [ { "storage": "datalib:input", - "nbt": "lore", + "nbt": "lore", "interpret": true, "separator": "\n" } ], - "mode": "append" + "mode": "append", + "function": "minecraft:set_lore" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/lore_clear.json b/datapacks/dataLib/data/datalib/item_modifier/lore_clear.json index adce7e29..c45899b1 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/lore_clear.json +++ b/datapacks/dataLib/data/datalib/item_modifier/lore_clear.json @@ -1,5 +1,5 @@ { - "type": "minecraft:set_lore", "lore": [], - "mode": "replace_all" + "mode": "replace_all", + "function": "minecraft:set_lore" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/rename_to_custom.json b/datapacks/dataLib/data/datalib/item_modifier/rename_to_custom.json index 3efc0ad7..95613f37 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/rename_to_custom.json +++ b/datapacks/dataLib/data/datalib/item_modifier/rename_to_custom.json @@ -1,9 +1,9 @@ { - "type": "minecraft:set_name", "target": "item_name", "name": { "text": "Custom Item", "italic": false, "color": "gold" - } + }, + "function": "minecraft:set_name" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/repair_full.json b/datapacks/dataLib/data/datalib/item_modifier/repair_full.json index a88b5e5e..94ecd77d 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/repair_full.json +++ b/datapacks/dataLib/data/datalib/item_modifier/repair_full.json @@ -1,4 +1,4 @@ { - "type": "minecraft:set_damage", - "damage": 0.0 + "damage": 0.0, + "function": "minecraft:set_damage" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/set_count_1.json b/datapacks/dataLib/data/datalib/item_modifier/set_count_1.json index f4ebe49e..271efb87 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/set_count_1.json +++ b/datapacks/dataLib/data/datalib/item_modifier/set_count_1.json @@ -1,4 +1,4 @@ { - "type": "minecraft:set_count", - "count": 1 + "count": 1, + "function": "minecraft:set_count" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/set_count_64.json b/datapacks/dataLib/data/datalib/item_modifier/set_count_64.json index ace6325d..f87fe608 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/set_count_64.json +++ b/datapacks/dataLib/data/datalib/item_modifier/set_count_64.json @@ -1,4 +1,4 @@ { - "type": "minecraft:set_count", - "count": 64 + "count": 64, + "function": "minecraft:set_count" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/set_custom_model_data.json b/datapacks/dataLib/data/datalib/item_modifier/set_custom_model_data.json index 146c0534..9c09f651 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/set_custom_model_data.json +++ b/datapacks/dataLib/data/datalib/item_modifier/set_custom_model_data.json @@ -1,6 +1,5 @@ { - "_comment": "datalib:item_modifier/set_custom_model_data \u2014 Sets the minecraft:custom_model_data component (1.21.4+ format). Copy and edit the floats/strings/flags/colors arrays for your resource pack model overrides.", - "type": "minecraft:set_components", + "_comment": "datalib:item_modifier/set_custom_model_data — Sets the minecraft:custom_model_data component (1.21.4+ format). Copy and edit the floats/strings/flags/colors arrays for your resource pack model overrides.", "components": { "minecraft:custom_model_data": { "floats": [ @@ -10,5 +9,6 @@ "strings": [], "colors": [] } - } + }, + "function": "minecraft:set_components" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/strip_enchants.json b/datapacks/dataLib/data/datalib/item_modifier/strip_enchants.json index f39d50d5..92f3e026 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/strip_enchants.json +++ b/datapacks/dataLib/data/datalib/item_modifier/strip_enchants.json @@ -1,5 +1,5 @@ { - "type": "minecraft:set_enchantments", "enchantments": {}, - "add": false + "add": false, + "function": "minecraft:set_enchantments" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/item_modifier/unbreakable.json b/datapacks/dataLib/data/datalib/item_modifier/unbreakable.json index 40da2843..b9241d4b 100644 --- a/datapacks/dataLib/data/datalib/item_modifier/unbreakable.json +++ b/datapacks/dataLib/data/datalib/item_modifier/unbreakable.json @@ -1,6 +1,6 @@ { - "type": "minecraft:set_components", "components": { "minecraft:unbreakable": {} - } + }, + "function": "minecraft:set_components" } \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/has_empty_mainhand.json b/datapacks/dataLib/data/datalib/predicate/has_empty_mainhand.json index addc55e9..5be51425 100644 --- a/datapacks/dataLib/data/datalib/predicate/has_empty_mainhand.json +++ b/datapacks/dataLib/data/datalib/predicate/has_empty_mainhand.json @@ -1,14 +1,13 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "mainhand": { - "count": { - "max": 0 - } +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "count": { + "max": 0 } } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/has_empty_offhand.json b/datapacks/dataLib/data/datalib/predicate/has_empty_offhand.json index 2aa29470..1784687a 100644 --- a/datapacks/dataLib/data/datalib/predicate/has_empty_offhand.json +++ b/datapacks/dataLib/data/datalib/predicate/has_empty_offhand.json @@ -1,14 +1,13 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "count": { - "max": 0 - } +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "count": { + "max": 0 } } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/health_below_half.json b/datapacks/dataLib/data/datalib/predicate/health_below_half.json index e0c8ce6d..833a4ff1 100644 --- a/datapacks/dataLib/data/datalib/predicate/health_below_half.json +++ b/datapacks/dataLib/data/datalib/predicate/health_below_half.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_scores", - "entity": "this", - "scores": { - "datalib.health": { - "max": 10 - } +{ + "entity": "this", + "scores": { + "datalib.health": { + "max": 10 } - } \ No newline at end of file + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/in_end.json b/datapacks/dataLib/data/datalib/predicate/in_end.json index 8eaa2247..032c3c89 100644 --- a/datapacks/dataLib/data/datalib/predicate/in_end.json +++ b/datapacks/dataLib/data/datalib/predicate/in_end.json @@ -1,7 +1,6 @@ - - { - "type": "minecraft:location_check", - "predicate": { - "dimension": "minecraft:the_end" - } - } \ No newline at end of file +{ + "predicate": { + "dimension": "minecraft:the_end" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/in_nether.json b/datapacks/dataLib/data/datalib/predicate/in_nether.json index d268fcd8..59195b8a 100644 --- a/datapacks/dataLib/data/datalib/predicate/in_nether.json +++ b/datapacks/dataLib/data/datalib/predicate/in_nether.json @@ -1,7 +1,6 @@ - - { - "type": "minecraft:location_check", - "predicate": { - "dimension": "minecraft:the_nether" - } - } \ No newline at end of file +{ + "predicate": { + "dimension": "minecraft:the_nether" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/in_overworld.json b/datapacks/dataLib/data/datalib/predicate/in_overworld.json index ec2520a3..cc26a420 100644 --- a/datapacks/dataLib/data/datalib/predicate/in_overworld.json +++ b/datapacks/dataLib/data/datalib/predicate/in_overworld.json @@ -1,7 +1,6 @@ - - { - "type": "minecraft:location_check", - "predicate": { - "dimension": "minecraft:overworld" - } - } \ No newline at end of file +{ + "predicate": { + "dimension": "minecraft:overworld" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_baby.json b/datapacks/dataLib/data/datalib/predicate/is_baby.json index 7fa2a2ee..af183d8c 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_baby.json +++ b/datapacks/dataLib/data/datalib/predicate/is_baby.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_baby": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_baby": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_burning.json b/datapacks/dataLib/data/datalib/predicate/is_burning.json index 50522d6f..98a92e60 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_burning.json +++ b/datapacks/dataLib/data/datalib/predicate/is_burning.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_fire": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_creative.json b/datapacks/dataLib/data/datalib/predicate/is_creative.json index eb9b4aeb..2aeff7e1 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_creative.json +++ b/datapacks/dataLib/data/datalib/predicate/is_creative.json @@ -1,11 +1,10 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:entity_type": "minecraft:player", - "minecraft:type_specific/player": { - "game_mode": "creative" - } - } - } +{ + "entity": "this", + "predicate": { + "minecraft:type_specific/player": { + "game_mode": "creative" + }, + "entity_type": "minecraft:player" + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_daytime.json b/datapacks/dataLib/data/datalib/predicate/is_daytime.json index 37b05635..96255a76 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_daytime.json +++ b/datapacks/dataLib/data/datalib/predicate/is_daytime.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:time_check", - "clock": "minecraft:overworld", - "value": { - "min": 0, - "max": 12000 - }, - "period": 24000 - } +{ + "clock": "minecraft:overworld", + "value": { + "min": 0, + "max": 12000 + }, + "period": 24000, + "condition": "minecraft:time_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_flying.json b/datapacks/dataLib/data/datalib/predicate/is_flying.json index 29470602..e61ce244 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_flying.json +++ b/datapacks/dataLib/data/datalib/predicate/is_flying.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_flying": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_full_health.json b/datapacks/dataLib/data/datalib/predicate/is_full_health.json index 61bedc35..e23a87eb 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_full_health.json +++ b/datapacks/dataLib/data/datalib/predicate/is_full_health.json @@ -1,9 +1,8 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:entity_type": "minecraft:player", - "nbt": "{Health:20.0f}" - } - } +{ + "entity": "this", + "predicate": { + "nbt": "{Health:20.0f}", + "entity_type": "minecraft:player" + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_gliding.json b/datapacks/dataLib/data/datalib/predicate/is_gliding.json index 78fb4862..017f3353 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_gliding.json +++ b/datapacks/dataLib/data/datalib/predicate/is_gliding.json @@ -1,15 +1,14 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_flying": true - }, - "equipment": { - "chest": { - "items": "minecraft:elytra" - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true + }, + "equipment": { + "chest": { + "items": "minecraft:elytra" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_holding_bow.json b/datapacks/dataLib/data/datalib/predicate/is_holding_bow.json index f3bf2823..948cf3b8 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_holding_bow.json +++ b/datapacks/dataLib/data/datalib/predicate/is_holding_bow.json @@ -1,12 +1,11 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "mainhand": { - "items": "minecraft:bow" - } +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:bow" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_holding_shield.json b/datapacks/dataLib/data/datalib/predicate/is_holding_shield.json index 3bba0f1f..9c110909 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_holding_shield.json +++ b/datapacks/dataLib/data/datalib/predicate/is_holding_shield.json @@ -1,12 +1,11 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "offhand": { - "items": "minecraft:shield" - } +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "items": "minecraft:shield" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_holding_sword.json b/datapacks/dataLib/data/datalib/predicate/is_holding_sword.json index ca011c34..73533662 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_holding_sword.json +++ b/datapacks/dataLib/data/datalib/predicate/is_holding_sword.json @@ -1,12 +1,11 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "mainhand": { - "items": "#minecraft:swords" - } +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "#minecraft:swords" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_holding_trident.json b/datapacks/dataLib/data/datalib/predicate/is_holding_trident.json index 4c476501..a20b0d46 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_holding_trident.json +++ b/datapacks/dataLib/data/datalib/predicate/is_holding_trident.json @@ -1,12 +1,11 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "equipment": { - "mainhand": { - "items": "minecraft:trident" - } +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:trident" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_hungry.json b/datapacks/dataLib/data/datalib/predicate/is_hungry.json index 9f858f94..87769545 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_hungry.json +++ b/datapacks/dataLib/data/datalib/predicate/is_hungry.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_scores", - "entity": "this", - "scores": { - "datalib.food": { - "max": 19 - } +{ + "entity": "this", + "scores": { + "datalib.food": { + "max": 19 } - } \ No newline at end of file + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_in_water.json b/datapacks/dataLib/data/datalib/predicate/is_in_water.json index f76fc06a..ee5bafb5 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_in_water.json +++ b/datapacks/dataLib/data/datalib/predicate/is_in_water.json @@ -1,12 +1,11 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "location": { - "fluid": { - "tag": "minecraft:water" - } +{ + "entity": "this", + "predicate": { + "location": { + "fluid": { + "tag": "minecraft:water" } } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_on_ground.json b/datapacks/dataLib/data/datalib/predicate/is_on_ground.json index a3babbd2..e5113eb9 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_on_ground.json +++ b/datapacks/dataLib/data/datalib/predicate/is_on_ground.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_on_ground": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_ground": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_raining.json b/datapacks/dataLib/data/datalib/predicate/is_raining.json index ca366bb0..443a641b 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_raining.json +++ b/datapacks/dataLib/data/datalib/predicate/is_raining.json @@ -1,6 +1,5 @@ - - { - "type": "minecraft:weather_check", - "raining": true, - "thundering": false - } \ No newline at end of file +{ + "raining": true, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_sneaking.json b/datapacks/dataLib/data/datalib/predicate/is_sneaking.json index 24afe600..ee9f57d7 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_sneaking.json +++ b/datapacks/dataLib/data/datalib/predicate/is_sneaking.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_sneaking": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_sprinting.json b/datapacks/dataLib/data/datalib/predicate/is_sprinting.json index 362b91ca..f95b561d 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_sprinting.json +++ b/datapacks/dataLib/data/datalib/predicate/is_sprinting.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_sprinting": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_survival.json b/datapacks/dataLib/data/datalib/predicate/is_survival.json index b575876b..a34eb14f 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_survival.json +++ b/datapacks/dataLib/data/datalib/predicate/is_survival.json @@ -1,11 +1,10 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:entity_type": "minecraft:player", - "minecraft:type_specific/player": { - "game_mode": "survival" - } - } - } +{ + "entity": "this", + "predicate": { + "minecraft:type_specific/player": { + "game_mode": "survival" + }, + "entity_type": "minecraft:player" + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/is_thundering.json b/datapacks/dataLib/data/datalib/predicate/is_thundering.json index abc841a9..1a1216ec 100644 --- a/datapacks/dataLib/data/datalib/predicate/is_thundering.json +++ b/datapacks/dataLib/data/datalib/predicate/is_thundering.json @@ -1,6 +1,5 @@ - - { - "type": "minecraft:weather_check", - "raining": true, - "thundering": true - } \ No newline at end of file +{ + "raining": true, + "thundering": true, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/datalib/predicate/weather_clear.json b/datapacks/dataLib/data/datalib/predicate/weather_clear.json index cdadcbda..ae4f8ca0 100644 --- a/datapacks/dataLib/data/datalib/predicate/weather_clear.json +++ b/datapacks/dataLib/data/datalib/predicate/weather_clear.json @@ -1,6 +1,5 @@ - - { - "type": "minecraft:weather_check", - "raining": false, - "thundering": false - } \ No newline at end of file +{ + "raining": false, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/dl_load/function/loader/storages.mcfunction b/datapacks/dataLib/data/dl_load/function/loader/storages.mcfunction index 484c014e..483c8f9e 100644 --- a/datapacks/dataLib/data/dl_load/function/loader/storages.mcfunction +++ b/datapacks/dataLib/data/dl_load/function/loader/storages.mcfunction @@ -124,8 +124,13 @@ execute unless data storage datalib:engine wand_cooldowns run data modify storag # admins must be given datalib.debug explicitly # via /function datalib:debug/tools/admin/debug_tag/* # (v6.0.1, see admin_systems.mcfunction) +# debug_log 0b = test-block console logging disabled (default). +# 1b = every systems/log/add call also pulses the +# configured test_block, so the message text lands +# in latest.log. Toggle with +# /function datalib:debug/tools/log/enable (or disable). # ───────────────────────────────────────────────────────────────── -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:{},auto_debug_tag:1b} +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:{},auto_debug_tag:1b,debug_log:0b} # ───────────────────────────────────────────────────────────────── # Security module v6.0.1+ additions # BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). @@ -135,7 +140,7 @@ execute unless data storage datalib:engine security run data modify storage data # ───────────────────────────────────────────────────────────────── # Reset security to new compound format (migration: [] → {}) 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 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:{},auto_debug_tag:1b} +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:{},auto_debug_tag:1b,debug_log:0b} 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} # Migration: packs upgraded from pre-v6.0.1 will have a security @@ -143,6 +148,20 @@ execute unless data storage datalib:engine security.multi_type_allowlist run dat # 'unless data storage ... security run ...' guard above (which only # fires when the whole compound is absent) doesn't skip existing worlds. execute unless data storage datalib:engine security.auto_debug_tag run data modify storage datalib:engine security.auto_debug_tag set value 1b +# Same backfill logic for debug_log — older worlds upgrading to this +# version won't have it yet since the compound already exists for them. +execute unless data storage datalib:engine security.debug_log run data modify storage datalib:engine security.debug_log set value 0b + +# ───────────────────────────────────────────────────────────────── +# Debug-log test_block position +# ─────────────────────────────── +# Where the mode=log test_block used for console-logging lives. +# Default matches the coordinate the pack was verified against +# (see systems/log/testblock/*). Move it with: +# /data modify storage datalib:engine debug_log_pos set value {x:X,y:Y,z:Z} +# then /function datalib:systems/log/testblock/place to (re)place the block +# at the new coordinate. +execute unless data storage datalib:engine debug_log_pos run data modify storage datalib:engine debug_log_pos set value {x:-4,y:-58,z:-4} # multiCommands context tracker (always reset on load — transient state) data remove storage datalib:engine multiCommands diff --git a/datapacks/dataLib/data/player_action/advancement/v1/attack_click_entity.json b/datapacks/dataLib/data/player_action/advancement/v1/attack_click_entity.json index b92a787b..15eed32d 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/attack_click_entity.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/attack_click_entity.json @@ -3,13 +3,15 @@ "attack_click_entity": { "trigger": "minecraft:player_hurt_entity", "conditions": { - "entity": { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "nbt": "{Tags:[\"player_action.click_entity\"]}" + "entity": [ + { + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"player_action.click_entity\"]}" + }, + "condition": "minecraft:entity_properties" } - } + ] } } }, diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_anvil.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_anvil.json index 1ae5949f..eda36996 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_anvil.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_anvil.json @@ -3,21 +3,22 @@ "interact_anvil": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:anvil" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_anvil" + "rewards": { + "function": "player_action:core/internal/v1/interact_anvil" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_barrel.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_barrel.json index 62c8ae15..19d71132 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_barrel.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_barrel.json @@ -3,21 +3,22 @@ "interact_barrel": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:barrel" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_barrel" + "rewards": { + "function": "player_action:core/internal/v1/interact_barrel" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_beacon.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_beacon.json index 5f072335..172b3f58 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_beacon.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_beacon.json @@ -3,21 +3,22 @@ "interact_beacon": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:beacon" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_beacon" + "rewards": { + "function": "player_action:core/internal/v1/interact_beacon" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_blast_furnace.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_blast_furnace.json index 97c2da4d..78a591e0 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_blast_furnace.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_blast_furnace.json @@ -3,21 +3,22 @@ "interact_blast_furnace": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:blast_furnace" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_blast_furnace" + "rewards": { + "function": "player_action:core/internal/v1/interact_blast_furnace" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_brewingstand.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_brewingstand.json index 1fa0cfaf..73dc1e7d 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_brewingstand.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_brewingstand.json @@ -3,21 +3,22 @@ "interact_brewingstand": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:brewing_stand" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_brewingstand" + "rewards": { + "function": "player_action:core/internal/v1/interact_brewingstand" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_cake.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_cake.json index 98b8ad87..1718e111 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_cake.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_cake.json @@ -3,21 +3,22 @@ "interact_cake": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:cake" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_cake" + "rewards": { + "function": "player_action:core/internal/v1/interact_cake" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_campfire.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_campfire.json index fd45e67f..adfbb3e8 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_campfire.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_campfire.json @@ -3,9 +3,8 @@ "interact_campfire": { "trigger": "minecraft:item_used_on_block", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ @@ -13,12 +12,14 @@ "minecraft:soul_campfire" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_campfire" + "rewards": { + "function": "player_action:core/internal/v1/interact_campfire" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_cartopgraphy_table.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_cartopgraphy_table.json index 990db5d5..23070f6c 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_cartopgraphy_table.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_cartopgraphy_table.json @@ -3,21 +3,22 @@ "interact_cartopgraphy_table": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:cartography_table" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_cartopgraphy_table" + "rewards": { + "function": "player_action:core/internal/v1/interact_cartopgraphy_table" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_cauldron.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_cauldron.json index 8cf2f76d..441708f2 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_cauldron.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_cauldron.json @@ -3,19 +3,20 @@ "interact_cauldron": { "trigger": "minecraft:item_used_on_block", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": "#minecraft:cauldrons" } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_cauldron" + "rewards": { + "function": "player_action:core/internal/v1/interact_cauldron" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_chest.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_chest.json index 7c5c9941..93d1857f 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_chest.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_chest.json @@ -3,21 +3,22 @@ "interact_chest": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:chest" ] } - } - } + }, + "condition": "minecraft:location_check" + } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_chest" + "rewards": { + "function": "player_action:core/internal/v1/interact_chest" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_click_entity.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_click_entity.json index 65f8110f..f2fd9ce0 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_click_entity.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_click_entity.json @@ -3,15 +3,16 @@ "interact_click_entity": { "trigger": "minecraft:player_interacted_with_entity", "conditions": { - "entity": + "entity": [ { - "type": "minecraft:entity_properties", "entity": "this", "predicate": { - "minecraft:entity_type": "minecraft:interaction", - "nbt": "{Tags:[\"player_action.click_entity\"]}" - } + "nbt": "{Tags:[\"player_action.click_entity\"]}", + "entity_type": "minecraft:interaction" + }, + "condition": "minecraft:entity_properties" } + ] } } }, diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_crafting_table.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_crafting_table.json index 300b3c1c..8eaec5c8 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_crafting_table.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_crafting_table.json @@ -3,21 +3,22 @@ "interact_crafting_table": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:crafting_table" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_crafting_table" + "rewards": { + "function": "player_action:core/internal/v1/interact_crafting_table" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_dispenser.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_dispenser.json index c68d51b1..0a9a2389 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_dispenser.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_dispenser.json @@ -3,21 +3,22 @@ "interact_dispenser": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:dispenser" ] } - } - } + }, + "condition": "minecraft:location_check" + } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_dispenser" + "rewards": { + "function": "player_action:core/internal/v1/interact_dispenser" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_dropper.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_dropper.json index e071911c..69f3f7d9 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_dropper.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_dropper.json @@ -3,21 +3,22 @@ "interact_dropper": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:dropper" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_dropper" + "rewards": { + "function": "player_action:core/internal/v1/interact_dropper" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_enderchest.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_enderchest.json index 7af22c8e..de4f8ade 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_enderchest.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_enderchest.json @@ -3,15 +3,16 @@ "interact_enderchest": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": "minecraft:ender_chest" } - } + }, + "condition": "minecraft:location_check" } + ] } } }, diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_flower_pot.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_flower_pot.json index 29fedd04..7b8c5292 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_flower_pot.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_flower_pot.json @@ -3,21 +3,22 @@ "interact_flower_pot": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:flower_pot" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_flower_pot" + "rewards": { + "function": "player_action:core/internal/v1/interact_flower_pot" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_furnace.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_furnace.json index 0664e4d8..72328d06 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_furnace.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_furnace.json @@ -3,21 +3,22 @@ "interact_furnace": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:furnace" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_furnace" + "rewards": { + "function": "player_action:core/internal/v1/interact_furnace" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_grindstone.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_grindstone.json index 98463a06..5fe1b498 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_grindstone.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_grindstone.json @@ -3,21 +3,22 @@ "interact_grindstone": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:grindstone" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_grindstone" + "rewards": { + "function": "player_action:core/internal/v1/interact_grindstone" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_hopper.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_hopper.json index 0f058250..933f5763 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_hopper.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_hopper.json @@ -3,21 +3,22 @@ "interact_hopper": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:hopper" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_hopper" + "rewards": { + "function": "player_action:core/internal/v1/interact_hopper" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_jukebox.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_jukebox.json index 38d1adbd..63d0fd16 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_jukebox.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_jukebox.json @@ -3,21 +3,22 @@ "interact_jukebox": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:jukebox" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_jukebox" + "rewards": { + "function": "player_action:core/internal/v1/interact_jukebox" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_lectern.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_lectern.json index 69499e08..75b989c0 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_lectern.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_lectern.json @@ -3,21 +3,22 @@ "interact_lectern": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:lectern" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_lectern" + "rewards": { + "function": "player_action:core/internal/v1/interact_lectern" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_loom.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_loom.json index 32dcf2e9..8d3b2838 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_loom.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_loom.json @@ -3,21 +3,22 @@ "interact_loom": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:loom" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_loom" + "rewards": { + "function": "player_action:core/internal/v1/interact_loom" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_noteblock.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_noteblock.json index 185dff81..3f69fcaf 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_noteblock.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_noteblock.json @@ -3,21 +3,22 @@ "interact_noteblock": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:note_block" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_noteblock" + "rewards": { + "function": "player_action:core/internal/v1/interact_noteblock" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_shulker_box.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_shulker_box.json index 3c2bd760..05759b6d 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_shulker_box.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_shulker_box.json @@ -1,39 +1,40 @@ { - "criteria": { - "interact_shulker_box": { - "trigger": "minecraft:default_block_use", - "conditions": { - "location": - { - "type": "minecraft:location_check", - "predicate": { - "block": { - "blocks": [ - "minecraft:shulker_box", - "minecraft:white_shulker_box", - "minecraft:orange_shulker_box", - "minecraft:magenta_shulker_box", - "minecraft:light_blue_shulker_box", - "minecraft:yellow_shulker_box", - "minecraft:lime_shulker_box", - "minecraft:pink_shulker_box", - "minecraft:gray_shulker_box", - "minecraft:light_gray_shulker_box", - "minecraft:cyan_shulker_box", - "minecraft:purple_shulker_box", - "minecraft:blue_shulker_box", - "minecraft:brown_shulker_box", - "minecraft:green_shulker_box", - "minecraft:red_shulker_box", - "minecraft:black_shulker_box" - ] - } - } - } - } - } - }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_shulker_box" - } - } \ No newline at end of file + "criteria": { + "interact_shulker_box": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:shulker_box", + "minecraft:white_shulker_box", + "minecraft:orange_shulker_box", + "minecraft:magenta_shulker_box", + "minecraft:light_blue_shulker_box", + "minecraft:yellow_shulker_box", + "minecraft:lime_shulker_box", + "minecraft:pink_shulker_box", + "minecraft:gray_shulker_box", + "minecraft:light_gray_shulker_box", + "minecraft:cyan_shulker_box", + "minecraft:purple_shulker_box", + "minecraft:blue_shulker_box", + "minecraft:brown_shulker_box", + "minecraft:green_shulker_box", + "minecraft:red_shulker_box", + "minecraft:black_shulker_box" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "player_action:core/internal/v1/interact_shulker_box" + } +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_smithing_table.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_smithing_table.json index a95ac133..30d8267d 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_smithing_table.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_smithing_table.json @@ -3,21 +3,22 @@ "interact_smithing_table": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:smithing_table" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_smithing_table" + "rewards": { + "function": "player_action:core/internal/v1/interact_smithing_table" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_smoker.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_smoker.json index f2a0957a..986f5b30 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_smoker.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_smoker.json @@ -3,21 +3,22 @@ "interact_smoker": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:smoker" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_smoker" + "rewards": { + "function": "player_action:core/internal/v1/interact_smoker" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_stonecutter.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_stonecutter.json index 49a2953f..24c94617 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_stonecutter.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_stonecutter.json @@ -3,21 +3,22 @@ "interact_stonecutter": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:stonecutter" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_stonecutter" + "rewards": { + "function": "player_action:core/internal/v1/interact_stonecutter" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_trapped_chest.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_trapped_chest.json index 9751ac9d..1ce756f5 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_trapped_chest.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_trapped_chest.json @@ -3,21 +3,22 @@ "interact_trapped_chest": { "trigger": "minecraft:default_block_use", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:trapped_chest" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_trapped_chest" + "rewards": { + "function": "player_action:core/internal/v1/interact_trapped_chest" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/advancement/v1/interact_vault.json b/datapacks/dataLib/data/player_action/advancement/v1/interact_vault.json index aaee7977..67471a97 100644 --- a/datapacks/dataLib/data/player_action/advancement/v1/interact_vault.json +++ b/datapacks/dataLib/data/player_action/advancement/v1/interact_vault.json @@ -3,21 +3,22 @@ "interact_vault": { "trigger": "minecraft:item_used_on_block", "conditions": { - "location": + "location": [ { - "type": "minecraft:location_check", "predicate": { "block": { "blocks": [ "minecraft:vault" ] } - } + }, + "condition": "minecraft:location_check" } + ] } - } + } }, - "rewards":{ - "function":"player_action:core/internal/v1/interact_vault" + "rewards": { + "function": "player_action:core/internal/v1/interact_vault" } } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1.7/is_correct_version.json b/datapacks/dataLib/data/player_action/predicate/v1.7/is_correct_version.json index 4c208846..573f99a4 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1.7/is_correct_version.json +++ b/datapacks/dataLib/data/player_action/predicate/v1.7/is_correct_version.json @@ -1,55 +1,53 @@ { - "type": "minecraft:all_of", "terms": [ - - { - "type": "minecraft:value_check", - "value": 1, - "range": { - "min": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#player_action.major" + { + "value": 1, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#player_action.major" + }, + "score": "load.status", + "scale": 1 }, - "score": "load.status", - "scale": 1 + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#player_action.major" + }, + "score": "load.status", + "scale": 1 + } }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#player_action.major" + "condition": "minecraft:value_check" + }, + { + "value": 7, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#player_action.minor" + }, + "score": "load.status", + "scale": 1 }, - "score": "load.status", - "scale": 1 - } - } - }, - { - "type": "minecraft:value_check", - "value": 7, - "range": { - "min": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#player_action.minor" - }, - "score": "load.status", - "scale": 1 + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#player_action.minor" + }, + "score": "load.status", + "scale": 1 + } }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#player_action.minor" - }, - "score": "load.status", - "scale": 1 - } + "condition": "minecraft:value_check" } - } - - ] + ], + "condition": "minecraft:all_of" } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/equals_uuid.json b/datapacks/dataLib/data/player_action/predicate/v1/equals_uuid.json index 4e0433ef..56b67aff 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/equals_uuid.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/equals_uuid.json @@ -1,109 +1,109 @@ { - "type": "minecraft:any_of", "terms": [ - { - "type": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": "this", - "score": "player_action.uuid.0" - }, - "range": { - "min": { + { + "value": { "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.0" - }, - "score": "player_action.data" + "target": "this", + "score": "player_action.uuid.0" }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.0" + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" }, - "score": "player_action.data" - } - } - }, - { - "type": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": "this", - "score": "player_action.uuid.1" + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" }, - "range": { - "min": { + { + "value": { "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.1" - }, - "score": "player_action.data" + "target": "this", + "score": "player_action.uuid.1" }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.1" + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" }, - "score": "player_action.data" - } - } - }, - { - "type": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": "this", - "score": "player_action.uuid.2" + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" }, - "range": { - "min": { + { + "value": { "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.2" - }, - "score": "player_action.data" + "target": "this", + "score": "player_action.uuid.2" }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.2" + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" }, - "score": "player_action.data" - } - } - }, - { - "type": "minecraft:value_check", - "value": { - "type": "minecraft:score", - "target": "this", - "score": "player_action.uuid.3" + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" }, - "range": { - "min": { + { + "value": { "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.3" - }, - "score": "player_action.data" + "target": "this", + "score": "player_action.uuid.3" }, - "max": { - "type": "minecraft:score", - "target": { - "type": "minecraft:fixed", - "name": "#uuid.3" + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.3" + }, + "score": "player_action.data" }, - "score": "player_action.data" - } + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.3" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" } - } -] + ], + "condition": "minecraft:any_of" } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_boat.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_boat.json index 8feae47a..762e4a7c 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_boat.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_boat.json @@ -1,9 +1,9 @@ { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "#minecraft:boat" - } + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "#minecraft:boat" } + }, + "condition": "minecraft:entity_properties" } \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_donkey.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_donkey.json index 59f59c9d..5a312abb 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_donkey.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_donkey.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:donkey" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:donkey" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_horse.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_horse.json index eaed6b52..567b5356 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_horse.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_horse.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:horse" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:horse" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_llama.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_llama.json index 8e5cb3b8..e6f9fc2b 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_llama.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_llama.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:llama" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:llama" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_minecart.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_minecart.json index bdfb5ab6..78e92a10 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_minecart.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_minecart.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:minecart" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:minecart" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_mule.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_mule.json index 7495d982..02f33a8f 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_mule.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_mule.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:mule" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:mule" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_pig.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_pig.json index 9f7365b7..abd827d9 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_pig.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_pig.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:pig" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:pig" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/riding_strider.json b/datapacks/dataLib/data/player_action/predicate/v1/riding_strider.json index 9af6ba6a..9ee036a7 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/riding_strider.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/riding_strider.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "minecraft:vehicle": { - "minecraft:entity_type": "minecraft:strider" - } +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:strider" } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/sneaking.json b/datapacks/dataLib/data/player_action/predicate/v1/sneaking.json index 24afe600..ee9f57d7 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/sneaking.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/sneaking.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_sneaking": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/sprinting.json b/datapacks/dataLib/data/player_action/predicate/v1/sprinting.json index 362b91ca..f95b561d 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/sprinting.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/sprinting.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_sprinting": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/data/player_action/predicate/v1/swimming.json b/datapacks/dataLib/data/player_action/predicate/v1/swimming.json index c183fc36..2f6cd2dd 100644 --- a/datapacks/dataLib/data/player_action/predicate/v1/swimming.json +++ b/datapacks/dataLib/data/player_action/predicate/v1/swimming.json @@ -1,10 +1,9 @@ - - { - "type": "minecraft:entity_properties", - "entity": "this", - "predicate": { - "flags": { - "is_swimming": true - } +{ + "entity": "this", + "predicate": { + "flags": { + "is_swimming": true } - } \ No newline at end of file + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/datapacks/dataLib/pack.mcmeta b/datapacks/dataLib/pack.mcmeta index be9cf576..b1dacf7f 100644 --- a/datapacks/dataLib/pack.mcmeta +++ b/datapacks/dataLib/pack.mcmeta @@ -50,8 +50,8 @@ "italic": false } ], - "min_format": [75, 0], - "max_format": [100, 0] + "min_format": 107, + "max_format": 107 }, "features": { "enabled": [ diff --git a/resourcepacks/dataLib/pack.mcmeta b/resourcepacks/dataLib/pack.mcmeta index b1c7d82c..f00a34d8 100644 --- a/resourcepacks/dataLib/pack.mcmeta +++ b/resourcepacks/dataLib/pack.mcmeta @@ -1,6 +1,6 @@ { "pack": { - "description": "dataLib v6.0.1-pre2 — resource pack companion (fonts/textures for GUI & dialog rendering) | runtoolkit", + "description": "dataLib v6.0.1 — resource pack companion (fonts/textures for GUI & dialog rendering) | runtoolkit", "min_format": [ 107, 1 From d61513c2cee0251cb7f52427e85df4c6509d3b69 Mon Sep 17 00:00:00 2001 From: IronCrest <234182831+IronCrest-sudo@users.noreply.github.com> Date: Sun, 26 Jul 2026 15:27:30 +0000 Subject: [PATCH 2/2] Update ci.yml --- .github/workflows/ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f89dc7b..f1a4f661 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,5 +1,8 @@ name: CI +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true' + on: push: branches: [main, devlop]