diff --git a/.github/workflows/lint.sh b/.github/workflows/lint.sh index c708e55e..01c822fd 100644 --- a/.github/workflows/lint.sh +++ b/.github/workflows/lint.sh @@ -14,6 +14,7 @@ IGNORE_PATHS=( "packs/dataLib-dp/datapacks/dataLib/data/datalib/function/world/get_time.mcfunction" "packs/dataLib-dp/datapacks/dataLib/data/datalib/function/world/time_phase.mcfunction" "packs/cmdTunnel-datapack/data/*/functions/init.mcfunction" + "packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/get_time.mcfunction" ) echo "::group::🚫 Ignoring paths" diff --git a/packs/macroEngine/.dependencies.json b/packs/macroEngine/.dependencies.json new file mode 100644 index 00000000..3e455bf0 --- /dev/null +++ b/packs/macroEngine/.dependencies.json @@ -0,0 +1,22 @@ +{ + "embedded": [ + { + "id": "player_action", + "version": "v1.7", + "source": "https://github.com/ICY105/PlayerAction", + "license": "MIT", + "namespace": "player_action", + "load_tag": "#player_action:load", + "renamed_as": "macroengine_player", + "note": "Embedded as-is. Provides player event hooks (click, movement, block interaction)." + } + ], + "required": [ + { + "id": "lanternload", + "renamed_as": "macroengine_load", + "source": "https://github.com/LanternMC/load", + "note": "Already bundled via data/load namespace." + } + ] +} diff --git a/packs/macroEngine/.gitattributes b/packs/macroEngine/.gitattributes new file mode 100644 index 00000000..cb9c6b8a --- /dev/null +++ b/packs/macroEngine/.gitattributes @@ -0,0 +1,169 @@ +# .gitattributes +# ============================================ +# Global: Auto detect text files +# ============================================ +* text=auto eol=lf + +# ============================================ +# Minecraft Datapack – Force LF +# ============================================ +*.mcfunction text eol=lf +*.json text eol=lf diff=json +*.mcmeta text eol=lf diff=json +*.snbt text eol=lf +*.md text eol=lf +*.txt text eol=lf +*.nbt binary +*.mcstructure binary +*.dat binary +*.dat_old binary +*.mca binary +*.mcc binary +*.region binary + +# ============================================ +# Shader Files (Resource Pack compatibility) +# ============================================ +*.glsl text eol=lf +*.vsh text eol=lf +*.fsh text eol=lf +*.vert text eol=lf +*.frag text eol=lf +*.geom text eol=lf +*.comp text eol=lf +*.hlsl text eol=lf + +# ============================================ +# Config & Build Files +# ============================================ +*.yml text eol=lf +*.yaml text eol=lf +*.toml text eol=lf +*.properties text eol=lf +*.env text eol=lf +*.ini text eol=lf +*.cfg text eol=lf +.gitignore text eol=lf +.gitattributes text eol=lf +Makefile text eol=lf +Dockerfile text eol=lf + +# ============================================ +# Script & Web Files +# ============================================ +*.py text eol=lf +*.sh text eol=lf +*.java text eol=lf +*.bash text eol=lf +*.js text eol=lf +*.ts text eol=lf +*.jsx text eol=lf +*.tsx text eol=lf +*.html text eol=lf +*.css text eol=lf +*.scss text eol=lf +*.xml text eol=lf diff=xml +*.svg text eol=lf + +# ============================================ +# Windows-specific (optional) +# Uncomment if you REALLY need CRLF scripts +# ============================================ +# *.bat text eol=crlf +# *.ps1 text eol=crlf + +# ============================================ +# Document & Office Files +# ============================================ +*.pdf binary +*.doc binary +*.docx binary +*.xls binary +*.xlsx binary +*.ppt binary +*.pptx binary +*.odt binary +*.ods binary +*.odp binary +*.csv text eol=lf + +# ============================================ +# Binary Assets – Images +# ============================================ +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.webp binary +*.ico binary +*.bmp binary +*.tga binary +*.tiff binary +*.psd binary +*.xcf binary +*.hdr binary +*.exr binary + +# ============================================ +# Audio & Video +# ============================================ +*.ogg binary +*.mp3 binary +*.wav binary +*.flac binary +*.aac binary +*.opus binary +*.mp4 binary +*.webm binary +*.avi binary +*.mkv binary + +# ============================================ +# 3D / Font Assets +# ============================================ +*.obj binary +*.mtl binary +*.fbx binary +*.gltf text eol=lf diff=json +*.glb binary +*.ttf binary +*.otf binary +*.woff binary +*.woff2 binary + +# ============================================ +# Archives & Compiled +# ============================================ +*.zip binary +*.rar binary +*.7z binary +*.tar binary +*.gz binary +*.jar binary +*.exe binary +*.dll binary +*.so binary +*.dylib binary +*.class binary +*.pyc binary +*.mcpack binary +*.mcworld binary +*.mcaddon binary + +# ============================================ +# Lock files – text, diffable +# ============================================ +*.lock text eol=lf +package-lock.json text eol=lf diff=json +yarn.lock text eol=lf + +# ============================================ +# Git diff drivers +# ============================================ +# To enable the diff=json driver, run: +# git config diff.json.textconv "python3 -m json.tool" +# or: +# git config diff.json.textconv "jq ." +# +# To enable the diff=xml driver, run: +# git config diff.xml.textconv "xmllint --format -" diff --git a/packs/macroEngine/.gitignore b/packs/macroEngine/.gitignore new file mode 100644 index 00000000..e7720eb8 --- /dev/null +++ b/packs/macroEngine/.gitignore @@ -0,0 +1,132 @@ +### AL ### +#Template for AL projects for Dynamics 365 Business Central (.gitignore) +#launch.json folder +.vscode/ +#Cache folder +.alcache/ +#Symbols folder +.alpackages/ +#Snapshots folder +.snapshots/ +#Testing Output folder +.output/ +#Extension App-file +*.app +#Rapid Application Development File +rad.json +#Translation Base-file +*.g.xlf +#License-file +*.flf +#Test results file +TestResults.xml + +# Minecraft / Cache +usercache.json +playerdata/ +saves/ +logs/ +.minecraft/debug/ +servers.dat +servers.dat_old +servers.dat.bak +*.bak +options.txt +command_history.txt +launcher_profile.json +tlauncher_profile.json +*.mcpack +*.mcaddon +*.mcworld +stats/ +.minecraft/saves/**/data/*.dat +crash-reports/ +server.jar +server.jar_old +server.jar.bak +.minecraft/versions/ +#spyglass.json +spyglass.json.bak +spyglass.json.old +downloads/ +backup/ +backups/ +session.lock +usernamecache.json +realms_persistence.json +shaderpacks/ +screenshots/ +eula.txt +banned-ips.json +banned-players.json +ops.json +whitelist.json +eula.txt.bak +banned-ips.json.bak +banned-players.json.bak +ops.json.bak +whitelist.json.bak +session.lock.bak +usernamecache.json.bak +launcher_profile.json.bak +tlauncher_profile.json.bak +options.txt.bak +command_history.txt.bak +.minecraft/ +!data/ +!pack.mcmeta +!pack.png +backup*.zip +backup*.rar +!datapacks/*.zip + +# Other +*.rar +*.jar +*.tar +test.tar +*.tar.gz +test.tar.gz +*.png +*.jpg +*.7z +*.gz +*.war +*.ear +*.class +*.dll +*.exe +*.so +*.dylib +*.bin +*.db +*.sqlite +*.sqlite3 +*.mdb +*.accdb +*.iso +*.img +*.dmg +*.pdf +*.doc +*.docx +*.xls +*.xlsx +*.ppt +*.pptx +*.png +!pack.png + +# Gradle +.gradle/ +build/ + +# Datapack / Mod +!data/ +!gradle/ +!src/ +!pack.mcmeta +!datapacks/ +!resourcepacks/ +!buildSrc/ +!mods/macroEngine diff --git a/packs/macroEngine/LICENSE b/packs/macroEngine/LICENSE new file mode 100644 index 00000000..329cf184 --- /dev/null +++ b/packs/macroEngine/LICENSE @@ -0,0 +1,26 @@ +MIT License + +Copyright (c) 2024-2026 Legends11 / runtoolkit + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +See the NOTICE file for additional usage and security terms regarding +AI/ML training, CI/CD and development-container infrastructure abuse, and +prohibited exploitation of security vulnerabilities. These terms apply +alongside, and do not replace, the MIT License above. diff --git a/packs/macroEngine/NOTICE b/packs/macroEngine/NOTICE new file mode 100644 index 00000000..b2454857 --- /dev/null +++ b/packs/macroEngine/NOTICE @@ -0,0 +1,83 @@ +NOTICE — macroEngine + +Copyright (c) 2024-2026 Legends11 / runtoolkit + +Licensed under the MIT License (see LICENSE). This NOTICE file imposes +additional usage terms regarding AI/ML training, CI/CD and development +container infrastructure abuse, and security exploitation. These terms +apply in addition to, and do not replace, the MIT License's copyright and +permission-notice requirement. + +Source repository: https://github.com/runtoolkit/macroEngine + +AI / Machine Learning Restrictions + +You MAY NOT: + +* Use this work, in whole or in part, for prompt injection against AI + coding assistants or similar AI-related abuse without prior written + permission from the copyright holder + +CI/CD and Development Container Restrictions + +This repository ships GitHub Actions workflows (.github/workflows/) and a +development container configuration (.devcontainer/devcontainer.json) whose +onCreateCommand automatically runs .devcontainer/setup.sh whenever a +GitHub Codespace is created from this repository. You MAY NOT: + +* Abuse, exploit, overload, or otherwise misuse any GitHub Actions + workflows, CI/CD infrastructure, automated services, runners, caches, + artifacts, packages, or repository resources associated with this project +* Abuse, exploit, overload, or otherwise misuse GitHub Codespaces, the + devcontainer.json configuration, its onCreateCommand/setup.sh + provisioning step, development containers, storage, networking + resources, or any cloud-based development environment associated with + this project +* Use this project's GitHub Actions workflows, Codespaces environment, + devcontainer.json configuration, or derivative configurations for + cryptocurrency mining, botnet activity, spam, automated abuse, resource + farming, unauthorized scanning, stress testing, resource exhaustion, or + similar activities +* Modify, redistribute, or deploy the provided devcontainer.json or + setup.sh script for the purpose of bypassing platform limits, consuming + excessive resources, evading service restrictions, or conducting abusive + activities +* Use the provided devcontainer.json, development container environment, + or derivative configurations for any purpose other than legitimate + development, testing, maintenance, or contribution to this project +* Circumvent, disable, interfere with, or attempt to bypass repository + protections, workflow limitations, usage quotas, security controls, or + platform restrictions + +Security and Vulnerability Restrictions + +You MAY NOT: + +* Use this work or derivative works to perform, facilitate, encourage, or + support denial-of-service (DoS), distributed denial-of-service (DDoS), + chat/tellraw flood ("chat DDoS"), packet flooding, traffic flooding, + service disruption, or resource exhaustion attacks against any server, + network, or player +* Use, weaponize, distribute, demonstrate, facilitate, or automate the + exploitation of zero-day or known-but-unpatched vulnerabilities in + Minecraft, Minecraft servers, Minecraft plugins, Minecraft mods, or + related tooling — including but not limited to vulnerabilities of the + same class as Log4Shell (CVE-2021-44228) or similar remote-code-execution + flaws in server-side logging, networking, or dependency libraries +* Use this work to conduct unauthorized access attempts, credential + attacks, phishing campaigns, spam operations, botnet activity, malicious + automation, or similar abusive behavior +* Use this work in any manner intended to disrupt, damage, degrade, + interfere with, or negatively impact systems, networks, infrastructure, + services, repositories, or users +* Introduce malware, backdoors, spyware, unauthorized telemetry, + destructive code, exploits, or other harmful functionality into this + work or derivative works + +General + +* Removing, obscuring, altering, or falsifying copyright or authorship + information does not relieve you of the obligations in this NOTICE +* The copyright holder reserves the right to deny permission for uses that + conflict with the intended purpose of this project, community safety, + infrastructure integrity, security, or fair and responsible use diff --git a/packs/macroEngine/README.md b/packs/macroEngine/README.md new file mode 100644 index 00000000..f7217628 --- /dev/null +++ b/packs/macroEngine/README.md @@ -0,0 +1,141 @@ +# 🔧 macroEngine + +**Minecraft Java Edition 26.2 | Multiplayer-Safe | Pure Datapack** + +[![CI](https://github.com/runtoolkit/macroEngine/actions/workflows/ci.yml/badge.svg)](https://github.com/runtoolkit/macroEngine/actions/workflows/ci.yml) +[![License: MIT](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE) + +--- +> Current version: **v6.0.2** +--- + +> **This datapack was considered safe to use as of its last release, but it no longer receives security improvements, bug fixes, or new features. There is no "up to date" version to move to.** +> +> **Do not copy `macroengine:input` or `macroengine:engine` into your own datapack.** It is an internal implementation detail and may change without notice between releases. + +> ⚠️ **Do not use v5.1.1.** That version bound `_rt_origin.mcfunction` to the load tag, causing it to run automatically on every load with no safe removal path. Fixed in later versions — always use the latest release. + +--- + +> ⚠️ A `/reload` is still required after installation or after adding the load hook below. Automatic first-join initialization is not implemented in this version — do not rely on this until verified in-game with repeated reloads. + +--- + +> 🛡️ **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. +> **Only download from this official repository.** Do not trust redistributed or repackaged versions from third-party sources. + +--- + +## 📦 Installation + +1. Download the latest release from the [Modrinth versions page](https://modrinth.com/datapack/macroengine/versions) and place the `.zip` into `/datapacks/`. + +2. Add the following logic to your datapack's `load` tag. Replace `` with your own datapack's namespace (e.g. `mypack`) — this applies only to the function names, never to `macroengine:engine`, which is MacroEngine's own fixed storage and must not be changed: + +```mcfunction +#> :load +execute unless data storage macroengine:engine {global:{loaded:1b}} run function :load_macroengine +``` + +```mcfunction +#> :load_macroengine + +# Guard checks the SAME storage/path the trigger condition checks (macroengine:engine global.loaded). +execute if data storage macroengine:engine {global:{loaded:1b}} run return 0 + +function macroengine_load:main + +data modify storage macroengine:engine global.loaded set value 1b +``` + +
+Fixed bug: duplicate load trigger (click to expand) + +An earlier version checked `macroengine:engine {global:{loaded:1b}}` in the trigger but set `:engine loaded_macroengine` in the guard — two different storages, two different paths. The set never satisfied the trigger's condition, so `load_macroengine` re-ran every time the load tag fired. This doesn't crash anything, but it silently re-triggers `dl_load:load/yes` and `fork_no` on every reload, which can accumulate side effects depending on what those functions do. + +Both the check and the set must target `macroengine:engine global.loaded`. If you're updating from an older copy of this README, verify by reloading multiple times and confirming `load_macroengine` does NOT re-run after the first load. + +
+ +--- + +## 🏗️ Storage Architecture + +``` +macroengine:engine (persistent data) +├── global +│ ├── version: "v6.0.2" +│ ├── loaded: 1b +│ └── tick: +├── players +│ └── Steve { coins:150, level:5, xp:2300, online:1b, ... } +├── queue +│ └── [{func:"mypack:event/end", delay:100}] +├── cooldowns +│ └── Steve { fireball: 2460, dash: 1870 } ← expiry ticks +└── events + └── on_join: [{func:"mypack:welcome"}, {func:"mypack:xp_bonus"}] + +macroengine:input (sending data to a function) +macroengine:output (receiving results from a function) +``` + +**Note:** All MacroEngine-owned state lives under the `macroengine:` namespace only. Never mix a consuming pack's own namespace into MacroEngine's load-flag logic — that mismatch was the source of the bug above. + +--- + +## 📦 Dependencies + +### Lantern Load +**Repository:** https://github.com/LanternMC/load +**License:** BSD 0-Clause (public domain) + +Provides deterministic load order, version tracking, and pre/load/post-load hooks. + +```mcfunction +# Check if MacroEngine is loaded +execute if score #MacroEngine load.status matches 1.. run say MacroEngine is loaded + +# Get version (major*10000 + minor*100 + patch → v6.0.2 = 601) +scoreboard players get #MacroEngine load.status +``` + +### StringLib +**Repository:** https://github.com/CMDred/StringLib +**License:** MIT + +Bundled under the `stringlib` namespace. Exposed via `macroengine:core/lib/string/*`. + +| Function | Description | +|---|---| +| `lib/string/concat` | Join a string array | +| `lib/string/find` | Find substring index | +| `lib/string/replace` | Replace substring | +| `lib/string/split` | Split by separator | +| `lib/string/insert` | Insert at index | +| `lib/string/to_lowercase` | Lowercase (A–Z, fast) | +| `lib/string/to_uppercase` | Uppercase (a–z, fast) | +| `lib/string/to_number` | String → numeric NBT | +| `lib/string/to_string` | Value → string | + +All functions read from `macroengine:input` and write to `macroengine:output string.result`. + +```mcfunction +data modify storage macroengine:input string set value "Hello World" +data modify storage macroengine:input find set value "World" +data modify storage macroengine:input replace set value "Everyone" +function macroengine:core/lib/string/replace +# macroengine:output string.result → "Hello Everyone" +``` + +## 💬 Support + +**This project is archived. Issues and pull requests are not monitored and will not be actioned.** + +[![Issues](https://img.shields.io/github/issues/runtoolkit/macroEngine?style=for-the-badge)](https://github.com/runtoolkit/macroEngine/issues) +[![Discussions](https://img.shields.io/github/discussions/runtoolkit/macroEngine?style=for-the-badge&logo=github&color=blue)](https://github.com/runtoolkit/macroEngine/discussions) + +--- + +*MacroEngine v6.0.2 | MC Java 26.2 | Pure Datapack* diff --git a/packs/macroEngine/build.gradle b/packs/macroEngine/build.gradle new file mode 100644 index 00000000..ac89016f --- /dev/null +++ b/packs/macroEngine/build.gradle @@ -0,0 +1,403 @@ +import groovy.json.JsonSlurper +import groovy.json.JsonOutput + +plugins { + id 'net.fabricmc.fabric-loom' version '1.15.5' + id 'java' +} + +java { + sourceCompatibility = JavaVersion.VERSION_25 + targetCompatibility = JavaVersion.VERSION_25 +} + +sourceSets { + gametest { + java { + srcDirs = ['src/gametest/java'] + } + resources { + srcDirs = ['src/gametest/resources'] + } + } +} + +afterEvaluate { + configurations { + gametestCompileClasspath.extendsFrom minecraftNamedCompile + gametestRuntimeClasspath.extendsFrom minecraftNamedRuntime + } +} + +repositories { + mavenCentral() + maven { url "https://maven.fabricmc.net/" } +} + +dependencies { + minecraft "com.mojang:minecraft:26.2" + + implementation "net.fabricmc:fabric-loader:0.19.3" + implementation "net.fabricmc.fabric-api:fabric-api:0.155.2+26.2" + + gametestImplementation "net.fabricmc:fabric-loader:0.19.3" + gametestImplementation "net.fabricmc.fabric-api:fabric-api:0.155.2+26.2" +} + +fabricApi { + configureTests { + createSourceSet = false + modId = 'macroengine-testmod' + } +} + +loom { + runs { + gametest { + inherit server + name "Game Test" + vmArg "-Dfabric-api.gametest" + vmArg "-Dfabric-api.gametest.report-file=${project.buildDir}/junit.xml" + runDir "build/gametest" + } + } + + mods { + "macroengine-testmod" { + sourceSet sourceSets.main + sourceSet sourceSets.gametest + } + } +} + +def TARGETS = [ + "full" : 107, + "1_20_5" : 41 // 1.20.5-1.20.6, uses the 1_20_5/data overlay +] + +def macroEngineSrc = file("datapacks/macroEngine") +def extensionsSrc = file("datapacks/macroengine_extensions") + +def buildRoot = layout.buildDirectory.dir("datapack").get().asFile +def distRoot = layout.buildDirectory.dir("dist").get().asFile + +tasks.register("lintJson") { + group = "verification" + description = "Validates every *.json file parses as JSON" + doLast { + def slurper = new JsonSlurper() + def failures = [] + fileTree(projectDir) { + include "**/*.json" + exclude ".git/**" + }.each { f -> + try { + slurper.parse(f) + } catch (Exception e) { + failures << "${f}: ${e.message}" + } + } + if (failures) { + failures.each { logger.error("JSON error: ${it}") } + throw new GradleException("${failures.size()} invalid JSON file(s) found.") + } + logger.lifecycle("All JSON files valid.") + } +} + +tasks.register("lintMcfunctionPrecheck") { + group = "verification" + description = "Scans *.mcfunction files for BOM, null bytes, CRLF" + doLast { + def errors = 0 + fileTree(projectDir) { + include "**/*.mcfunction" + exclude ".git/**" + }.each { f -> + byte[] bytes = f.bytes + if (bytes.length >= 3 && (bytes[0] & 0xFF) == 0xEF && (bytes[1] & 0xFF) == 0xBB && (bytes[2] & 0xFF) == 0xBF) { + logger.error("BOM detected: ${f}") + errors++ + } + if (bytes.any { it == 0 }) { + logger.error("Null byte detected: ${f}") + errors++ + } + if (bytes.any { it == (byte) 0x0D }) { + logger.error("CRLF line endings: ${f}") + errors++ + } + } + if (errors > 0) { + throw new GradleException("${errors} issue(s) found in .mcfunction files.") + } + logger.lifecycle("mcfunction pre-check passed.") + } +} + +tasks.register("lintMecha", Exec) { + group = "verification" + description = "Runs mecha against a patched scratch copy of the datapack" + dependsOn "lintMcfunctionPrecheck" + + def scratch = layout.buildDirectory.dir("mecha-scratch").get().asFile + + doFirst { + delete(scratch) + mkdir(scratch) + copy { + from(projectDir) { + exclude "build/**", ".git/**", ".github/**" + } + into(scratch) + } + + fileTree(scratch) { include "**/*.mcfunction" }.each { f -> + def text = f.getText("UTF-8") + def patched = text + .replaceAll(/([a-z0-9._-]+): _/, '$1:_') + .replaceAll(/time of [a-z0-9_:.-]+ /, 'time ') + .replace('time query day repetition', 'time query daytime') + if (patched != text) { + f.setText(patched, "UTF-8") + } + } + + ProcessBuilder pb = new ProcessBuilder("pip", "install", "-q", "git+https://github.com/mcbeet/mecha.git") + pb.inheritIO() + Process process = pb.start() + process.waitFor() + } + + workingDir = scratch + commandLine "mecha", "." +} + +tasks.register("lintPackMcmeta") { + group = "verification" + description = "Checks pack.mcmeta exists and is valid JSON for macroEngine and macroengine_extensions" + doLast { + [new File(macroEngineSrc, "pack.mcmeta"), new File(extensionsSrc, "pack.mcmeta")].each { meta -> + if (!meta.exists()) { + throw new GradleException("${meta} is missing!") + } + new JsonSlurper().parse(meta) + } + logger.lifecycle("pack.mcmeta files valid.") + } +} + +tasks.register("lint") { + group = "verification" + description = "Runs all datapack lint checks" + dependsOn "lintJson", "lintMcfunctionPrecheck", "lintMecha", "lintPackMcmeta" +} + +def buildTasks = [] + +TARGETS.each { label, packFormat -> + def stageDir = new File(buildRoot, label) + + def prepareTask = tasks.register("prepare${label.capitalize()}") { + group = "build" + description = "Assembles the ${label} datapack variant into build/datapack/${label}" + + doLast { + delete(stageDir) + mkdir(stageDir) + + // FIX: 1_20_5/ overlay source klasoru artik base kopyadan haric tutuluyor. + // Eskiden buradaki exclude olmadigi icin datapacks/macroEngine/1_20_5/** + // stageDir/1_20_5/... olarak da kopyalaniyordu; asagidaki overlay copy'si + // sadece stageDir/data/ uzerine yaziyordu ama base kopyada 1_20_5 klasoru + // data/ ile ayni isim uzayinda bir namespace/klasorle cakisirsa (ör. bir + // namespace'in adi "1_20_5" olsaydi ya da baska bir surec bu klasoru + // data/ altina tasiyip birlestirseydi) override ile base içerik karisirdi. + // Net kural: overlay kaynagi ASLA base kopyanin parcasi olmamali, sadece + // explicit ikinci copy adimiyla data/ altina uygulanmali. + copy { + from(macroEngineSrc) { + exclude "1_20_5/**" + } + into(stageDir) + } + + // 1_20_5 overlay: SADECE "1_20_5" (legacy, pack_format 41) hedefine uygulanir. + // "full" hedefinde uygulanmaz — aksi halde en guncel pack_format'a eski + // surum override'lari karisir ve geriye uyumluluk yamasi ileri surumu bozar. + if (label == "1_20_5") { + def overlay120_5 = new File(macroEngineSrc, "1_20_5/data") + if (overlay120_5.exists()) { + copy { + from(overlay120_5) + into(new File(stageDir, "data")) + } + } + } + + def metaFile = new File(stageDir, "pack.mcmeta") + def meta = new JsonSlurper().parse(metaFile) + meta.pack.pack_format = packFormat + metaFile.text = JsonOutput.prettyPrint(JsonOutput.toJson(meta)) + } + } + + def zipTask = tasks.register("zip${label.capitalize()}", Zip) { + group = "build" + description = "Packages the ${label} datapack variant as a zip artifact" + dependsOn prepareTask + from(stageDir) + destinationDirectory.set(distRoot) + archiveFileName.set("macroEngine-${label}.zip") + } + + buildTasks << zipTask +} + +def extensionsStageDir = new File(buildRoot, "extensions") + +def prepareExtensionsTask = tasks.register("prepareExtensions") { + group = "build" + description = "Assembles macroengine_extensions into build/datapack/extensions" + + doLast { + delete(extensionsStageDir) + mkdir(extensionsStageDir) + copy { + from(extensionsSrc) + into(extensionsStageDir) + } + } +} + +def zipExtensionsTask = tasks.register("zipExtensions", Zip) { + group = "build" + description = "Packages macroengine_extensions as a zip artifact" + dependsOn prepareExtensionsTask + from(extensionsStageDir) + destinationDirectory.set(distRoot) + archiveFileName.set("macroengine_extensions.zip") +} + +buildTasks << zipExtensionsTask + +tasks.register("buildAll") { + group = "build" + description = "Builds every datapack variant (macroEngine + macroengine_extensions) and repacks each zip to pack.mcmeta + pack.png + data/ only" + dependsOn buildTasks + finalizedBy "repack" +} + +tasks.register("repack") { + group = "build" + description = "Trims each dist zip to pack.mcmeta + data/ only, replacing the original" + dependsOn buildTasks + + doLast { + def scratch = layout.buildDirectory.dir("repack-scratch").get().asFile + + distRoot.listFiles({ f -> f.name.endsWith(".zip") } as FileFilter)?.each { zipFile -> + def name = zipFile.name + delete(scratch) + mkdir(scratch) + + // FIX: "1_20_5/data/**" include'u silindi. Tek hedef "full" (pack_format 107), + // nihai zip'te boyle bir klasor OLMAMALI. Bu satir eskiden overlay kaynagindan + // artakalan dosyalari (eger prepare adiminda base kopyaya karismislarsa) sessizce + // zip'e tasiyip, gercek datapack yapisini bozan "1_20_5/" adinda gecersiz bir + // ust klasor birakabiliyordu. Artik repack sadece gercekten var olmasi gereken + // pack.mcmeta + pack.png + data/ icerigini aliyor. + copy { + from(zipTree(zipFile)) { + include "pack.mcmeta" + include "pack.png" + include "data/**" + } + into(scratch) + } + + if (!new File(scratch, "pack.mcmeta").exists()) { + throw new GradleException("${name}: pack.mcmeta missing after filtering — refusing to repack.") + } + + delete(zipFile) + + ant.zip(destfile: zipFile, basedir: scratch) + + logger.lifecycle("Repacked ${name} -> pack.mcmeta + data/ only") + } + } +} + +tasks.register("release") { + group = "publish" + description = "Creates/updates the GitHub release for the full build" + dependsOn "zipFull", "repack" + + doLast { + def metaFile = new File(buildRoot, "full/pack.mcmeta") + def meta = new JsonSlurper().parse(metaFile) + def desc = meta.pack.description + + String version = null + if (desc instanceof List) { + desc.each { entry -> + if (entry instanceof Map && entry.text) { + def m = (entry.text =~ /^\s*\|\s*(v[0-9][^\s]*)/) + if (m.find()) version = m.group(1) + } + } + } else if (desc instanceof String) { + def m = (desc =~ /v[\d.]+/) + if (m.find()) version = m.group(0) + } + version = version ?: "latest" + + def zip = new File(distRoot, "macroEngine-full.zip") + + providers.exec { commandLine "bash", "-c", "gh release delete '${version}' --yes 2>/dev/null || true" }.result.get() + providers.exec { commandLine "bash", "-c", "git push origin ':refs/tags/${version}' 2>/dev/null || true" }.result.get() + providers.exec { + commandLine "gh", "release", "create", version, + "--title", "MacroEngine ${version}", + "--notes", "**Datapack build** (pack_format 107).", + "--latest", + "${zip}#macroEngine-full.zip" + }.result.get() + logger.lifecycle("Released ${version}") + } +} + +tasks.register('createSourceArchive', Copy) { + description = 'Copies project files into the archive directory, excluding .git' + from(rootDir) { + exclude 'archive/**' + exclude '.github/**' + exclude '.git/**' + } + into layout.buildDirectory.dir('archive/source') +} + +tasks.register('copyGitHistory', Copy) { + description = 'Copies git history into the archive directory' + dependsOn createSourceArchive + from(rootDir) { + include '.git/**' + } + into layout.buildDirectory.dir('archive/source') +} + +tasks.register('createSourceZip', Zip) { + description = 'Creates source-with-history.zip' + dependsOn copyGitHistory + from layout.buildDirectory.dir('archive/source') + archiveFileName = 'source-with-history.zip' + destinationDirectory = layout.buildDirectory.dir('archive') +} + +tasks.register("runMainTestClient", JavaExec) { + group = "verification" + description = "Runs Main.java Test Client standalone" + classpath = sourceSets.gametest.runtimeClasspath + mainClass = "io.runtoolkit.macroengine.Main" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/functions/_private/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/functions/_private/init.mcfunction new file mode 100644 index 00000000..6f239ff5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/functions/_private/init.mcfunction @@ -0,0 +1,3 @@ +# Reset scoreboards so packs can set values accurate for current load. +scoreboard objectives add load.status dummy +scoreboard players reset * load.status diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/init.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/init.json new file mode 100644 index 00000000..1282afac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/init.json @@ -0,0 +1,5 @@ +{ + "values": [ + "load:_private/init" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/load.json new file mode 100644 index 00000000..cccae36b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/_private/load.json @@ -0,0 +1,8 @@ +{ + "values": [ + "#load:_private/init", + {"id": "#load:pre_load", "required": false}, + {"id": "#load:load", "required": false}, + {"id": "#load:post_load", "required": false} + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/load.json new file mode 100644 index 00000000..3d513ec7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/load.json @@ -0,0 +1,6 @@ +{ + "values": [ + "macroengine_string:zprivate/load", + "#macroengine_player:load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/post_load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/post_load.json new file mode 100644 index 00000000..a761a672 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/post_load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_load:load/post_load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/pre_load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/pre_load.json new file mode 100644 index 00000000..fc1bd0af --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/load/tags/functions/pre_load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine:init/pre_load" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/empty.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/empty.mcfunction new file mode 100644 index 00000000..e69de29b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/load.mcfunction new file mode 100644 index 00000000..d716c32f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/load.mcfunction @@ -0,0 +1,2 @@ +#> minecraft load tag entry +function macroengine_load:main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/tick.mcfunction new file mode 100644 index 00000000..3a84d350 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine.main/functions/macroengine/tick.mcfunction @@ -0,0 +1,14 @@ +#> This is the main function, that will run once per tick + +# Config-level pause guard (separate from the storage-level pause in core/tick.mcfunction) +execute if score #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta matches 1 run return 0 + +# Ensure tick config defaults exist (idempotent, only fills missing keys) +execute unless score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function macroengine:config/tick_cfg + +# If tick.rate is not >= 1, skip the real tick work and run the no-op once instead +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches ..0 run function macroengine.main:empty +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches ..0 run return 0 + +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function macroengine:core/tick +execute as @a if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function #macroengine:loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/hidden/root.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/hidden/root.json new file mode 100644 index 00000000..0572c855 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/hidden/root.json @@ -0,0 +1,16 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "title": { "text": "" }, + "description": { "text": "" }, + "icon": { "id": "minecraft:barrier" }, + "frame": "task", + "show_toast": false, + "announce_to_chat": false, + "hidden": true + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/break_block.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/break_block.json new file mode 100644 index 00000000..ef5b7e72 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/break_block.json @@ -0,0 +1,16 @@ +{ + "criteria": { + "tool_durability_lost": { + "trigger": "minecraft:item_durability_changed", + "conditions": { + "delta": { + "max": -1 + } + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_break_block" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/dimension_change.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/dimension_change.json new file mode 100644 index 00000000..5ebebf22 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/dimension_change.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "changed_dimension": { + "trigger": "minecraft:changed_dimension" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_dimension_change" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/eat_food.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/eat_food.json new file mode 100644 index 00000000..677967e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/eat_food.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:consume_item", + "conditions": {} + } + }, + "rewards": { + "function": "macroengine:core/internal/systems/hook/on_eat" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/entity_kill.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/entity_kill.json new file mode 100644 index 00000000..e310f378 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/entity_kill.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "killed_any_entity": { + "trigger": "minecraft:player_killed_entity" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_entity_kill" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/fish_caught.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/fish_caught.json new file mode 100644 index 00000000..480b023b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/fish_caught.json @@ -0,0 +1,19 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:fishing_rod_hooked", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": {}, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine:core/internal/systems/hook/on_fish_caught" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/hero_of_the_village.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/hero_of_the_village.json new file mode 100644 index 00000000..8cdee529 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/hero_of_the_village.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "hero_of_the_village": { + "trigger": "minecraft:hero_of_the_village" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_hero_of_the_village" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_anvil.json new file mode 100644 index 00000000..58e5dd75 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_anvil.json @@ -0,0 +1,25 @@ +{ + "criteria": { + "interact_anvil": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:anvil" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_interact_anvil" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_shulker_box.json new file mode 100644 index 00000000..a2702af4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/interact_shulker_box.json @@ -0,0 +1,41 @@ +{ + "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": "macroengine:systems/hook/on_interact_shulker_box" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/item_use.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/item_use.json new file mode 100644 index 00000000..221340e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/item_use.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "used_any_item": { + "trigger": "minecraft:using_item" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_item_use" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/killed_by_arrow.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/killed_by_arrow.json new file mode 100644 index 00000000..d08fff9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/killed_by_arrow.json @@ -0,0 +1,18 @@ +{ + "criteria": { + "killed_by_arrow": { + "trigger": "minecraft:entity_killed_player", + "conditions": { + "killing_blow": { + "direct_entity": { + "entity_type": "minecraft:arrow" + } + } + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_killed_by_arrow" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/placed_block.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/placed_block.json new file mode 100644 index 00000000..f43152b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/placed_block.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "placed_any_block": { + "trigger": "minecraft:placed_block" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_placed_block" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/trade.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/trade.json new file mode 100644 index 00000000..b896422e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/advancements/systems/hook/trade.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "traded_with_villager": { + "trigger": "minecraft:villager_trade" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_trade" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/cancel.mcfunction new file mode 100644 index 00000000..54629a32 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/cancel.mcfunction @@ -0,0 +1,14 @@ +# macroengine:api/cb/cancel +# ───────────────────────────────────────────────────────────────── +# Clears all pending delayed CB commands from the queue. +# +# No input required. Clears the entire queue. +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# function macroengine:api/cb/cancel +# ───────────────────────────────────────────────────────────────── + +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/list.mcfunction new file mode 100644 index 00000000..00753fb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/list.mcfunction @@ -0,0 +1,10 @@ +# macroengine:api/cb/list +# ───────────────────────────────────────────────────────────────── +# Prints pending queue entries to the executor. +# Shows each queued command and its remaining ticks. +# ───────────────────────────────────────────────────────────────── + +execute store result score #cb_queue_size macroengine.tmp run data get storage macroengine:engine cb_queue +execute if score #cb_queue_size macroengine.tmp matches 0 run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"Queue is empty","color":"gray"}] +execute unless score #cb_queue_size macroengine.tmp matches 0 run tellraw @s [{"text":"[MACROENGINE/cb] Queue (","color":"#00AAAA","bold":true},{"score":{"name":"#cb_queue_size","objective":"macroengine.tmp"}},{"text":" entries):","color":"#00AAAA","bold":true}] +execute unless score #cb_queue_size macroengine.tmp matches 0 run tellraw @s {"nbt":"cb_queue","plain":true ,"storage":"macroengine:engine","interpret":false} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/queue_size.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/queue_size.mcfunction new file mode 100644 index 00000000..a9c6063f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/queue_size.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/cb/queue_size +# ───────────────────────────────────────────────────────────────── +# Returns the number of pending delayed CB commands. +# Result is stored in score #cb_queue_size macroengine.tmp. +# +# EXAMPLE: +# function macroengine:api/cb/queue_size +# # read: scoreboard players get #cb_queue_size macroengine.tmp +# ───────────────────────────────────────────────────────────────── + +execute store result score #cb_queue_size macroengine.tmp run data get storage macroengine:engine cb_queue diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run.mcfunction new file mode 100644 index 00000000..88ad1170 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run.mcfunction @@ -0,0 +1,30 @@ +# macroengine:api/cb/run +# ───────────────────────────────────────────────────────────────── +# Executes a raw command string via a temporary command block. +# Zero-delay variant: fires next tick, cleaned up 2t later. +# +# INPUT (storage macroengine:input cb): +# cmd (string) — the command to run [REQUIRED] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmd:"say hello"} +# function macroengine:api/cb/run +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required input +execute unless data storage macroengine:input cb.cmd run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmd not set","color":"red"}] +execute unless data storage macroengine:input cb.cmd run return 0 + +# Fill coordinate defaults +function macroengine:core/internal/api/cb/apply_defaults + +# Execute +function macroengine:core/internal/api/cb/exec with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_delayed.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_delayed.mcfunction new file mode 100644 index 00000000..b9d3e0e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_delayed.mcfunction @@ -0,0 +1,32 @@ +# macroengine:api/cb/run_delayed +# ───────────────────────────────────────────────────────────────── +# Schedules a command string to execute via command block after a delay. +# +# INPUT (storage macroengine:input cb): +# cmd (string) — the command to run [REQUIRED] +# delay (int) — delay in ticks [REQUIRED, min 1] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmd:"say delayed!",delay:40} +# function macroengine:api/cb/run_delayed +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required inputs +execute unless data storage macroengine:input cb.cmd run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmd not set","color":"red"}] +execute unless data storage macroengine:input cb.cmd run return 0 +execute unless data storage macroengine:input cb.delay run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.delay not set","color":"red"}] +execute unless data storage macroengine:input cb.delay run return 0 + +# Fill coordinate defaults +function macroengine:core/internal/api/cb/apply_defaults + +# Push to delay queue and schedule flush +function macroengine:core/internal/systems/cb/queue_push with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_sequence.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_sequence.mcfunction new file mode 100644 index 00000000..c8bf049d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cb/run_sequence.mcfunction @@ -0,0 +1,32 @@ +# macroengine:api/cb/run_sequence +# ───────────────────────────────────────────────────────────────── +# Schedules a list of commands to run sequentially, each separated +# by a configurable interval. +# +# INPUT (storage macroengine:input cb): +# cmds (list of strings) — commands to run [REQUIRED, min 1] +# interval (int) — ticks between each command [default: 2] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmds:["say one","say two","say three"],interval:20} +# function macroengine:api/cb/run_sequence +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required input +execute unless data storage macroengine:input cb.cmds[0] run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmds is empty or not set","color":"red"}] +execute unless data storage macroengine:input cb.cmds[0] run return 0 + +# Fill defaults +function macroengine:core/internal/api/cb/apply_defaults +execute unless data storage macroengine:input cb.interval run data modify storage macroengine:input cb.interval set value 2 + +# Expand cmds list into individual delayed queue entries +function macroengine:core/internal/systems/cb/seq_expand +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/actionbar.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/actionbar.mcfunction new file mode 100644 index 00000000..7c0b54b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/actionbar.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s actionbar {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/actionbar ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_check.mcfunction new file mode 100644 index 00000000..4527497d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_check.mcfunction @@ -0,0 +1,4 @@ + +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1,advancements={$(advancement)=true}] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_grant.mcfunction new file mode 100644 index 00000000..0ee29b3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_grant.mcfunction @@ -0,0 +1,3 @@ + +$advancement grant @a[name=$(player),limit=1] only $(advancement) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_grant ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_revoke.mcfunction new file mode 100644 index 00000000..a0c16f34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/advancement_revoke.mcfunction @@ -0,0 +1,3 @@ + +$advancement revoke @a[name=$(player),limit=1] only $(advancement) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_revoke ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/as_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/as_player.mcfunction new file mode 100644 index 00000000..5a5144d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/as_player.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/as_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_add_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_add_modifier.mcfunction new file mode 100644 index 00000000..bf975b42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_add_modifier.mcfunction @@ -0,0 +1,3 @@ + +$attribute @a[name=$(player),limit=1] $(attribute) modifier add $(id) $(amount) $(operation) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_add_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get.mcfunction new file mode 100644 index 00000000..199cfc9c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result double 1 run attribute @a[name=$(player),limit=1] $(attribute) get +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_get ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get_modifier.mcfunction new file mode 100644 index 00000000..53724ead --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_get_modifier.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result double 1 run attribute @a[name=$(player),limit=1] $(attribute) modifier value get $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_get_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_remove_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_remove_modifier.mcfunction new file mode 100644 index 00000000..b03614a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_remove_modifier.mcfunction @@ -0,0 +1,3 @@ + +$attribute @a[name=$(player),limit=1] $(attribute) modifier remove $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_remove_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_set.mcfunction new file mode 100644 index 00000000..ef5fe320 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/attribute_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run attribute @s $(attribute) base set $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban.mcfunction new file mode 100644 index 00000000..250d7f5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban.mcfunction @@ -0,0 +1,8 @@ +# Gated ban: if the gate system is active (macroengine:engine sandbox:1b, the +# default), route through confirmation. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(player) -> exact player name, $(reason) -> ban reason +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"ban",label:"Ban $(player) — $(reason)",action:"macroengine:core/internal/cmd/ban_apply",args:{player:"$(player)",reason:"$(reason)"}} + +$function macroengine:core/internal/cmd/ban_apply {player:"$(player)",reason:"$(reason)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban_ip.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban_ip.mcfunction new file mode 100644 index 00000000..942da632 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ban_ip.mcfunction @@ -0,0 +1,2 @@ +$ban-ip $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ban_ip ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_add.mcfunction new file mode 100644 index 00000000..0a9a75e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_add.mcfunction @@ -0,0 +1,4 @@ + +$bossbar add $(id) {"text":"$(text)"} +$bossbar set $(id) color $(color) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_remove.mcfunction new file mode 100644 index 00000000..5e319661 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_remove.mcfunction @@ -0,0 +1,3 @@ + +$bossbar remove $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_remove ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_max.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_max.mcfunction new file mode 100644 index 00000000..44fa67a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_max.mcfunction @@ -0,0 +1,3 @@ + +$bossbar set $(id) max $(max) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_max ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_players.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_players.mcfunction new file mode 100644 index 00000000..a7d372b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_players.mcfunction @@ -0,0 +1,2 @@ + +$bossbar set $(id) players $(players)$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_players ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_value.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_value.mcfunction new file mode 100644 index 00000000..929a3ed6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/bossbar_set_value.mcfunction @@ -0,0 +1,3 @@ + +$bossbar set $(id) value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_value ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear.mcfunction new file mode 100644 index 00000000..5b2758e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run clear @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear_item.mcfunction new file mode 100644 index 00000000..a6a1cc08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clear_item.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run clear @s $(item) $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clear_item ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone.mcfunction new file mode 100644 index 00000000..d00454fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone.mcfunction @@ -0,0 +1,4 @@ + + +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clone ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone_masked.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone_masked.mcfunction new file mode 100644 index 00000000..8b013608 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/clone_masked.mcfunction @@ -0,0 +1,4 @@ + + +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) masked +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clone_masked ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_me.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_me.mcfunction new file mode 100644 index 00000000..c0ce9ee1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_me.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/console_me [REMOVED] +# +# The /me command produces shell-script-like execution behavior, +# and intent detection is not reliably possible, so this function has been removed. +# See: SECURITY.md — "Intent Detection" section. +# +# Alternative: macroengine:systems/log/info or macroengine:api/cmd/msg +# ───────────────────────────────────────────────────────────────── +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_say.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_say.mcfunction new file mode 100644 index 00000000..c8f9b4ea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/console_say.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/console_say [REMOVED] +# +# /say sends a server-level message to all players; +# it produces shell-script-like execution behavior and intent +# detection is not reliably possible, so this function has been removed. +# See: SECURITY.md — "Intent Detection" section. +# +# Alternative: macroengine:systems/string/announce +# ───────────────────────────────────────────────────────────────── +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage.mcfunction new file mode 100644 index 00000000..d86dc2c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run damage @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/damage ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage_typed.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage_typed.mcfunction new file mode 100644 index 00000000..ce6163d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/damage_typed.mcfunction @@ -0,0 +1,4 @@ + + +$damage @a[name=$(player),limit=1] $(amount) $(damage_type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/damage_typed ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_block.mcfunction new file mode 100644 index 00000000..eb033591 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_block.mcfunction @@ -0,0 +1,4 @@ + + +$data remove block $(x) $(y) $(z) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_block ","color":"aqua"},{"text":"$(x) $(y) $(z) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_entity.mcfunction new file mode 100644 index 00000000..2185bba6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_entity.mcfunction @@ -0,0 +1,4 @@ + + +$data remove entity $(target) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_entity ","color":"aqua"},{"text":"$(target) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_storage.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_storage.mcfunction new file mode 100644 index 00000000..08c57cbf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/data_remove_storage.mcfunction @@ -0,0 +1,11 @@ +# Gated storage removal: if the gate system is active (macroengine:engine +# sandbox:1b, the default), route through confirmation — this command can +# destroy arbitrary storage data (including macroengine's own engine state) so +# it is treated as dangerous. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(storage) -> storage id, e.g. "macroengine:engine" +# $(path) -> NBT path to remove, e.g. "pending_gate" +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"data_remove_storage",label:"Remove storage $(storage) → $(path)",action:"macroengine:core/internal/cmd/data_remove_storage_apply",args:{storage:"$(storage)",path:"$(path)"}} + +$function macroengine:core/internal/cmd/data_remove_storage_apply {storage:"$(storage)",path:"$(path)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/datapack.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/datapack.mcfunction new file mode 100644 index 00000000..2993f500 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/datapack.mcfunction @@ -0,0 +1,3 @@ + +$execute if data storage macroengine:input {action:"disable"} run datapack disable $(pack) +$execute if data storage macroengine:input {action:"enable"} run datapack enable $(pack) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/deop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/deop.mcfunction new file mode 100644 index 00000000..fbb3c19c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/deop.mcfunction @@ -0,0 +1,4 @@ + + +$deop $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/deop ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/difficulty.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/difficulty.mcfunction new file mode 100644 index 00000000..f8572abe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/difficulty.mcfunction @@ -0,0 +1,4 @@ + + +$difficulty $(level) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/difficulty ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(level)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/disable.mcfunction new file mode 100644 index 00000000..09caa63d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/disable.mcfunction @@ -0,0 +1 @@ +function macroengine:core/disable/main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/display_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/display_name.mcfunction new file mode 100644 index 00000000..fd845564 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/display_name.mcfunction @@ -0,0 +1,3 @@ + +$data modify entity @e[type=$(type),tag=$(tag),limit=1] CustomName set value '$(name)' +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/display_name ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear.mcfunction new file mode 100644 index 00000000..74a767d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect clear @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear_one.mcfunction new file mode 100644 index 00000000..61eb3fcd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_clear_one.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect clear @s $(effect) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_clear_one ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give.mcfunction new file mode 100644 index 00000000..7e3c9d8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect give @s $(effect) $(duration) $(amplifier) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give_all.mcfunction new file mode 100644 index 00000000..cb8d578e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/effect_give_all.mcfunction @@ -0,0 +1,3 @@ + +$effect give @a $(effect) $(duration) $(amplifier) $(hide) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_give_all ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/enchant.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/enchant.mcfunction new file mode 100644 index 00000000..21d7c1bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/enchant.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run enchant @s $(enchantment) $(level) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/enchant ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(enchantment)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/execute_if_pred.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/execute_if_pred.mcfunction new file mode 100644 index 00000000..ac0dec50 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/execute_if_pred.mcfunction @@ -0,0 +1 @@ +$execute as @a[limit=1] if predicate $(predicate) run $(command) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/fill.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/fill.mcfunction new file mode 100644 index 00000000..592ea021 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/fill.mcfunction @@ -0,0 +1,3 @@ + +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/fill ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_add.mcfunction new file mode 100644 index 00000000..0d93aa00 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_add.mcfunction @@ -0,0 +1,3 @@ + +$forceload add $(x) $(z) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/forceload_add ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_remove.mcfunction new file mode 100644 index 00000000..3ba641a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/forceload_remove.mcfunction @@ -0,0 +1,4 @@ + + +$forceload remove $(x) $(z) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/forceload_remove ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/freeze.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/freeze.mcfunction new file mode 100644 index 00000000..7abd2b90 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/freeze.mcfunction @@ -0,0 +1,26 @@ + +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze +# Freezes a player in place using an invisible marker armor stand. +# Every tick the frozen player is teleported back to the stand's +# position, preventing any movement. This is the only reliable +# vanilla method — player NBT is read-only so FrozenTicks cannot +# be set, and Slowness 255 alone does not stop client-side movement. +# +# On freeze: a marker armor stand is summoned at the player's feet, +# the player's macroengine.pid is copied to the stand's macroengine.freeze_id, +# and the player receives the macroengine.frozen tag. +# +# The per-tick teleport back is handled by: +# macroengine:api/cmd/freeze/internal/tick (hooked via #macroengine:events/on_tick) +# +# Use macroengine:api/cmd/unfreeze to release. +# +# INPUT : $(player) → exact player name +# +# EXAMPLE: +# function macroengine:api/cmd/freeze {player:"Steve"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),tag=!macroengine.frozen,limit=1] run function macroengine:core/internal/api/cmd/freeze/apply +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/freeze ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"translate":"macroengine.msg.freeze","color":"#00aaff","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/function.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/function.mcfunction new file mode 100644 index 00000000..6e2b4b5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/function.mcfunction @@ -0,0 +1,2 @@ + +$execute as @a[limit=1,name="(target)] at @a[name=$(target)] run function $(func) with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamemode.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamemode.mcfunction new file mode 100644 index 00000000..813593cc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamemode.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run gamemode $(mode) @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/gamemode ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamerule.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamerule.mcfunction new file mode 100644 index 00000000..b858110a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/gamerule.mcfunction @@ -0,0 +1,4 @@ + + +$gamerule $(rule) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/gamerule ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(rule)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give.mcfunction new file mode 100644 index 00000000..6506a531 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run give @s $(item) $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give_one.mcfunction new file mode 100644 index 00000000..8fca282d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/give_one.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run give @s $(item) 1 +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/give_one ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/heal.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/heal.mcfunction new file mode 100644 index 00000000..87e9ebff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/heal.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect give @s minecraft:instant_health 1 $(amount) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/heal ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_modify.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_modify.mcfunction new file mode 100644 index 00000000..259bfceb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_modify.mcfunction @@ -0,0 +1,3 @@ + +$item modify entity @a[name=$(player),limit=1] $(slot) $(modifier) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/item_modify ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_rename.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_rename.mcfunction new file mode 100644 index 00000000..48d3ded6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/item_rename.mcfunction @@ -0,0 +1,3 @@ + +$item modify entity @a[name=$(player),limit=1] $(slot) $(modifier) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/item_rename ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kick.mcfunction new file mode 100644 index 00000000..32431274 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kick.mcfunction @@ -0,0 +1,8 @@ +# Gated kick: if the gate system is active (macroengine:engine sandbox:1b, the +# default), route through confirmation. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(player) -> exact player name, $(reason) -> kick reason +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"kick",label:"Kick $(player) — $(reason)",action:"macroengine:core/internal/cmd/kick_apply",args:{player:"$(player)",reason:"$(reason)"}} + +$function macroengine:core/internal/cmd/kick_apply {player:"$(player)",reason:"$(reason)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kill.mcfunction new file mode 100644 index 00000000..d7347e5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/kill.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run kill @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/kill ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/locate_structure.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/locate_structure.mcfunction new file mode 100644 index 00000000..e9906395 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/locate_structure.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run locate structure $(structure) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/locate_structure ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(structure)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_drop.mcfunction new file mode 100644 index 00000000..9f8c3c88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_drop.mcfunction @@ -0,0 +1,3 @@ + +$loot spawn $(x) $(y) $(z) loot $(loot_table) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/loot_drop ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_give.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_give.mcfunction new file mode 100644 index 00000000..908efcbe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/loot_give.mcfunction @@ -0,0 +1,3 @@ + +$loot give @a[name=$(player),limit=1] loot $(loot_table) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/loot_give ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg.mcfunction new file mode 100644 index 00000000..621bcadf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg.mcfunction @@ -0,0 +1,2 @@ + +$tellraw @a[name=$(player),limit=1] {"text":"$(message)","color":"gray","italic":true} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg_raw.mcfunction new file mode 100644 index 00000000..133e6596 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/msg_raw.mcfunction @@ -0,0 +1,2 @@ + +$tellraw $(player) $(json) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/op.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/op.mcfunction new file mode 100644 index 00000000..330adde2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/op.mcfunction @@ -0,0 +1,4 @@ + + +$op $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/op ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/action_run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/action_run.mcfunction new file mode 100644 index 00000000..a3fec7e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/action_run.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run function macroengine:api/cmd/$(type) $(arguments) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/action_run ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd.mcfunction new file mode 100644 index 00000000..729ad82b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/cmd/other/multi_cmd [MACRO] +# Executes a list of commands in order. +# INPUT (macro args): $(commands) — list of command strings/objects +# +# SECURITY: sets multiCommands.type = "multi_cmd" before run. +# Type is validated against security.multi_type_allowlist before execution. +# Invalid or unlisted types trigger type_violation (log + kick). + +# Tag type — must be done before validation +data modify storage macroengine:engine multiCommands.type set value "multi_cmd" +data modify storage macroengine:engine multiCommands.active set value 1b + +# Validate type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.active + +$data modify storage macroengine:engine _mcmd_queue set value $(commands) +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +execute at @s run function macroengine:api/cmd/other/multi_cmd/run +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/multi_cmd ","color":"aqua"},{"text":"▶ executing batch","color":"#555555"}] + +# Clear type marker +data remove storage macroengine:engine multiCommands.type +data remove storage macroengine:engine multiCommands.active diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction new file mode 100644 index 00000000..bd758a35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction @@ -0,0 +1,26 @@ +# macroengine:api/cmd/other/multi_cmd/advanced/run_with_options +# Run with advanced options. +# +# INPUT (storage macroengine:input): +# list → command list (string or object) +# options → {priority_sort:1b, spread_ticks:0, error_mode:"continue", profile:1b, type:"..."} +# +# SECURITY: if options.type is set, validates it against multi_type_allowlist. +# Invalid type → type_violation (log + kick) + abort. + +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list +execute unless data storage macroengine:input options run data modify storage macroengine:input options set value {} +data modify storage macroengine:engine _mcmd_options merge from storage macroengine:input options + +# Validate options.type if caller explicitly specified one +execute if data storage macroengine:engine _mcmd_options.type run data modify storage macroengine:engine multiCommands.type set from storage macroengine:engine _mcmd_options.type + +execute unless data storage macroengine:engine _mcmd_options.error_mode run data modify storage macroengine:engine _mcmd_options.error_mode set value "continue" +execute unless data storage macroengine:engine _mcmd_options.profile run data modify storage macroengine:engine _mcmd_options.profile set value 0b +execute unless data storage macroengine:engine _mcmd_options.spread_ticks run data modify storage macroengine:engine _mcmd_options.spread_ticks set value 0 + +execute if data storage macroengine:engine _mcmd_options{priority_sort:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority +execute if data storage macroengine:engine _mcmd_options.spread_ticks unless data storage macroengine:engine _mcmd_options{spread_ticks:0} run return run function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread + +function macroengine:api/cmd/other/multi_cmd/run +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/advanced ","color":"aqua"},{"text":"✔ with options","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input.mcfunction new file mode 100644 index 00000000..c0939ed3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/from_input +# Execute a simple command list (backward compatible) +# +# INPUT (storage macroengine:input): +# list → command list ["cmd1", "cmd2", ...] +# +# EXAMPLE: +# data modify storage macroengine:input list set value ["say Hello", "say World"] +# function macroengine:api/cmd/other/multi_cmd/from_input +# ───────────────────────────────────────────────────────────────── + +# Copy list to queue +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list + +# Set default options +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +# Execute +function macroengine:api/cmd/other/multi_cmd/run + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/from_input ","color":"aqua"},{"text":"▶ list → run","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input_as.mcfunction new file mode 100644 index 00000000..67686bfa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/from_input_as.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/from_input_as +# Execute as a specific selector +# +# INPUT (storage macroengine:input): +# list → komut listesi +# selector → entity selector (default: @s) +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:input selector run data modify storage macroengine:input selector set value "@s" + +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_as_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run.mcfunction new file mode 100644 index 00000000..757181d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run +# Execute queued commands +# ───────────────────────────────────────────────────────────────── + +# Reset statistics +execute if data storage macroengine:engine _mcmd_options{profile:1b} run data modify storage macroengine:engine _mcmd_stats set value {total:0,success:0,failed:0,start_time:0} +execute if data storage macroengine:engine _mcmd_options{profile:1b} run execute store result storage macroengine:engine _mcmd_stats.start_time int 1 run time query gametime + +# Start recursive stepping +function macroengine:core/internal/api/cmd/other/multi_cmd/step + +# Cleanup +function macroengine:core/internal/api/cmd/other/multi_cmd/cleanup + +# Show statistics +execute if data storage macroengine:engine _mcmd_options{profile:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/show_stats + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/run ","color":"aqua"},{"text":"✔ batch done","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_as.mcfunction new file mode 100644 index 00000000..b79693fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_as.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_as +# Run queue as a specific entity +# +# INPUT (storage macroengine:input): +# selector → entity selector +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_as_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_at.mcfunction new file mode 100644 index 00000000..796ee4ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_at.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_at +# Run queue at a specific location +# +# INPUT (storage macroengine:input): +# selector → entity selector +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_at_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_func.mcfunction new file mode 100644 index 00000000..2e1b17fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/run_func.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_func +# Run function list +# +# INPUT (storage macroengine:input): +# list → function list ["pack:func1", "pack:func2"] +# ───────────────────────────────────────────────────────────────── + +# Convert strings to {func:"..."} format +data modify storage macroengine:engine _mcmd_queue set value [] +function macroengine:core/internal/api/cmd/other/multi_cmd/func_convert_loop + +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} +function macroengine:api/cmd/other/multi_cmd/run + +data remove storage macroengine:engine _mcmd_func_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/add_command.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/add_command.mcfunction new file mode 100644 index 00000000..d305f52c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/add_command.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/add_command +# Add a command to queue at runtime +# +# INPUT (storage macroengine:input): +# cmd or func → command/function to add +# ───────────────────────────────────────────────────────────────── + +execute if data storage macroengine:input cmd run data modify storage macroengine:engine _mcmd_queue append value {} +execute if data storage macroengine:input cmd run data modify storage macroengine:engine _mcmd_queue[-1].cmd set from storage macroengine:input cmd + +execute if data storage macroengine:input func run data modify storage macroengine:engine _mcmd_queue append value {} +execute if data storage macroengine:input func run data modify storage macroengine:engine _mcmd_queue[-1].func set from storage macroengine:input func + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/utils/add ","color":"aqua"},{"text":"✔ added to queue","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction new file mode 100644 index 00000000..5150251b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction @@ -0,0 +1,7 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/clear_queue +# Clear the queue +# ───────────────────────────────────────────────────────────────── + +data remove storage macroengine:engine _mcmd_queue +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/utils/clear ","color":"aqua"},{"text":"✔ queue cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/get_stats.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/get_stats.mcfunction new file mode 100644 index 00000000..f62a31f9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/get_stats.mcfunction @@ -0,0 +1,6 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/get_stats +# Mevcut istatistikleri macroengine:output'a kopyala +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output stats set from storage macroengine:engine _mcmd_stats diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction new file mode 100644 index 00000000..248b26b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output multiCommands.executed set value 0b + +execute at @s store success storage macroengine:output multiCommands.executed byte 1 unless function macroengine:api/cmd/other/multi_cmd/advanced/run_with_options run return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd_adv.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd_adv.mcfunction new file mode 100644 index 00000000..49b65796 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/multi_cmd_adv.mcfunction @@ -0,0 +1,22 @@ +# macroengine:api/cmd/other/multi_cmd_adv [MACRO] +# Advanced multi-command execution with options. +# INPUT (macro args): $(list) — command list; $(options) — options compound +# +# SECURITY: sets multiCommands.type = "multi_cmd_adv" before run. +# Type is validated against security.multi_type_allowlist before execution. + +# Tag type +data modify storage macroengine:engine multiCommands.type set value "multi_cmd_adv" +data modify storage macroengine:engine multiCommands.active set value 1b + +# Validate type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.active + +$data merge storage macroengine:input {list:$(list),options:$(options)} + +function macroengine:api/cmd/other/multi_cmd/advanced/run_with_options + +# Clear type marker +data remove storage macroengine:engine multiCommands.type +data remove storage macroengine:engine multiCommands.active diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_as_uuid.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_as_uuid.mcfunction new file mode 100644 index 00000000..34bd8b3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_as_uuid.mcfunction @@ -0,0 +1 @@ + $execute as @a[nbt={UUID:$(uuid)}] run $(cmd) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_nearest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_nearest.mcfunction new file mode 100644 index 00000000..f9a05e88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_nearest.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[sort=nearest,limit=1] at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_nearest ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_random.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_random.mcfunction new file mode 100644 index 00000000..b026191d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_random.mcfunction @@ -0,0 +1,2 @@ +$execute as @r at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_self ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_self.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_self.mcfunction new file mode 100644 index 00000000..a771af37 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/run_self.mcfunction @@ -0,0 +1,2 @@ +$execute as @s at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_self ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_reset.mcfunction new file mode 100644 index 00000000..02020e83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_reset.mcfunction @@ -0,0 +1,2 @@ +$data modify storage $(storageName) $(nbt) set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/storage_reset ","color":"aqua"},{"text":"$(storageName)","color":"white"},{"text":".","color":"#555555"},{"text":"$(nbt)","color":"aqua"},{"text":" → []","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_set.mcfunction new file mode 100644 index 00000000..d2a57b4b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/other/storage_set.mcfunction @@ -0,0 +1,2 @@ +$execute at @s run data modify storage $(storageName) $(nbt) set $(actionType) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/storage_set ","color":"aqua"},{"text":"$(storageName)","color":"white"},{"text":".","color":"#555555"},{"text":"$(nbt)","color":"aqua"},{"text":" ← ","color":"#555555"},{"text":"$(value)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/particle.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/particle.mcfunction new file mode 100644 index 00000000..b62ef612 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/particle.mcfunction @@ -0,0 +1,3 @@ + +$particle $(name) $(x) $(y) $(z) $(dx) $(dy) $(dz) $(speed) $(count) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/particle ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_feature.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_feature.mcfunction new file mode 100644 index 00000000..9e879690 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_feature.mcfunction @@ -0,0 +1,4 @@ + + +$place feature $(feature) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/place_feature ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(feature)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_structure.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_structure.mcfunction new file mode 100644 index 00000000..0eaf5ac5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/place_structure.mcfunction @@ -0,0 +1,4 @@ + + +$place structure $(structure) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/place_structure ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(structure)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/publish.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/publish.mcfunction new file mode 100644 index 00000000..7c9b4784 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/publish.mcfunction @@ -0,0 +1,3 @@ + + +$publish $(allow_commands) $(game_mode) $(port) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride.mcfunction new file mode 100644 index 00000000..1b359812 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride.mcfunction @@ -0,0 +1,3 @@ + +$ride @a[name=$(player),limit=1] mount $(vehicle) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ride ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(vehicle)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride_dismount.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride_dismount.mcfunction new file mode 100644 index 00000000..2398a9e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/ride_dismount.mcfunction @@ -0,0 +1,3 @@ + +$ride @a[name=$(player),limit=1] dismount +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ride_dismount ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_cb_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_cb_reset.mcfunction new file mode 100644 index 00000000..20a6bb13 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_cb_reset.mcfunction @@ -0,0 +1,4 @@ +data modify block 0 -64 0 auto set value 0b +setblock 0 -64 0 minecraft:air replace + +forceload remove 0 0 \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_with_cb.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_with_cb.mcfunction new file mode 100644 index 00000000..3562155a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/run_with_cb.mcfunction @@ -0,0 +1,9 @@ +# Add forceload +forceload add 0 0 + +# Execute command from storage using marker + command block +setblock 0 -64 0 minecraft:command_block{Command:"",auto:0b,TrackOutput:0b} replace +data modify block 0 -64 0 Command set from storage macroengine:input cmd +data modify block 0 -64 0 auto set value 1b + +schedule function macroengine:api/cmd/run_cb_reset 2t replace \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_add.mcfunction new file mode 100644 index 00000000..f796e2d3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run scoreboard players add @s $(objective) $(amount) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_get.mcfunction new file mode 100644 index 00000000..dc571af1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result int 1 run scoreboard players get @a[name=$(player),limit=1] $(objective) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_get ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_set.mcfunction new file mode 100644 index 00000000..e2f1944d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/scoreboard_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run scoreboard players set @s $(objective) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/set_clock_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/set_clock_rate.mcfunction new file mode 100644 index 00000000..65230dd7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/set_clock_rate.mcfunction @@ -0,0 +1,6 @@ + +# DL - World Clock Rate Controller +$time rate $(rate) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"clock/rate_updated ","color":"aqua"},{"text":"* ","color":"white"},{"text":"to ","color":"gray"},{"text":"$(rate)x","color":"gold"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/setblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/setblock.mcfunction new file mode 100644 index 00000000..c1072309 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/setblock.mcfunction @@ -0,0 +1,4 @@ + + +$setblock $(x) $(y) $(z) $(block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/setblock ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound.mcfunction new file mode 100644 index 00000000..5d4da496 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run playsound $(sound) master @s ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/sound ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound_all.mcfunction new file mode 100644 index 00000000..f064b564 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/sound_all.mcfunction @@ -0,0 +1,3 @@ + +$playsound $(sound) master @a ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/sound_all ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate.mcfunction new file mode 100644 index 00000000..e5d5fe7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run spectate $(target) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spectate ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate_stop.mcfunction new file mode 100644 index 00000000..ea090973 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spectate_stop.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run spectate +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spectate_stop ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spreadplayers.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spreadplayers.mcfunction new file mode 100644 index 00000000..140de078 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/spreadplayers.mcfunction @@ -0,0 +1,4 @@ + + +$spreadplayers $(cx) $(cz) $(spread) $(max_range) false $(target) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spreadplayers ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/stopsound.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/stopsound.mcfunction new file mode 100644 index 00000000..f74d5599 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/stopsound.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run stopsound @s $(category) $(sound) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/stopsound ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/storage_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/storage_set.mcfunction new file mode 100644 index 00000000..8717f22b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/storage_set.mcfunction @@ -0,0 +1,3 @@ + +$data modify storage $(storage) $(nbt) set $(actionType) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/storage_set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/subtitle.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/subtitle.mcfunction new file mode 100644 index 00000000..177ed9b2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/subtitle.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s subtitle {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/subtitle ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/summon.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/summon.mcfunction new file mode 100644 index 00000000..623cb1a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/summon.mcfunction @@ -0,0 +1,4 @@ + + +$summon $(entity) $(x) $(y) $(z) $(nbt) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/summon ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(entity)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/swing.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/swing.mcfunction new file mode 100644 index 00000000..7b46a881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/swing.mcfunction @@ -0,0 +1,6 @@ + +# DL - Swing & Feedback Module +$swing @a[name=$(player),limit=1] $(hand) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/swing ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_add.mcfunction new file mode 100644 index 00000000..1742f2e2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run tag @s add $(tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tag_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_remove.mcfunction new file mode 100644 index 00000000..a3953d60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tag_remove.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run tag @s remove $(tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tag_remove ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_add.mcfunction new file mode 100644 index 00000000..bf559d41 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_add.mcfunction @@ -0,0 +1,4 @@ + + +$time add $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/time_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_of.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_of.mcfunction new file mode 100644 index 00000000..24bc1a25 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_of.mcfunction @@ -0,0 +1,7 @@ + +# DL - Universal World Clock Controller +# Usage: /function ame:clock_handler {clock:"macroengine:test", action:"set", value:"12000"} +$time of $(clock) $(action) $(value) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"clock/system_update ","color":"aqua"},{"text":"$(clock) ","color":"white"},{"text":"action:","color":"gray"},{"text":"$(action) ","color":"gold"},{"text":"value:","color":"gray"},{"text":"$(value)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_set.mcfunction new file mode 100644 index 00000000..4451e591 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/time_set.mcfunction @@ -0,0 +1,4 @@ + + +$time set $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/time_set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title.mcfunction new file mode 100644 index 00000000..cfcbf407 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s title {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_all.mcfunction new file mode 100644 index 00000000..afb269da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_all.mcfunction @@ -0,0 +1,3 @@ + +$title @a title {"text":"$(title)"} +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_all ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_bold.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_bold.mcfunction new file mode 100644 index 00000000..2d4f54a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_bold.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s title {"text":"$(text)","color":"$(color)","bold":true} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_bold ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_clear.mcfunction new file mode 100644 index 00000000..2146fb81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s clear +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_reset.mcfunction new file mode 100644 index 00000000..de22c70d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_reset.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s reset +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_reset ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_sub.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_sub.mcfunction new file mode 100644 index 00000000..05e0874c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_sub.mcfunction @@ -0,0 +1,4 @@ + +$title @a[name=$(player),limit=1] title {"text":"$(title)","color":"$(color)","bold":true} +$title @a[name=$(player),limit=1] subtitle {"text":"$(subtitle)","color":"$(sub_color)","italic":true} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_sub ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_times.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_times.mcfunction new file mode 100644 index 00000000..c3db2283 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/title_times.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s times $(fade_in) $(stay) $(fade_out) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_times ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp.mcfunction new file mode 100644 index 00000000..68539017 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_facing.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_facing.mcfunction new file mode 100644 index 00000000..835920b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_facing.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s $(x) $(y) $(z) facing $(fx) $(fy) $(fz) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_facing ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_coords.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_coords.mcfunction new file mode 100644 index 00000000..272ea71b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_coords.mcfunction @@ -0,0 +1,4 @@ + + +$tp $(player) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_coords ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(x) $(y) $(z)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_entity.mcfunction new file mode 100644 index 00000000..8acba383 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_entity.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] run tp @s @e[type=$(type),tag=$(tag),limit=1] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_entity ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_player.mcfunction new file mode 100644 index 00000000..79b2e3bd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/tp_to_player.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s @a[name=$(target),limit=1] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/trigger_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/trigger_set.mcfunction new file mode 100644 index 00000000..42d8c9fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/trigger_set.mcfunction @@ -0,0 +1,3 @@ + +$scoreboard players set $(player) $(objective) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/trigger_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/unfreeze.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/unfreeze.mcfunction new file mode 100644 index 00000000..e2d58e4d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/unfreeze.mcfunction @@ -0,0 +1,19 @@ + +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/unfreeze +# Releases a player previously frozen by macroengine:api/cmd/freeze. +# +# 1. Finds the frozen player's macroengine.pid. +# 2. Kills the anchor armor stand whose macroengine.freeze_id matches. +# 3. Removes the macroengine.frozen tag so the tick function stops +# teleporting them. +# 4. Plays the unfreeze sound and notifies the player. +# +# INPUT : $(player) → exact player name +# +# EXAMPLE: +# function macroengine:api/cmd/unfreeze {player:"Steve"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),tag=macroengine.frozen,limit=1] run function macroengine:core/internal/api/cmd/freeze/remove +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/unfreeze ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"translate":"macroengine.msg.unfreeze","color":"#55ff55","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/weather.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/weather.mcfunction new file mode 100644 index 00000000..0ada9c2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/weather.mcfunction @@ -0,0 +1,4 @@ + + +$weather $(type) $(duration) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/weather ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/whitelist.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/whitelist.mcfunction new file mode 100644 index 00000000..65ca4928 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/whitelist.mcfunction @@ -0,0 +1,4 @@ + + +$whitelist $(action) $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/whitelist ","color":"aqua"},{"text":"$(action) $(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_add.mcfunction new file mode 100644 index 00000000..76888ac6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run xp add @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_get.mcfunction new file mode 100644 index 00000000..0e5df494 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result int 1 run xp query @a[name=$(player),limit=1] $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_get ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_set.mcfunction new file mode 100644 index 00000000..7b0674fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/cmd/xp_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run xp set @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/from_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/from_score.mcfunction new file mode 100644 index 00000000..7a6007dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/from_score.mcfunction @@ -0,0 +1,35 @@ +# macroengine:api/color/from_score [MACRO] +# Maps an integer score range to a color using a threshold table. +# Useful for health bars, progress displays, danger indicators. +# +# Threshold logic (low → high): +# score < low_threshold → low_color +# score < mid_threshold → mid_color +# score >= mid_threshold → high_color +# +# Input (macro args): +# objective — scoreboard objective name +# player — player name, fake player name (include # prefix), or selector string +# low_threshold — score below this → low_color +# mid_threshold — score below this → mid_color (if >= low_threshold) +# low_color — color for low range (e.g. "red") +# mid_color — color for mid range (e.g. "yellow") +# high_color — color for high range (e.g. "green") +# +# Output → macroengine:output result +# The matching color string. +# +# Usage: +# function macroengine:api/color/from_score {objective:"health",player:"Steve",\ +# low_threshold:7,mid_threshold:14,\ +# low_color:"red",mid_color:"yellow",high_color:"green"} +# data get storage macroengine:output result + +# Default: high_color +$data modify storage macroengine:output result set value "$(high_color)" + +# Override with low or mid if score is below threshold +$execute if score $(player) $(objective) matches ..$(low_threshold) run data modify storage macroengine:output result set value "$(low_color)" +$execute if score $(player) $(objective) matches $(low_threshold)..$(mid_threshold) run data modify storage macroengine:output result set value "$(mid_color)" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/from_score ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_delete.mcfunction new file mode 100644 index 00000000..565777c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_delete.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/color/gradient_delete [MACRO] +# Removes a named gradient from storage. +# +# Input (macro args): +# name — gradient name to remove +# +# Usage: +# function macroengine:api/color/gradient_delete {name:"health"} + +$data remove storage macroengine:engine color.gradients.$(name) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/gradient_delete ","color":"aqua"},{"text":"$(name)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_set.mcfunction new file mode 100644 index 00000000..c185a03e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/gradient_set.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/color/gradient_set [MACRO] +# Registers a named gradient as an ordered list of color strings. +# Steps are accessed by index via macroengine:api/color/lerp. +# +# Input (macro args): +# name — gradient name (e.g. "health", "sunset", "xp") +# colors — SNBT list of color strings, e.g. ["red","yellow","green"] +# or hex: ["#FF0000","#FFAA00","#00FF00"] +# Length is arbitrary; step 0 = first entry. +# +# Output → none +# +# Usage: +# function macroengine:api/color/gradient_set {name:"health",\ +# colors:["red","yellow","green"]} +# +# function macroengine:api/color/gradient_set {name:"xp",\ +# colors:["dark_green","green","#AAFF00","yellow"]} +# +# Note: SNBT list syntax requires quotes around string entries. +# This is a load-time operation — call from a load tag or init function. + +execute unless data storage macroengine:engine color.gradients run data modify storage macroengine:engine color.gradients set value {} +$data modify storage macroengine:engine color.gradients.$(name) set value $(colors) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/gradient_set ","color":"aqua"},{"text":"$(name)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/lerp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/lerp.mcfunction new file mode 100644 index 00000000..24d6cbbc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/lerp.mcfunction @@ -0,0 +1,29 @@ +# macroengine:api/color/lerp [MACRO] +# Looks up a precomputed lerp step from a named gradient table. +# Gradients are registered via macroengine:api/color/gradient_set. +# +# This is NOT a real-time RGB interpolator — mcfunction cannot do +# per-channel arithmetic at runtime. Instead, callers pre-register +# a gradient as an ordered list of hex strings and this function +# returns the entry at the given step index. +# +# Input (macro args): +# gradient — gradient name registered via gradient_set +# step — integer index into the gradient list (0-based) +# +# Output → macroengine:output result +# The color string at that step, or "" if out of range. +# +# Usage: +# # Register once (e.g. at load): +# function macroengine:api/color/gradient_set {name:"sunset",\ +# colors:["#FF0000","#FF5500","#FFAA00","#FFD700","#FFFF00"]} +# +# # Retrieve at runtime: +# function macroengine:api/color/lerp {gradient:"sunset",step:2} +# # → macroengine:output result = "#FFAA00" + +data modify storage macroengine:output result set value "" +$data modify storage macroengine:engine _color_lerp_tmp set value {gradient:"$(gradient)",step:$(step)} +$execute if data storage macroengine:engine color.gradients.$(gradient) run function macroengine:core/internal/systems/color/lerp_exec with storage macroengine:engine _color_lerp_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/lerp ","color":"aqua"},{"text":"$(gradient)[$(step)]","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_delete.mcfunction new file mode 100644 index 00000000..3e2adce2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_delete.mcfunction @@ -0,0 +1,13 @@ +# macroengine:api/color/palette_delete [MACRO] +# Removes a color alias from the runtime palette. +# +# Input (macro args): +# key — alias name to remove +# +# Output → none +# +# Usage: +# function macroengine:api/color/palette_delete {key:"brand"} + +$data remove storage macroengine:engine color.palette.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_delete ","color":"aqua"},{"text":"$(key)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_get.mcfunction new file mode 100644 index 00000000..063232f3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_get.mcfunction @@ -0,0 +1,16 @@ +# macroengine:api/color/palette_get [MACRO] +# Reads a color alias from the runtime palette. +# +# Input (macro args): +# key — alias name (e.g. "brand") +# +# Output → macroengine:output result +# The stored color value, or absent if key not found. +# +# Usage: +# function macroengine:api/color/palette_get {key:"brand"} +# data get storage macroengine:output result + +data modify storage macroengine:output result set value "" +$execute if data storage macroengine:engine color.palette.$(key) run data modify storage macroengine:output result set from storage macroengine:engine color.palette.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_get ","color":"aqua"},{"text":"$(key)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_list.mcfunction new file mode 100644 index 00000000..bb348957 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_list.mcfunction @@ -0,0 +1,13 @@ +# macroengine:api/color/palette_list +# Prints all registered palette entries to the calling player. +# Requires macroengine.admin tag. +# +# Usage: +# function macroengine:api/color/palette_list + +execute unless entity @s[tag=macroengine.admin] run return 0 + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Color Palette ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine color.palette run tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"color.palette","interpret":false,"color":"green"}] +execute unless data storage macroengine:engine color.palette run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(palette is empty)","color":"gray","italic":true}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_set.mcfunction new file mode 100644 index 00000000..fbe40817 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/palette_set.mcfunction @@ -0,0 +1,17 @@ +# macroengine:api/color/palette_set [MACRO] +# Registers a named color alias in the runtime palette. +# Existing key is overwritten. +# +# Input (macro args): +# key — alias name (e.g. "brand", "danger", "success") +# value — color value (named or hex, e.g. "#00AAAA", "red") +# +# Output → none +# +# Usage: +# function macroengine:api/color/palette_set {key:"brand",value:"#00AAAA"} +# function macroengine:api/color/palette_set {key:"danger",value:"red"} + +execute unless data storage macroengine:engine color.palette run data modify storage macroengine:engine color.palette set value {} +$data modify storage macroengine:engine color.palette.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_set ","color":"aqua"},{"text":"$(key)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/resolve.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/resolve.mcfunction new file mode 100644 index 00000000..f7f9a820 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/resolve.mcfunction @@ -0,0 +1,30 @@ +# macroengine:api/color/resolve [MACRO] +# Looks up a named palette entry or returns the value as-is if not found. +# Use this to map short alias keys (e.g. "brand", "danger", "info") to hex. +# +# The palette is stored in macroengine:engine color.palette as a compound: +# {brand:"#00AAAA", danger:"red", info:"aqua", ...} +# Populate via macroengine:api/color/palette_set. +# +# Input (macro args): +# color — alias key or direct color value +# +# Output → macroengine:output result +# The resolved color string (palette value if key found; input value otherwise). +# +# Usage: +# function macroengine:api/color/resolve {color:"brand"} +# # → macroengine:output result = "#00AAAA" (if palette has brand→#00AAAA) +# +# function macroengine:api/color/resolve {color:"red"} +# # → macroengine:output result = "red" (not in palette, returned as-is) + +# Default: return input value +$data modify storage macroengine:output result set value "$(color)" + +# Override if palette has this key — write color key into temp so resolve_exec can access it +$data modify storage macroengine:engine _color_resolve_tmp set value {color:"$(color)"} +execute if data storage macroengine:engine color.palette run function macroengine:core/internal/systems/color/resolve_exec with storage macroengine:engine _color_resolve_tmp +data remove storage macroengine:engine _color_resolve_tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/resolve ","color":"aqua"},{"text":"$(color)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/validate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/validate.mcfunction new file mode 100644 index 00000000..5847bcb4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/color/validate.mcfunction @@ -0,0 +1,29 @@ +# macroengine:api/color/validate [MACRO] +# Checks whether a color string is a known named color or a valid hex code. +# +# Named colors accepted: +# black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, +# gold, gray, dark_gray, blue, green, aqua, red, light_purple, +# yellow, white +# +# Hex accepted: #RRGGBB format (stored as-is; format is not verified at +# mcfunction level — caller must supply a valid string). +# +# Input (macro args): +# color — color string to validate (e.g. "red", "#FF5500") +# +# Output → macroengine:output result +# 1b = valid named color or hex-like string starting with # +# 0b = invalid / unrecognised +# +# Usage: +# function macroengine:api/color/validate {color:"red"} +# data get storage macroengine:output result +# +# Note: hex validation only checks that the value starts with "#". +# Full format validation (#RRGGBB) is not possible in mcfunction alone. + +data modify storage macroengine:output result set value 0b +$data modify storage macroengine:engine _color_validate_tmp set value {color:"$(color)"} +function macroengine:core/internal/systems/color/validate_exec with storage macroengine:engine _color_validate_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/validate ","color":"aqua"},{"text":"$(color)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/get.mcfunction new file mode 100644 index 00000000..caf12998 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/get.mcfunction @@ -0,0 +1,35 @@ +# macroengine:api/gamerule/get [MACRO] +# Reads a custom gamerule value from storage into macroengine:output gamerule. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string (must match the name used in set) +# +# OUTPUT: +# macroengine:output gamerule — the stored value string, or absent if never set +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# function macroengine:api/gamerule/get with storage macroengine:input {} +# # read: data get storage macroengine:output gamerule + +# Normalize key (spaces → underscores, lowercase) +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine_string:input to_lowercase.String set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +function macroengine_string:util/to_lowercase/fast +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output to_lowercase + +# Read from engine storage +data remove storage macroengine:output gamerule +function macroengine:core/internal/api/gamerule/read with storage macroengine:input {} + +# $(_gamerule_norm) below is a NEW macro invocation's arg, bound at call time +# from current storage — NOT the same binding as this function's own $(rule) +# arg (which was fixed at entry, before _gamerule_norm existed). Calling this +# inline as a bare $tellraw would have silently failed to resolve. +function macroengine:core/internal/api/gamerule/debug_print with storage macroengine:input {} + +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/reset.mcfunction new file mode 100644 index 00000000..192a514a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/reset.mcfunction @@ -0,0 +1,24 @@ +# macroengine:api/gamerule/reset [MACRO] +# Removes a custom gamerule from engine storage entirely. +# Does NOT touch vanilla /gamerule — this is for macroengine-tracked rules only. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# function macroengine:api/gamerule/reset with storage macroengine:input {} + +# Normalize +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace + +function macroengine:core/internal/api/gamerule/remove with storage macroengine:input {} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/reset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"gray","italic":true},{"text":" removed","color":"gray"}] + +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/set.mcfunction new file mode 100644 index 00000000..4b777e87 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/gamerule/set.mcfunction @@ -0,0 +1,44 @@ +# macroengine:api/gamerule/set [MACRO] +# Sets a custom gamerule value, persists it in storage, and dispatches +# a callback function when the value matches a defined condition. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string, e.g. "pvp_enabled" +# $(value) — value string: "true", "false", or a number string e.g. "10" +# +# OPTIONAL storage keys (set before calling, removed after): +# macroengine:input gr_on_true — function to call when value is "true" +# macroengine:input gr_on_false — function to call when value is "false" +# macroengine:input gr_on_value — function to call for any numeric match +# macroengine:input gr_matches — scoreboard range string, e.g. "5..10" (used with gr_on_value) +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# data modify storage macroengine:input value set value "true" +# data modify storage macroengine:input gr_on_true set value "mypack:pvp/enable" +# data modify storage macroengine:input gr_on_false set value "mypack:pvp/disable" +# function macroengine:api/gamerule/set with storage macroengine:input {} +# +# RETURN: 1 on success, 0 on guard failure. + +# ── Normalize rule name: spaces → underscores, then lowercase ──────────────── +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine_string:input to_lowercase.String set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +function macroengine_string:util/to_lowercase/fast +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output to_lowercase + +# ── Persist value in engine storage ────────────────────────────────────────── +function macroengine:core/internal/api/gamerule/persist with storage macroengine:input {} + +# ── Dispatch callbacks ──────────────────────────────────────────────────────── +function macroengine:core/internal/api/gamerule/dispatch with storage macroengine:input {} + +# ── Debug log ───────────────────────────────────────────────────────────────── +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"white"},{"text":" = ","color":"#555555"},{"text":"$(value)","color":"green"}] + +# ── Cleanup ─────────────────────────────────────────────────────────────────── +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_attack.mcfunction new file mode 100644 index 00000000..e40e3142 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_attack.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/interaction/bind_attack +# Binds a function to an interaction entity attack event. +# +# INPUT: +# macroengine:input tag — entity tag to match +# macroengine:input func — function to call on attack +# +# USAGE: +# data modify storage macroengine:input tag set value "my_interact" +# data modify storage macroengine:input func set value "mypack:on_attack" +# function macroengine:api/interaction/bind_attack with storage macroengine:input {} +function macroengine:core/internal/api/interaction/bind_attack_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_use.mcfunction new file mode 100644 index 00000000..3b09b662 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/bind_use.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/interaction/bind_use +# Binds a function to an interaction entity use (right-click) event. +# +# INPUT: +# macroengine:input tag — entity tag to match +# macroengine:input func — function to call on use +# +# USAGE: +# data modify storage macroengine:input tag set value "my_interact" +# data modify storage macroengine:input func set value "mypack:on_use" +# function macroengine:api/interaction/bind_use with storage macroengine:input {} +function macroengine:core/internal/api/interaction/bind_use_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/list.mcfunction new file mode 100644 index 00000000..e1e84712 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/list.mcfunction @@ -0,0 +1,3 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/list","color":"aqua"}] +tellraw @a[tag=macroengine.debug] ["",{"text":" attack: ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"interaction_binds.attack","color":"white"}] +tellraw @a[tag=macroengine.debug] ["",{"text":" use: ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"interaction_binds.use","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/remove.mcfunction new file mode 100644 index 00000000..400c7312 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/remove.mcfunction @@ -0,0 +1,3 @@ +$kill @e[type=minecraft:interaction,tag=$(tag)] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/remove ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" killed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/spawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/spawn.mcfunction new file mode 100644 index 00000000..e49d82e2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/spawn.mcfunction @@ -0,0 +1,6 @@ +$summon minecraft:interaction ~ ~ ~ {width:$(width), height:$(height), response:$(response), Tags:["macroengine.interaction","macroengine.ia_new"]} + +$tag @e[type=minecraft:interaction,tag=macroengine.ia_new,limit=1,sort=nearest] add $(tag) +tag @e[tag=macroengine.ia_new] remove macroengine.ia_new + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/spawn ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" spawned","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_attack.mcfunction new file mode 100644 index 00000000..5edb5543 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_attack.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine interaction_binds.attack[0] run return 0 + +data modify storage macroengine:engine _ia_ubinds set from storage macroengine:engine interaction_binds.attack +data modify storage macroengine:engine interaction_binds.attack set value [] +$data modify storage macroengine:engine _ia_ufilter set value {tag:"$(tag)", func:"$(func)", list:"attack"} +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/unbind_attack ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_use.mcfunction new file mode 100644 index 00000000..acdcec78 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/interaction/unbind_use.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine interaction_binds.use[0] run return 0 + +data modify storage macroengine:engine _ia_ubinds set from storage macroengine:engine interaction_binds.use +data modify storage macroengine:engine interaction_binds.use set value [] +$data modify storage macroengine:engine _ia_ufilter set value {tag:"$(tag)", func:"$(func)", list:"use"} +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/unbind_use ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/combo_marker.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/combo_marker.mcfunction new file mode 100644 index 00000000..f2620076 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/combo_marker.mcfunction @@ -0,0 +1,27 @@ +# macroengine:api/item/combo_marker +# +# Stamps a consecutive-use counter under minecraft:custom_data.macroengine.combo +# on the target's held item — for "combo" mechanics (e.g. bonus effects +# after N consecutive uses without switching items). Mojang tracks no +# per-item use streak; this is purely datapack-side bookkeeping. Preserves +# any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/combo_marker {player:"Steve",slot:"weapon.mainhand",combo:3} +# +# Callers are responsible for incrementing/resetting "combo" between calls +# (e.g. via a player-scoped scoreboard objective) — this function only +# writes the given value onto the item, it does not track state itself. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.combo set value $(combo) +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/combo_marker_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/durability_overlay.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/durability_overlay.mcfunction new file mode 100644 index 00000000..8c99794e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/durability_overlay.mcfunction @@ -0,0 +1,24 @@ +# macroengine:api/item/durability_overlay +# +# Stamps a secondary, datapack-tracked durability counter under +# minecraft:custom_data.macroengine.overlay_durability — independent of +# vanilla's minecraft:damage component. Lets a pack track "custom uses +# remaining" on items that are not damageable, or track a second pool +# (e.g. "charges") alongside real durability. Mojang has no such secondary +# counter. Preserves any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/durability_overlay {player:"Steve",slot:"weapon.mainhand",value:50} + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.overlay_durability set value $(value) +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/durability_overlay_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/hidden_flag.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/hidden_flag.mcfunction new file mode 100644 index 00000000..a4ab139b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/hidden_flag.mcfunction @@ -0,0 +1,39 @@ +# macroengine:api/item/hidden_flag +# +# Appends a named boolean flag to minecraft:custom_data.macroengine.flags on the +# target's held item. custom_data never renders in the tooltip and has no +# vanilla equivalent as a general-purpose flag bag — this gives datapacks a +# namespaced place to store item-specific booleans (e.g. "quest_item", +# "soulbound", "no_drop") without colliding with other packs' custom_data +# use. Preserves any other macroengine fields already on the item. +# +# IMPLEMENTATION NOTE: macro variables ($(key)) can only be substituted as +# VALUES, never as NBT compound KEYS — Minecraft has no syntax for a dynamic +# key name inside a macro line (a known, still-open engine limitation, not +# a workaround choice). So "flags" is a list of {name:"...",value:1b} +# entries rather than a compound keyed by flag name; "name" is a value +# here, not a key, so it interpolates fine. +# +# Call: +# function macroengine:api/item/hidden_flag {player:"Steve",slot:"weapon.mainhand",name:"soulbound",value:1b} +# +# NOTE: appends — does not de-duplicate by name. If you set the same flag +# name twice, both entries persist; readers should treat the LAST matching +# entry as authoritative if that matters for your use case. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +execute unless data storage macroengine:_item_tmp macroengine.flags run data modify storage macroengine:_item_tmp macroengine.flags set value [] +data modify storage macroengine:_item_tmp macroengine.flags append value {} +$data modify storage macroengine:_item_tmp macroengine.flags[-1].name set value "$(name)" +$data modify storage macroengine:_item_tmp macroengine.flags[-1].value set value $(value) + +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/hidden_flag_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/owner_tag.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/owner_tag.mcfunction new file mode 100644 index 00000000..e0884363 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/owner_tag.mcfunction @@ -0,0 +1,34 @@ +# macroengine:api/item/owner_tag +# +# Stamps the target's main-hand item with an owner tag under +# minecraft:custom_data.macroengine.owner — a field Mojang does not provide +# natively. Preserves any other macroengine fields already on the item (reads +# the existing compound first via internal/read_macroengine_compound). +# +# Call: +# function macroengine:api/item/owner_tag {player:"Steve",slot:"weapon.mainhand",owner:"Steve"} +# +# LIMITATION: only writes/reads the main-hand slot reliably. "slot" is +# passed through to /item modify (a valid slot argument there), but the +# existing-compound READ always comes from SelectedItem — see +# api/item/use_cooldown_check for why arbitrary equipment slots cannot be +# read by /data get path. Passing a non-mainhand slot will still WRITE to +# that slot, but will merge against mainhand's existing data, which is +# almost certainly not what you want. Stick to weapon.mainhand for now. +# +# "/data modify entity " is never used — Mojang blocks direct writes +# to player entity data (fails silently); all mutation goes through the +# item component system via /item modify instead. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.owner set value "$(owner)" +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/owner_tag_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown.mcfunction new file mode 100644 index 00000000..7f3976f3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown.mcfunction @@ -0,0 +1,31 @@ +# macroengine:api/item/use_cooldown +# +# Stamps a per-item custom cooldown expiry tick under +# minecraft:custom_data.macroengine.cooldown_until — independent of vanilla's +# shared "/cooldown" system (which is per-item-type, not per-item-instance). +# Preserves any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/use_cooldown {player:"Steve",slot:"weapon.mainhand",ticks:100} +# +# "ticks" is an offset added to the current world time; stored as an +# absolute expiry tick so checking it later is a single comparison +# (see api/item/use_cooldown_check). + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +# Compute absolute expiry tick = current gametime + requested offset +execute store result score #macroengine_item_now macroengine.tmp run time query gametime +$scoreboard players add #macroengine_item_now macroengine.tmp $(ticks) +execute store result storage macroengine:_item_tmp expiry int 1 run scoreboard players get #macroengine_item_now macroengine.tmp + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +data modify storage macroengine:_item_tmp macroengine.cooldown_until set from storage macroengine:_item_tmp expiry +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/use_cooldown_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown_check.mcfunction new file mode 100644 index 00000000..f2c31dcf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/item/use_cooldown_check.mcfunction @@ -0,0 +1,38 @@ +# macroengine:api/item/use_cooldown_check +# +# Reads minecraft:custom_data.macroengine.cooldown_until from the target's +# MAIN HAND item and reports whether it has expired. +# +# LIMITATION: only the main-hand slot is supported here. "weapon.mainhand" is +# a slot argument valid for /item, /give, and "execute if items" — it is NOT +# a valid /data get NBT path. Reading a specific item's NBT by path requires +# the SelectedItem tag (main hand only) or Inventory[{Slot:N}] for other +# slots. Extending this to arbitrary slots needs a slot->index lookup table +# and is out of scope for this pass. +# +# Call: +# function macroengine:api/item/use_cooldown_check {player:"Steve"} +# +# Output: +# macroengine:output found -> 1b if player found +# macroengine:output ready -> 1b if cooldown has expired (or was never set) +# macroengine:output remaining -> ticks remaining (0 if ready) + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output ready set value 0b +data modify storage macroengine:output remaining set value 0 + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +# Reset to 0 first: if the item has no cooldown_until path yet, the "data +# get" below fails and would otherwise leave a stale score from a prior call. +scoreboard players set #macroengine_item_expiry macroengine.tmp 0 +execute store result score #macroengine_item_now macroengine.tmp run time query gametime +$execute as @a[name=$(player),limit=1] store result score #macroengine_item_expiry macroengine.tmp run data get entity @s SelectedItem.components."minecraft:custom_data".macroengine.cooldown_until + +execute if score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run data modify storage macroengine:output ready set value 1b +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run scoreboard players operation #macroengine_item_remaining macroengine.tmp = #macroengine_item_expiry macroengine.tmp +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run scoreboard players operation #macroengine_item_remaining macroengine.tmp -= #macroengine_item_now macroengine.tmp +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp store result storage macroengine:output remaining int 1 run scoreboard players get #macroengine_item_remaining macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/use_cooldown_check ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_advancement.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_advancement.mcfunction new file mode 100644 index 00000000..5bf6d3fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_advancement.mcfunction @@ -0,0 +1,31 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_advancement [MACRO] +# +# Checks whether a player has completed a specific advancement and +# injects the boolean result as a named macro variable into the target function. +# +# Usage: +# function macroengine:engine/macro/with_advancement \ +# {func:"ns:path", player:"Name", advancement:"ns:adv/path", var:"done"} +# +# Parameters: +# func — function to call (ns:path) +# player — target player name +# advancement — advancement to check (ns:path/to/adv) +# var — macro variable name to inject into the target function +# +# Output: $(done) → 1b (completed) or 0b (not completed) +# ───────────────────────────────────────────── + +# Clear pipe +data remove storage macroengine:engine _macro_pipe + +# Default: not completed +$data modify storage macroengine:engine _macro_pipe.$(var) set value "empty" + +# Set to 1b if the player has completed the advancement +$execute as @a[name=$(player),limit=1,advancements={$(advancement)=true}] run data modify storage macroengine:engine _macro_pipe.$(var) set value 1b +$execute as @a[name=$(player),limit=1,advancements={$(advancement)=false}] run data modify storage macroengine:engine _macro_pipe.$(var) set value 0b + +# Call target function with pipe as macro source +$function $(func) with storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_function.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_function.mcfunction new file mode 100644 index 00000000..2ac15814 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_function.mcfunction @@ -0,0 +1,31 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_function [MACRO] +# +# Runs a provider (source) function; passes the data that function +# wrote to macroengine:engine _macro_pipe storage as macro variable source +# to a consumer (target) function. +# +# Establishes a type-safe data bridge between two functions. +# +# Usage: +# function macroengine:engine/macro/with_function \ +# {source:"ns:provider", target:"ns:consumer"} +# +# Parameters: +# source — function that produces data and writes it to macroengine:engine _macro_pipe +# target — function that consumes data from the pipe as macro variables +# +# Contract: +# source function must write its output to this storage: +# data modify storage macroengine:engine _macro_pipe. set value +# target function can access those keys as $(key). +# ───────────────────────────────────────────── + +# Run provider function — it writes its output to _macro_pipe +$function $(source) + +# Pass pipe to consumer as macro source +$function $(target) with storage macroengine:engine _macro_pipe + +# Clear pipe before source runs +data remove storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_score.mcfunction new file mode 100644 index 00000000..6a008969 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/macro/with_score.mcfunction @@ -0,0 +1,27 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_score [MACRO] +# +# Reads a player's scoreboard value and injects it as a named +# macro variable into the target function. +# +# Usage: +# function macroengine:engine/macro/with_score \ +# {func:"ns:path", player:"Name", objective:"myObj", var:"myVar"} +# +# Parameters: +# func — function to call (ns:path) +# player — target player name +# objective — scoreboard objective +# var — macro variable name to inject into the target function +# +# Output: $(myVar) → scoreboard value (int) +# ───────────────────────────────────────────── + +# Write score into pipe under the requested variable name +$execute store result storage macroengine:engine _macro_pipe.$(var) int 1 run scoreboard players get $(player) $(objective) + +# Call target function with pipe as macro source +$function $(func) with storage macroengine:engine _macro_pipe + +# Clear pipe +data remove storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/check.mcfunction new file mode 100644 index 00000000..251d42ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/check.mcfunction @@ -0,0 +1,11 @@ +scoreboard players set $pc_pid macroengine.tmp 0 +$execute store result score $pc_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pc_pid macroengine.tmp matches 0 run return 0 + +execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run return 1 + +$execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run return 1 + +execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +$execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" ","color":"red"},{"translate":"macroengine.msg.no_perm","with":[""],"color":"red"}] +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/clear.mcfunction new file mode 100644 index 00000000..a635b2b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/clear.mcfunction @@ -0,0 +1,5 @@ +execute unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Permission denied.","color":"red"}] + +$data remove storage macroengine:engine permissions.$(player) +$advancement revoke @a[name=$(player),limit=1] from macroengine:hidden/root +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/clear ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"$(player)","color":"white"},{"text":" — all permissions cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/exec.mcfunction new file mode 100644 index 00000000..4baee4d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/exec.mcfunction @@ -0,0 +1,14 @@ +scoreboard players set $pex_pid macroengine.tmp 0 +$execute store result score $pex_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pex_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pex_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pex_tmp.result set value 1b +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:engine _pex_tmp.result set value 1b + +$execute if data storage macroengine:engine _pex_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pex_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/exec ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":"] → ","color":"#555555"},{"text":"$(cmd)","color":"green"}] +data remove storage macroengine:engine _pex_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/grant.mcfunction new file mode 100644 index 00000000..6ec5502e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/grant.mcfunction @@ -0,0 +1,11 @@ +execute if entity @s unless entity @s[tag=macroengine.admin] run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +execute if entity @s unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"translate":"macroengine.msg.permission_denied","color":"red"}] + +$data modify storage macroengine:engine permissions.$(player).$(perm) set value 1b + +scoreboard players set $pg_pid macroengine.tmp 0 +$execute store result score $pg_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +$execute as @a if score @s macroengine.pid = $pg_pid macroengine.tmp run tag @s add perm.$(perm) +$advancement grant @a[name=$(player),limit=1] only macroengine:api/perm/$(perm) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/grant ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" ← ","color":"#555555"},{"text":"$(perm)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/has.mcfunction new file mode 100644 index 00000000..f3bd9a3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/has.mcfunction @@ -0,0 +1,11 @@ +data modify storage macroengine:output result set value 0b + +scoreboard players set $ph_pid macroengine.tmp 0 +$execute store result score $ph_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) + +execute as @a if score @s macroengine.pid = $ph_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:output result set value 1b +$execute as @a if score @s macroengine.pid = $ph_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run data modify storage macroengine:output result set value 1b + +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/list.mcfunction new file mode 100644 index 00000000..0f1f1095 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/list.mcfunction @@ -0,0 +1,4 @@ +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Perms: ","color":"aqua"},{"text":"$(player)","color":"white","bold":true},{"text":" ━━━━━━━━━━━━━━","color":"#555555"}] +$execute if data storage macroengine:engine permissions.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"permissions.$(player)","interpret":false,"color":"yellow"}] +$execute unless data storage macroengine:engine permissions.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no permissions)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/revoke.mcfunction new file mode 100644 index 00000000..421c37ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/revoke.mcfunction @@ -0,0 +1,11 @@ +execute if entity @s unless entity @s[tag=macroengine.admin] run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +execute if entity @s unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"translate":"macroengine.msg.permission_denied","color":"red"}] + +$data remove storage macroengine:engine permissions.$(player).$(perm) + +scoreboard players set $prv_pid macroengine.tmp 0 +$execute store result score $prv_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +$execute as @a if score @s macroengine.pid = $prv_pid macroengine.tmp run tag @s remove perm.$(perm) +$advancement revoke @a[name=$(player),limit=1] only macroengine:api/perm/$(perm) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/revoke ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":" — ","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":" revoked","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/run.mcfunction new file mode 100644 index 00000000..d34b2e26 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/run.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $pr_pid macroengine.tmp 0 +$execute store result score $pr_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pr_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pr_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pr_tmp.result set value 1b +$execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run data modify storage macroengine:engine _pr_tmp.result set value 1b + +$execute if data storage macroengine:engine _pr_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pr_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp at @s run $(cmd) + +data remove storage macroengine:engine _pr_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/run ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"] → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind.mcfunction new file mode 100644 index 00000000..6cb253fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind.mcfunction @@ -0,0 +1,9 @@ +$scoreboard objectives add $(name) trigger + +$execute unless data storage macroengine:engine perm_triggers.$(name) run data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine perm_triggers.$(name) append value {value:$(value), func:"$(func)", perm:"$(perm)"} + +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] +$execute unless data storage macroengine:engine perm_trigger_names[{name:"$(name)"}] run data modify storage macroengine:engine perm_trigger_names append value {name:"$(name)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/bind ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind_cmd.mcfunction new file mode 100644 index 00000000..660425e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/bind_cmd.mcfunction @@ -0,0 +1,9 @@ +$scoreboard objectives add $(name) trigger + +$execute unless data storage macroengine:engine perm_triggers.$(name) run data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine perm_triggers.$(name) append value {value:$(value), cmd:"$(cmd)", perm:"$(perm)"} + +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] +$execute unless data storage macroengine:engine perm_trigger_names[{name:"$(name)"}] run data modify storage macroengine:engine perm_trigger_names append value {name:"$(name)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/bind_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/clear.mcfunction new file mode 100644 index 00000000..4bd632a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine perm_triggers.$(name) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/clear ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"$(name)","color":"white"},{"text":" — all binds cleanndi","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/enable.mcfunction new file mode 100644 index 00000000..db2b6863 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/enable.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $pte_pid macroengine.tmp 0 +$execute store result score $pte_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pte_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pte_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pte_tmp.result set value 1b +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:engine _pte_tmp.result set value 1b + +$execute if data storage macroengine:engine _pte_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pte_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run scoreboard players enable @s $(name) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/enable ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" — ","color":"#555555"},{"text":"$(name)","color":"aqua"},{"text":" enabled","color":"#555555"}] +data remove storage macroengine:engine _pte_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/unbind.mcfunction new file mode 100644 index 00000000..32febbff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/perm/trigger/unbind.mcfunction @@ -0,0 +1,13 @@ +$execute unless data storage macroengine:engine perm_triggers.$(name) run return 0 + +$data modify storage macroengine:engine _pt_unbind set from storage macroengine:engine perm_triggers.$(name) +$data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine _pt_uval set value $(value) +$data modify storage macroengine:engine _pt_filter_ctx set value {name:"$(name)"} + +function macroengine:core/internal/api/perm/trigger/unbind_filter + +data remove storage macroengine:engine _pt_unbind +data remove storage macroengine:engine _pt_uval +data remove storage macroengine:engine _pt_filter_ctx +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/unbind ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/actionbar.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/actionbar.mcfunction new file mode 100644 index 00000000..4323d74d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/actionbar.mcfunction @@ -0,0 +1,18 @@ +# macroengine:api/title/actionbar — Raw JSON actionbar display [MACRO] +# Displays a full JSON component string in the actionbar of a named player. +# Unlike cmd/actionbar (text + color only), this accepts any serialized component +# including gradients, translate, score, selector, and nbt text sources. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# json — serialized JSON component string +# +# Output → none +# +# Usage: +# function macroengine:api/title/actionbar {player:"Steve",json:'{"text":"HP: 20/20","color":"red"}'} +# function macroengine:api/title/actionbar {player:"Steve",\ +# json:'[{"text":"Kills: "},{"score":{"name":"@s","objective":"kills"},"color":"gold"}]'} + +$title @a[name=$(player),limit=1] actionbar $(json) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/actionbar ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/broadcast.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/broadcast.mcfunction new file mode 100644 index 00000000..aa24d084 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/broadcast.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/title/broadcast — Broadcast title + subtitle + times to all players [MACRO] +# Sends a complete title display (timing + title + subtitle) to every online player. +# Unlike cmd/title_all which only sends a plain title to @a with no subtitle or +# timing control, this sets times and subtitle in the same atomic call. +# +# Input (macro args): +# title — title text +# subtitle — subtitle text +# color — title color (e.g. "red", "#RRGGBB") +# sub_color — subtitle color (e.g. "yellow", "#RRGGBB") +# fade_in — ticks to fade in (e.g. 20) +# stay — ticks to stay (e.g. 100) +# fade_out — ticks to fade out (e.g. 20) +# +# Output → none +# +# Usage: +# function macroengine:api/title/broadcast {title:"Server restart in 5 min",\ +# subtitle:"Save your progress!",color:"red",sub_color:"yellow",\ +# fade_in:20,stay:100,fade_out:20} + +$title @a times $(fade_in) $(stay) $(fade_out) +$title @a title {"text":"$(title)","color":"$(color)"} +$title @a subtitle {"text":"$(subtitle)","color":"$(sub_color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/broadcast ","color":"aqua"},{"text":"@a ","color":"gray"},{"text":"→ ","color":"#555555"},{"text":"$(title)","color":"$(color)"},{"text":" / ","color":"#555555"},{"text":"$(subtitle)","color":"$(sub_color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show.mcfunction new file mode 100644 index 00000000..3a66edef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/title/show — Atomic title display [MACRO] +# Sets display timing then shows title + subtitle for one player in a single call. +# Unlike calling cmd/title_times + cmd/title + cmd/subtitle separately, +# this guarantees consistent timing for the title/subtitle pair. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# title — title text +# subtitle — subtitle text +# color — title color (e.g. "gold", "#RRGGBB") +# sub_color — subtitle color (e.g. "gray", "#RRGGBB") +# fade_in — ticks to fade in (e.g. 10) +# stay — ticks to stay (e.g. 60) +# fade_out — ticks to fade out (e.g. 10) +# +# Output → none +# +# Usage: +# function macroengine:api/title/show {player:"Steve",title:"Hello",subtitle:"welcome back",\ +# color:"gold",sub_color:"gray",fade_in:10,stay:60,fade_out:10} + +$title @a[name=$(player),limit=1] times $(fade_in) $(stay) $(fade_out) +$title @a[name=$(player),limit=1] title {"text":"$(title)","color":"$(color)"} +$title @a[name=$(player),limit=1] subtitle {"text":"$(subtitle)","color":"$(sub_color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/show ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(title)","color":"$(color)"},{"text":" / ","color":"#555555"},{"text":"$(subtitle)","color":"$(sub_color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show_raw.mcfunction new file mode 100644 index 00000000..ba13a8a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/title/show_raw.mcfunction @@ -0,0 +1,24 @@ +# macroengine:api/title/show_raw — Atomic title display with raw JSON [MACRO] +# Like title/show but accepts full serialized JSON component strings, +# allowing gradients, translate, score, selector, and nbt text sources. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# title_json — serialized JSON component for title (must be a valid JSON text component) +# subtitle_json — serialized JSON component for subtitle (must be a valid JSON text component) +# fade_in — ticks to fade in +# stay — ticks to stay +# fade_out — ticks to fade out +# +# Output → none +# +# Usage: +# function macroengine:api/title/show_raw {player:"Steve",\ +# title_json:'{"text":"Hello","color":"gold","bold":true}',\ +# subtitle_json:'[{"text":"Welcome "},{"score":{"name":"@s","objective":"kills"}}]',\ +# fade_in:10,stay:70,fade_out:20} + +$title @a[name=$(player),limit=1] times $(fade_in) $(stay) $(fade_out) +$title @a[name=$(player),limit=1] title $(title_json) +$title @a[name=$(player),limit=1] subtitle $(subtitle_json) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/show_raw ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/false.mcfunction new file mode 100644 index 00000000..c353e2ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/false.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine modules.cb set value 0b +tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cb module: ","color":"aqua"},{"text":"disabled","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/true.mcfunction new file mode 100644 index 00000000..69e9c349 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/cb/true.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine modules.cb set value 1b +tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cb module: ","color":"aqua"},{"text":"enabled","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/false.mcfunction new file mode 100644 index 00000000..11a2bf18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/geo/false — Disable the geo/region_watch module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.geo set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/geo ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/true.mcfunction new file mode 100644 index 00000000..979daf5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/geo/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/geo/true — Enable the geo/region_watch module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.geo set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/geo ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/false.mcfunction new file mode 100644 index 00000000..9e29b6f3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/hook/false — Disable the hook module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.hook set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/hook ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/true.mcfunction new file mode 100644 index 00000000..58222d31 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/hook/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/hook/true — Enable the hook module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.hook set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/hook ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/false.mcfunction new file mode 100644 index 00000000..cab00bdb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/interaction/false — Disable the interaction (IE) module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.interaction set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/interaction ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/true.mcfunction new file mode 100644 index 00000000..8ecdda12 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/interaction/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/interaction/true — Enable the interaction (IE) module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.interaction set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/interaction ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/list.mcfunction new file mode 100644 index 00000000..8b9235da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/list.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/toggle/list +# Prints the enabled/disabled state of all DL modules. +# +# Usage: function macroengine:api/toggle/list +# Caller: macroengine.admin tag required + +execute unless entity @s[tag=macroengine.admin] run return 0 + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Module States ━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"modules","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/false.mcfunction new file mode 100644 index 00000000..389add2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/perm/false — Disable the perm trigger module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.perm set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/perm ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/true.mcfunction new file mode 100644 index 00000000..bf721dd6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/perm/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/perm/true — Enable the perm trigger module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.perm set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/perm ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/show.mcfunction new file mode 100644 index 00000000..f93a4a79 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/show.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/show +# Module toggle helper. + +execute unless entity @s[tag=macroengine.admin] run return 0 + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Module toggle UI is only available in newer Minecraft versions","color":"yellow"}] +tellraw @s ["",{"text":"Direct functions: /function macroengine:api/toggle//true","color":"gray"}] +tellraw @s ["",{"text":" /function macroengine:api/toggle//false","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/false.mcfunction new file mode 100644 index 00000000..b35e96a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/wand/false — Disable the wand module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.wand set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/wand ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/true.mcfunction new file mode 100644 index 00000000..fe15a07d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/toggle/wand/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/wand/true — Enable the wand module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.wand set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/wand ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind.mcfunction new file mode 100644 index 00000000..ab6e25fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind.mcfunction @@ -0,0 +1,4 @@ +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine trigger_binds append value {value:$(value), func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/bind ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(value)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind_cmd.mcfunction new file mode 100644 index 00000000..a34ca5f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/bind_cmd.mcfunction @@ -0,0 +1,4 @@ +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine trigger_binds append value {value:$(value), cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/bind_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(value)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/disable.mcfunction new file mode 100644 index 00000000..9fb803ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/disable.mcfunction @@ -0,0 +1,2 @@ +$scoreboard players reset $(player) macroengine_action +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/disable ","color":"aqua"},{"text":"· ","color":"#555555"},{"text":"$(player)","color":"white"},{"text":" — macroengine_action disabled","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/enable.mcfunction new file mode 100644 index 00000000..aa3d4dad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/enable.mcfunction @@ -0,0 +1,2 @@ +$scoreboard players enable $(player) macroengine_action +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/enable ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" — macroengine_action enabled","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/list.mcfunction new file mode 100644 index 00000000..e8826c66 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Trigger Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine trigger_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no binds registered)","color":"gray","italic":true}] +execute if data storage macroengine:engine trigger_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"trigger_binds","plain":true ,"storage":"macroengine:engine","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind.mcfunction new file mode 100644 index 00000000..c04c1d15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine trigger_binds run return 0 + +data modify storage macroengine:engine _tc_unbind set from storage macroengine:engine trigger_binds +data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine _tc_uval set value $(value) +function macroengine:core/internal/api/trigger/unbind_filter +data remove storage macroengine:engine _tc_unbind +data remove storage macroengine:engine _tc_uval +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/unbind ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"value=$(value)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind_all.mcfunction new file mode 100644 index 00000000..81ec0981 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/trigger/unbind_all.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine trigger_binds set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/unbind_all ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"all trigger binds cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_check.mcfunction new file mode 100644 index 00000000..028176ea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_check.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/cooldown_check +# Checks whether the wand cooldown is active. +# NOTE: Wand cooldowns are stored under macroengine:engine wand_cooldowns; +# this avoids collision with macroengine:cooldown module's "$(player).$(key)" path +# so there is zero risk of key collision. +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag +# OUTPUT: +# macroengine:output result → 0b=ready (no cooldown), 1b=cooldown active +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine wand_cooldowns.$(player).$(tag) run return 0 + +$execute store result score $wcc_exp macroengine.tmp run data get storage macroengine:engine wand_cooldowns.$(player).$(tag) +execute store result score $wcc_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $wcc_now macroengine.tmp < $wcc_exp macroengine.tmp run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/cooldown_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_set.mcfunction new file mode 100644 index 00000000..b9e6f170 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/cooldown_set.mcfunction @@ -0,0 +1,18 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/cooldown_set +# Applies a cooldown to wand usage. +# NOTE: Wand cooldowns are stored under macroengine:engine wand_cooldowns; +# this avoids collision with macroengine:cooldown module's "$(player).$(key)" path +# so there is zero risk of key collision. +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag +# $(duration) → cooldown duration (in ticks) +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $wcd_dur macroengine.tmp $(duration) +execute store result score $wcd_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $wcd_now macroengine.tmp += $wcd_dur macroengine.tmp +$execute store result storage macroengine:engine wand_cooldowns.$(player).$(tag) int 1 run scoreboard players get $wcd_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/cooldown_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] ","color":"#555555"},{"text":"$(duration)t","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give.mcfunction new file mode 100644 index 00000000..ee212244 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give +# Gives the player a carrot_on_a_stick marked as a wand. +# The item is automatically tagged with custom_data. +# +# INPUT: +# $(player) → target player +# $(tag) → wand tag (written into custom_data) +# $(name) → item name (JSON text component, e.g. "Fire Wand") +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input name set value "Fire Wand" +# function macroengine:api/wand/give with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$give @a[name=$(player),limit=1] minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:enchantment_glint_override=true] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_custom.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_custom.mcfunction new file mode 100644 index 00000000..8b4500df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_custom.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give_custom +# Gives a custom item tagged as a wand. +# Any item type can be used (sword, stick, etc.) +# but right-click only works with carrot_on_a_stick. +# +# INPUT: +# $(player) → target player +# $(tag) → wand tag +# $(name) → item name (JSON text string) +# $(count) → quantity (default 1) +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "ice_wand" +# data modify storage macroengine:input name set value "Ice Wand" +# data modify storage macroengine:input count set value 1 +# function macroengine:api/wand/give_custom with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$give @a[name=$(player),limit=1] minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:enchantment_glint_override=true] $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give_custom ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"},{"text":" [$(tag)]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_lore.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_lore.mcfunction new file mode 100644 index 00000000..50a02f0e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/give_lore.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give_lore +# Writes the wand with lore to mainhand (item replace). +# +# INPUT (storage macroengine:input): +# player → target player name +# tag → wand tag +# name → item name (string) +# lore → lore metni, TEK SATIR (string) +# color → lore color (e.g. "red", "gold", "gray") +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input name set value "Fire Wand" +# data modify storage macroengine:input lore set value "Fire Damage: +20" +# data modify storage macroengine:input color set value "red" +# function macroengine:api/wand/give_lore +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/wand/give_lore_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/has.mcfunction new file mode 100644 index 00000000..f05d77b2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/has.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/has +# Does the player hold a specific wand in their main hand? +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag to check +# OUTPUT: +# macroengine:output result → 1b (found) / 0b (not found) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute as @a[name=$(player),limit=1] if items entity @s weapon.mainhand *[minecraft:custom_data~{wand:"$(tag)"}] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/list.mcfunction new file mode 100644 index 00000000..278aad3e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/list.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/list — Shows registered wand binds. +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Wand Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine wand_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no wand binds)","color":"gray","italic":true}] +execute if data storage macroengine:engine wand_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"wand_binds","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register.mcfunction new file mode 100644 index 00000000..c9e5c46f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register +# Registers a wand with a specific custom_data tag. +# On every item use, $(func) or $(cmd) runs. +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name (e.g. "my_wand") +# func → (optional) function to run +# cmd → (optional) command to run (if no func) +# +# USAGE: +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input func set value "mypack:on_fire_wand" +# function macroengine:api/wand/register with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_cmd.mcfunction new file mode 100644 index 00000000..9850b5f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_cmd.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register_cmd +# Binds a raw command to a wand (carrot_on_a_stick). +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name +# cmd → raw command to run +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_cmd_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_fn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_fn.mcfunction new file mode 100644 index 00000000..aec7189b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/register_fn.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register_fn +# Binds a function to a wand (carrot_on_a_stick). +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name +# func → function to run +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_fn_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister.mcfunction new file mode 100644 index 00000000..9190c816 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/unregister +# Removes all wand binds belonging to a specific tag. +# +# INPUT (storage macroengine:input): +# tag → wand tag to remove +# +# EXAMPLE: +# data modify storage macroengine:input tag set value "fire_wand" +# function macroengine:api/wand/unregister +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/wand/unregister_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister_all.mcfunction new file mode 100644 index 00000000..1a274813 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/api/wand/unregister_all.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/wand/unregister_all — Clears all wand binds. +data modify storage macroengine:engine wand_binds set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/unregister_all ","color":"aqua"},{"text":"⚠ all wand binds cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/backport/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/backport/load.mcfunction new file mode 100644 index 00000000..e3fa4e10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/backport/load.mcfunction @@ -0,0 +1,5 @@ +# macroengine:backport/load [1.20.5-1.20.6] +# Light backports only (most things are modern) + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] backport: 1.20.5 (light)","color":"gray"}] +scoreboard players set #macroengine.backport_version macroengine.meta 1205 \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config.mcfunction new file mode 100644 index 00000000..e8da01d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config.mcfunction @@ -0,0 +1,37 @@ +# macroengine:config +# Single source of runtime configuration (replaces _rt_origin + scattered defaults). +# Other packs may read macroengine:engine config / macroengine.meta scores; do not hardcode. + +# ── Version (602 = 6.0.2) ────────────────────────────────────────── +scoreboard objectives add macroengine.meta dummy +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 602 + +# Archived flag: set to 1 to show archive warning on every /reload +# scoreboard players set #runtoolkit.archivedpacks.macroengine macroengine.meta 1 +execute unless score #runtoolkit.archivedpacks.macroengine macroengine.meta = #runtoolkit.archivedpacks.macroengine macroengine.meta run scoreboard players set #runtoolkit.archivedpacks.macroengine macroengine.meta 0 + +# ── Engine defaults (only fill missing keys — preserves live data) ─ +execute unless data storage macroengine:engine global run data modify storage macroengine:engine global set value {} +data modify storage macroengine:engine global.version set value "v6.0.2" + +execute unless data storage macroengine:engine config run data modify storage macroengine:engine config set value {} + +# Feature toggles (override via /data modify storage macroengine:engine config.*) +execute unless data storage macroengine:engine config.enabled run data modify storage macroengine:engine config.enabled set value 1b +execute unless data storage macroengine:engine config.debug_default run data modify storage macroengine:engine config.debug_default set value 0b +execute unless data storage macroengine:engine config.log_level run data modify storage macroengine:engine config.log_level set value 1 +execute unless data storage macroengine:engine config.sandbox run data modify storage macroengine:engine config.sandbox set value 1b +execute unless data storage macroengine:engine config.reload_warn run data modify storage macroengine:engine config.reload_warn set value 1b +execute unless data storage macroengine:engine config.namespace_allowlist run data modify storage macroengine:engine config.namespace_allowlist set value ["macroengine:"] + +# Mirror sandbox flag used by gate/* — gates are active by default (sandbox:1b). +# Disabling requires confirmation via macroengine_load:gate/toggle/disable; re-enabling +# (macroengine_load:gate/toggle/enable) does not. +execute if data storage macroengine:engine config{sandbox:1b} run data modify storage macroengine:engine sandbox set value 1b +execute unless data storage macroengine:engine config{sandbox:1b} run data modify storage macroengine:engine sandbox set value 0b + +# Admin min level storage (legacy readers; not enforced when gates removed) +execute unless data storage macroengine:engine security run data modify storage macroengine:engine security set value {} +execute unless data storage macroengine:engine security.admin_min_level run data modify storage macroengine:engine security.admin_min_level set value 0 +execute unless data storage macroengine:engine security.cmd_min_level run data modify storage macroengine:engine security.cmd_min_level set value 0 +execute unless data storage macroengine:engine security.sandbox_cmd_min_level run data modify storage macroengine:engine security.sandbox_cmd_min_level set value 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/load_cfg.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/load_cfg.mcfunction new file mode 100644 index 00000000..3b498c34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/load_cfg.mcfunction @@ -0,0 +1,15 @@ +# macroengine:config/load_cfg +# +# Load-gate config. Reviewed via PR + GitHub Actions (see CONTRIBUTING.md). +# Key naming: #runtoolkit.packs.macroengine.config.load. +# Storage: macroengine.meta scoreboard. +# +# Idempotent — only fills a key if it is missing, never overwrites. + +# --- load.timeout_seconds: auto-cancel delay for the load confirmation gate (default 300 = 5 minutes) --- +execute unless score #runtoolkit.packs.macroengine.config.load.timeout_seconds macroengine.meta matches 1.. run scoreboard players set #runtoolkit.packs.macroengine.config.load.timeout_seconds macroengine.meta 300 + +# --- load.sandbox_enabled: 0=normal gate flow, 1=auto-confirm on load (default 0) +# Mirrors the legacy macroengine:engine {sandbox:1b} storage flag for +# backward compatibility — both are checked in macroengine_load:load/confirm. +execute unless score #runtoolkit.packs.macroengine.config.load.sandbox_enabled macroengine.meta matches 0..1 run scoreboard players set #runtoolkit.packs.macroengine.config.load.sandbox_enabled macroengine.meta 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/namespace_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/namespace_list.mcfunction new file mode 100644 index 00000000..4ea02547 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/namespace_list.mcfunction @@ -0,0 +1,48 @@ +# ====================================================================================== +# macroengine:config/namespace_list +# ====================================================================================== +# +# PURPOSE: +# Single source of truth for input_check Section 5 (namespace allowlist +# enforcement). Each approved prefix is added here, one line, one prefix. +# input_check calls this via `function` and reads the resulting list from +# storage — no other file should hardcode an allowlist prefix. +# +# POLICY: +# Every line added here is a widening of what external callers may invoke +# through macroengine's dynamic call interface. This is a security-relevant +# change and MUST go through code review (PR), never a live/runtime edit +# (no /data modify storage against this list from in-game). +# +# BEFORE ADDING A PREFIX, THE PR MUST ANSWER: +# 1. Does every function under this namespace, that could ever be reached +# through macroengine's dynamic call path, tolerate the same threat model +# input_check enforces (selector abuse, execute-chain hijacking, +# NBT/storage injection, gamerule/scoreboard abuse, entity/tag +# manipulation, forceload/block abuse)? input_check's Sections 8-19 +# only pattern-match on `cmd` payload text — they do not know which +# namespace originated the call, so a vulnerable function under a +# newly-allowed namespace is NOT separately protected. +# 2. Is every function under this namespace fully authored/audited by +# this project (not a third-party pack with unknown internals)? +# 3. What is the narrowest possible prefix? Prefer "macroengine_string:util/" +# over "macroengine_string:" if only the util/ functions are meant to be +# externally callable. +# +# FORMAT: +# One prefix per line, appended to the list below. Do not remove the +# "macroengine:" line — it is the original, always-required baseline. +# +# CURRENT STATE: +# No additional namespaces have been approved yet. Only macroengine: +# is allowed. This file exists so future additions are a single-line, +# reviewable PR diff instead of an edit inside input_check.mcfunction +# itself. +# +# ====================================================================================== + +data modify storage macroengine:output config.namespace_allowlist set value ["macroengine:","macroengine.main:empty"] + +# --- Approved additional prefixes go below this line, one per line. --- +# Example (DO NOT UNCOMMENT WITHOUT A REVIEWED PR): +# data modify storage macroengine:output config.namespace_allowlist append value "macroengine_string:util/" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/tick_cfg.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/tick_cfg.mcfunction new file mode 100644 index 00000000..50fec2cd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/config/tick_cfg.mcfunction @@ -0,0 +1,21 @@ +# macroengine:config/tick_cfg +# +# Tick config system. No macros used (see CONTRIBUTING.md - tick config +# changes are reviewed via PR and checked by GitHub Actions; runtime macro +# key generation is not allowed here). +# +# Key naming: #runtoolkit.packs.macroengine.config.tick. +# Storage: macroengine.meta scoreboard (config/gate values only - temporary data +# uses macroengine.tmp, see macroengine_load:loader/scoreboards lines 5-6) +# +# This function only sets a default for keys that are MISSING; it does not +# overwrite an existing value (idempotent - safe to call again on reload). + +# --- tick.rate: how many ticks between dispatch runs (default 1 = every tick) --- +execute unless score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta 1 + +# --- tick.pause: 0 = running, 1 = paused (config-level flag, separate from the paused check in core/tick.mcfunction) --- +execute unless score #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta 0 + +# --- tick.max_channels: upper bound on simultaneously active channels --- +execute unless score #runtoolkit.packs.macroengine.config.tick.max_channels macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.max_channels macroengine.meta 32 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/exec.mcfunction new file mode 100644 index 00000000..d91bb0bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/cmd/exec +# Bridges macroengine:input cmd → macroengine:engine tools_trigger → dispatch. +# Called only when macroengine:input cmd exists. + +data modify storage macroengine:engine tools_trigger set from storage macroengine:input cmd +function macroengine:core/internal/debug/tools/trigger/dispatch +data remove storage macroengine:engine tools_trigger +data remove storage macroengine:input cmd diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/run.mcfunction new file mode 100644 index 00000000..8ca728c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cmd/run.mcfunction @@ -0,0 +1,22 @@ +# macroengine:core/cmd/run +# Entry point for the command dispatcher. +# Fires when any player triggers macroengine_run (via player_systems.mcfunction). +# Expects macroengine:input cmd to be set before triggering: +# data merge storage macroengine:input {cmd:{type:"...", data:{...}}} +# /trigger macroengine_run set 1 +# +# Available types: see macroengine:debug/tools/trigger/internal/dispatch for full list. +# Examples: +# msg → data:{player:"Name", message:"..."} +# give → data:{player:"Name", item:"minecraft:diamond", count:1} +# gamemode → data:{player:"Name", mode:"survival"} +# tp → data:{player:"Name", x:0, y:64, z:0} +# effect_add → data:{player:"Name", effect:"minecraft:speed", duration:100, amplifier:1} +# score_set → data:{player:"Name", objective:"obj", value:10} +# tag_add → data:{player:"Name", tag:"myTag"} +# xp → data:{player:"Name", amount:100, type:"points"} +# fill → data:{x1:0,y1:0,z1:0,x2:1,y2:1,z2:1,block:"minecraft:stone"} +# setblock → data:{x:0, y:64, z:0, block:"minecraft:stone"} + +execute if data storage macroengine:input cmd run function macroengine:core/cmd/exec +execute unless data storage macroengine:input cmd run tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd: ","color":"aqua"},{"text":"macroengine:input cmd not set","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/delete.mcfunction new file mode 100644 index 00000000..d2b88f9e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/delete.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine config.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/delete ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/exec.mcfunction new file mode 100644 index 00000000..40908abb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/exec.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/config/exec [MACRO] +# Runs a function if the config score matches a range. +# Works with values stored on macroengine.config scoreboard via score_set. +# +# INPUT (macro args): +# $(key) — scoreboard fake player name (e.g. "damage") +# $(matches) — score range string (e.g. "1..", "5", "1..10") +# $(func) — function to run if condition is true +# +# USAGE: +# data modify storage macroengine:input key set value "pvp_enabled" +# data modify storage macroengine:input matches set value "1.." +# data modify storage macroengine:input func set value "mypack:on_pvp" +# function macroengine:core/config/exec with storage macroengine:input {} +# +# EXAMPLE (bind a command instead of func): +# Use score_set to write the value, then check inline: +# execute if score #pvp_enabled macroengine.config matches 1.. run function mypack:on_pvp +$execute if score #$(key) macroengine.config matches $(matches) run function $(func) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/get.mcfunction new file mode 100644 index 00000000..1e0445dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/get.mcfunction @@ -0,0 +1,4 @@ +data modify storage macroengine:output result set value "" + +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set from storage macroengine:engine config.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/has.mcfunction new file mode 100644 index 00000000..87114826 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/has ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/list.mcfunction new file mode 100644 index 00000000..81c340f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Config Values ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine config run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"config","interpret":false,"color":"green"}] +execute unless data storage macroengine:engine config run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no config values set)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/reset.mcfunction new file mode 100644 index 00000000..1b7549a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/reset.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine config diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_get.mcfunction new file mode 100644 index 00000000..9d1b0891 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_get.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/config/score_get +# Prints a config value to the caller (admin only, debug use). +# Usage: $function macroengine:core/config/score_get {key:"damage"} +execute unless entity @s[tag=macroengine.admin] run return 0 +$tellraw @s ["",{"text":"[Config] ","color":"aqua"},{"text":"#$(key)","color":"white"},{"text":" = ","color":"#555555"},{"score":{"name":"#$(key)","objective":"macroengine.config"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_set.mcfunction new file mode 100644 index 00000000..5abd4cfe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/score_set.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/config/score_set +# Sets an integer config value on the macroengine.config scoreboard. +# Usage: $function macroengine:core/config/score_set {key:"damage",value:5} +# Read back: scoreboard players get #damage macroengine.config +$scoreboard players set #$(key) macroengine.config $(value) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set.mcfunction new file mode 100644 index 00000000..403ff2ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine config.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_default.mcfunction new file mode 100644 index 00000000..81c77920 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_default.mcfunction @@ -0,0 +1,7 @@ +data modify storage macroengine:output result set value 1b + +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine config.$(key) run return 0 + +$data modify storage macroengine:engine config.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set_default ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_int.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_int.mcfunction new file mode 100644 index 00000000..67d7810b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/config/set_int.mcfunction @@ -0,0 +1,2 @@ +$execute store result storage macroengine:engine config.$(key) int 1 run scoreboard players set $cfg_tmp macroengine.tmp $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set_int ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/check.mcfunction new file mode 100644 index 00000000..baaf2fcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/check.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output result set value 1b + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $cd_now macroengine.tmp < $cd_exp macroengine.tmp run data modify storage macroengine:output result set value 0b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear.mcfunction new file mode 100644 index 00000000..64f5004c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine cooldowns.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/clear ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear_all.mcfunction new file mode 100644 index 00000000..cf2971d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/clear_all.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine cooldowns.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/clear_all ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":" — all cooldowns cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/detail.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/detail.mcfunction new file mode 100644 index 00000000..a995eee0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/detail.mcfunction @@ -0,0 +1,15 @@ +data merge storage macroengine:output {active:0b,remaining:0,expires:0} + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cdd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result storage macroengine:output expires int 1 run scoreboard players get $cdd_exp macroengine.tmp + +execute store result score $cdd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $cdd_now macroengine.tmp < $cdd_exp macroengine.tmp run data modify storage macroengine:output active set value 1b + +scoreboard players operation $cdd_exp macroengine.tmp -= $cdd_now macroengine.tmp +execute if score $cdd_exp macroengine.tmp matches 1.. run execute store result storage macroengine:output remaining int 1 run scoreboard players get $cdd_exp macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/detail ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" active=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"active","color":"green"},{"text":" rem=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"remaining","color":"green"},{"text":" exp=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"expires","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/extend.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/extend.mcfunction new file mode 100644 index 00000000..508b69ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/extend.mcfunction @@ -0,0 +1,13 @@ +execute store result score $ce_base macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $ce_exp macroengine.tmp = $ce_base macroengine.tmp + +$execute if data storage macroengine:engine cooldowns.$(player).$(key) run execute store result score $ce_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) + +execute if score $ce_exp macroengine.tmp <= $ce_base macroengine.tmp run scoreboard players operation $ce_exp macroengine.tmp = $ce_base macroengine.tmp + +$scoreboard players set $ce_amt macroengine.tmp $(amount) +scoreboard players operation $ce_exp macroengine.tmp += $ce_amt macroengine.tmp + +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $ce_exp macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/extend ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" +$(amount)t","color":"green"},{"text":" → exp=","color":"#555555"},{"score":{"name":"$ce_exp","objective":"macroengine.tmp"},"color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/is_ready.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/is_ready.mcfunction new file mode 100644 index 00000000..d132e5a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/is_ready.mcfunction @@ -0,0 +1,7 @@ +$data modify storage macroengine:input player set value "$(player)" +$data modify storage macroengine:input key set value "$(key)" +function macroengine:core/cooldown/check with storage macroengine:input {} +# check: result=0b → cooldown active. is_ready returns the inverse. +execute if data storage macroengine:output {result:0b} run data modify storage macroengine:output result set value 1b +execute if data storage macroengine:output {result:1b} run data modify storage macroengine:output result set value 0b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/is_ready ","color":"aqua"},{"text":"$(player):$(key) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/pause.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/pause.mcfunction new file mode 100644 index 00000000..9cb4cfe3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/pause.mcfunction @@ -0,0 +1,22 @@ +# macroengine:core/cooldown/pause +# Pauses an active cooldown, saving the remaining ticks. +# Params: player, key +# Output: macroengine:output result (remaining ticks saved), 0b if not active + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +# Calculate remaining ticks +$execute store result score $cdp_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cdp_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cdp_exp macroengine.tmp -= $cdp_now macroengine.tmp + +# Only pause if actually still active +execute unless score $cdp_exp macroengine.tmp matches 1.. run return 0 + +# Save remaining ticks to paused storage and clear the live cooldown +$execute store result storage macroengine:engine paused_cooldowns.$(player).$(key) int 1 run scoreboard players get $cdp_exp macroengine.tmp +$data remove storage macroengine:engine cooldowns.$(player).$(key) +execute store result storage macroengine:output result int 1 run scoreboard players get $cdp_exp macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/pause ","color":"aqua"},{"text":"⏸ ","color":"yellow"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"t remaining","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/remaining.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/remaining.mcfunction new file mode 100644 index 00000000..edee288b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/remaining.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output result set value 0 +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +scoreboard players operation $cd_exp macroengine.tmp -= $cd_now macroengine.tmp +execute if score $cd_exp macroengine.tmp matches 1.. run execute store result storage macroengine:output result int 1 run scoreboard players get $cd_exp macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/remaining ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/reset_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/reset_all.mcfunction new file mode 100644 index 00000000..3139bac6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/reset_all.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/cooldown/reset_all +# Clears all active cooldowns for a player. +# Girdi : $(player) → player name +# Output: (side effect only) +# +# Example: +# data modify storage macroengine:input player set value "Steve" +# function macroengine:core/cooldown/reset_all with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$data remove storage macroengine:engine cooldowns.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/reset_all ","color":"aqua"},{"text":"$(player) all cooldowns cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/resume.mcfunction new file mode 100644 index 00000000..6d980420 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/resume.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/cooldown/resume +# Resumes a previously paused cooldown. +# Params: player, key +# Output: macroengine:output result (new expiry epoch tick), 0b if not paused + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine paused_cooldowns.$(player).$(key) run return 0 + +# Reconstruct expiry: now + saved remaining ticks +$execute store result score $cdr_rem macroengine.tmp run data get storage macroengine:engine paused_cooldowns.$(player).$(key) +execute store result score $cdr_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cdr_now macroengine.tmp += $cdr_rem macroengine.tmp + +# Write back to live cooldowns, remove from paused +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $cdr_now macroengine.tmp +$data remove storage macroengine:engine paused_cooldowns.$(player).$(key) +execute store result storage macroengine:output result int 1 run scoreboard players get $cdr_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/resume ","color":"aqua"},{"text":"▶ ","color":"green"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" resumed (","color":"#555555"},{"score":{"name":"$cdr_rem","objective":"macroengine.tmp"},"color":"yellow"},{"text":"t remaining)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/set.mcfunction new file mode 100644 index 00000000..9d0cacd2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/cooldown/set.mcfunction @@ -0,0 +1,5 @@ +$scoreboard players set $cd_dur macroengine.tmp $(duration) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cd_now macroengine.tmp += $cd_dur macroengine.tmp +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $cd_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/set ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" for ","color":"#555555"},{"text":"$(duration)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/disable/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/disable/main.mcfunction new file mode 100644 index 00000000..bb0ef6f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/disable/main.mcfunction @@ -0,0 +1,7 @@ +# Gated disable: if the gate system is active (macroengine:engine sandbox:1b, +# the default), route through confirmation instead of disabling +# immediately. If gates were turned off via gate/toggle/disable, apply +# directly like before. +execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"disable",label:"Disable macroengine",action:"macroengine:core/internal/disable/apply",args:{}} + +function macroengine:core/internal/disable/apply diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/exec.mcfunction new file mode 100644 index 00000000..3440daf1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/exec.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/dispatch/exec [MACRO] +# THE ONLY file in macroengine that executes $function $(func). +# Do NOT call directly — use #macroengine:internal/dispatch. +# +# INPUT (macroengine:engine._dispatch): func → fully-qualified function name +# +# "with storage macroengine:engine _dispatch" forwards the entire _dispatch +# compound as macro context to the target function — not just func. +# This lets callers stash extra fields (alongside func) on _dispatch +# before dispatching, and have the target read them as $(...) macro +# args, without this gateway needing to know what those fields are. +# Added so macroengine:core/lib/fiber/internal/resume_dispatch (dispatched +# via the process_queue -> queue_run_func -> #macroengine:internal/dispatch +# chain) can read $(id)/$(resume) directly instead of relying on a +# separate shared FIFO list that could desync between concurrent +# fibers — see resume_dispatch.mcfunction for the full explanation. +# ───────────────────────────────────────────────────────────────── + +execute unless entity @a run return 0 + +$function $(func) with storage macroengine:engine _dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/run.mcfunction new file mode 100644 index 00000000..04a20251 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/dispatch/run.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/dispatch/run +# Central function dispatch gateway — called via #macroengine:internal/dispatch. +# Reads func from macroengine:engine._dispatch and calls exec via macroengine. +# +# Override #macroengine:internal/dispatch in your overlay/pack to inject +# validation or logging without touching call sites. +# ───────────────────────────────────────────────────────────────── +function macroengine:core/dispatch/exec with storage macroengine:engine _dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated.mcfunction new file mode 100644 index 00000000..cc0b8a49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────── +# macroengine:core/engine/call/execute_validated +# Runs a function that has passed security validation. +# Called only by macroengine:debug/tools/utils/input_check. +# +# Girdi (macroengine:output.inputs): +# func — function name to run (already validated) +# Veri (macroengine:input): +# All parameters to pass to the function +# ───────────────────────────────────────────── + +# Pass validated func name to macro sub-function and run +function macroengine:core/engine/call/execute_validated/run with storage macroengine:output inputs diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated/run.mcfunction new file mode 100644 index 00000000..c80358c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/engine/call/execute_validated/run.mcfunction @@ -0,0 +1,8 @@ +# ───────────────────────────────────────────── +# macroengine:core/engine/call/execute_validated/run +# Expands and runs the validated function via macroengine. +# Gets $(func) variable from macroengine:output.inputs storage, +# uses macroengine:input storage as the parameter source. +# ───────────────────────────────────────────── + +$function $(func) with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/check.mcfunction new file mode 100644 index 00000000..eb8f50b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/check.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/fallback/check +# Returns 1 if a fallback was triggered in the last call, 0 otherwise. +# Usage: +# function macroengine:core/fallback/clear +# function ns:your/action +# execute if data storage macroengine:output fallback{triggered:1b} run function ns:handle_failure +# function macroengine:core/fallback/check ← or use this for return-based checks +execute if data storage macroengine:output fallback{triggered:1b} run return 1 +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/clear.mcfunction new file mode 100644 index 00000000..ee4f675f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/clear.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/fallback/clear +# Clears the fallback state from macroengine:output. +# Call this before an action chain to get a clean fallback check afterwards. +# Usage: function macroengine:core/fallback/clear +data remove storage macroengine:output fallback diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/entity_missing.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/entity_missing.mcfunction new file mode 100644 index 00000000..643dde18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/entity_missing.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/entity_missing +# Called when a required entity target was not found. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] entity_missing — no valid target found" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"entity_missing"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/generic.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/generic.mcfunction new file mode 100644 index 00000000..bf3983ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/generic.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/generic +# Called when no specific fallback applies. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] generic fallback triggered" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"generic"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/invalid_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/invalid_score.mcfunction new file mode 100644 index 00000000..8e782881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/invalid_score.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/invalid_score +# Called when a required scoreboard value is absent or out of range. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] invalid_score — score missing or out of range, using default" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"invalid_score"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/no_permission.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/no_permission.mcfunction new file mode 100644 index 00000000..744c651d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/no_permission.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/fallback/no_permission +# Called when executor's macroengine.perm_level < security.cmd_min_level (or sandbox threshold). + +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] no_permission — macroengine.perm_level below required threshold" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data remove storage macroengine:engine _log_add_tmp.message +data remove storage macroengine:engine _log_add_tmp.level +data remove storage macroengine:engine _log_add_tmp.color + +# Notify caller +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Permission denied. Your ","color":"red"},{"text":"macroengine.perm_level","color":"aqua"},{"text":" is insufficient.","color":"red"}] + +# Notify debug admins +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"NO_PERM ","color":"yellow","bold":true},{"selector":"@s","color":"gold"},{"text":" — perm_level below threshold","color":"yellow"}] + +data modify storage macroengine:output fallback set value {triggered:1b,reason:"no_permission"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/not_loaded.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/not_loaded.mcfunction new file mode 100644 index 00000000..341c373c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/not_loaded.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/not_loaded +# Called when the engine is not initialized. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] not_loaded — macroengine not initialized, run /function macroengine:load" +data modify storage macroengine:engine _log_add_tmp.level set value "ERROR" +data modify storage macroengine:engine _log_add_tmp.color set value "red" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"not_loaded"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/storage_missing.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/storage_missing.mcfunction new file mode 100644 index 00000000..8c1fe5d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/fallback/storage_missing.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/storage_missing +# Called when expected NBT storage data is absent. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] storage_missing — required NBT key not found" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"storage_missing"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/apply_defaults.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/apply_defaults.mcfunction new file mode 100644 index 00000000..a72a87ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/apply_defaults.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/cb/internal/apply_defaults +# Fills in missing x/y/z fields before the macro call. +execute unless data storage macroengine:input cb.x run data modify storage macroengine:input cb.x set value 0 +execute unless data storage macroengine:input cb.y run data modify storage macroengine:input cb.y set value -64 +execute unless data storage macroengine:input cb.z run data modify storage macroengine:input cb.z set value 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/exec.mcfunction new file mode 100644 index 00000000..99be842e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/exec.mcfunction @@ -0,0 +1,14 @@ +# macroengine:api/cb/internal/exec +# Macro: called via "function ... with storage macroengine:input cb" +# Expected keys: cmd (string), x (int), y (int), z (int) +# +# Side-effects: +# • Writes macroengine:engine _cb_last {x,y,z} for the cleanup step. +# • Schedules macroengine:api/cb/internal/reset 2t later. + +$data modify storage macroengine:engine _cb_last set value {x:$(x),y:$(y),z:$(z)} +$forceload add $(x) $(z) +$setblock $(x) $(y) $(z) minecraft:command_block{Command:"",auto:0b,TrackOutput:0b} replace +$data modify block $(x) $(y) $(z) Command set value "$(cmd)" +$data modify block $(x) $(y) $(z) auto set value 1b +schedule function macroengine:core/internal/api/cb/reset 2t replace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset.mcfunction new file mode 100644 index 00000000..a6005648 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset.mcfunction @@ -0,0 +1,6 @@ +# macroengine:api/cb/internal/reset +# Scheduled 2t after exec — cleans up the temporary command block. +# Reads coordinates from transient cb_slot storage so reset targets +# the correct location even if run() was called again in the meantime. + +function macroengine:core/internal/api/cb/reset_exec with storage macroengine:engine _cb_last diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset_exec.mcfunction new file mode 100644 index 00000000..54eb6b0f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cb/reset_exec.mcfunction @@ -0,0 +1,4 @@ +# Macro: receives {x, y, z} +$data modify block $(x) $(y) $(z) auto set value 0b +$setblock $(x) $(y) $(z) minecraft:air replace +$forceload remove $(x) $(z) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/anchor_tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/anchor_tp.mcfunction new file mode 100644 index 00000000..2493e578 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/anchor_tp.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/anchor_tp [INTERNAL] +# Called every tick via freeze/internal/tick, once per anchor stand. +# Execution context: AS = anchor armor stand, AT = stand's position. +# +# Reads this stand's macroengine.freeze_id into a tmp score, then teleports +# the frozen player whose macroengine.pid matches that value back to +# this exact position (~ ~ ~). +# +# The ~ ~ ~ resolves to the armor stand's world position because +# the calling execute chain set position with `at @s` on the stand. +# Switching executor to the player with `as @a[...]` does NOT reset +# the position — it remains at the stand. So `teleport @s ~ ~ ~` +# moves the player to the stand's feet. This runs once per tick, +# so players cannot escape regardless of client-side movement speed. +# ───────────────────────────────────────────────────────────────── + +scoreboard players operation $freeze_tp macroengine.tmp = @s macroengine.freeze_id +execute as @a[tag=macroengine.frozen] if score @s macroengine.pid = $freeze_tp macroengine.tmp run teleport @s ~ ~ ~ +execute as @a[tag=macroengine.frozen] if score @s macroengine.pid = $freeze_tp macroengine.tmp run gamemode adventure @s diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/apply.mcfunction new file mode 100644 index 00000000..b4827496 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/apply.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/apply [INTERNAL] +# Runs AS the player to be frozen, AT their position. +# +# 1. Summons an invisible Marker armor stand at the player's feet. +# Marker=1b means no hitbox and no tick overhead. +# 2. Copies the player's macroengine.pid to the stand's macroengine.freeze_id +# so the tick function can match player↔stand reliably. +# 3. Tags both the stand (macroengine.freeze_anchor) and the player +# (macroengine.frozen). +# ───────────────────────────────────────────────────────────────── + +# Summon the anchor stand at player's exact position +summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,Marker:1b,NoGravity:1b,Tags:["macroengine.freeze_anchor"]} + +# Copy this player's PID to a tmp score, then copy to the nearest +# anchor stand (the one we just summoned — always nearest to us). +scoreboard players operation $freeze_link macroengine.tmp = @s macroengine.pid +execute as @e[tag=macroengine.freeze_anchor,sort=nearest,limit=1] run scoreboard players operation @s macroengine.freeze_id = $freeze_link macroengine.tmp + +# Tag the player as frozen +tag @s add macroengine.frozen + +# Notify and play sound +playsound macroengine:ui.freeze master @s ~ ~ ~ 0.9 0.9 +tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"translate":"macroengine.msg.freeze","color":"#00aaff","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/remove.mcfunction new file mode 100644 index 00000000..6a30ac0c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/remove.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/remove [INTERNAL] +# Runs AS the player being unfrozen. +# +# Copies the player's macroengine.pid to tmp, then kills every anchor +# stand whose macroengine.freeze_id matches (should always be exactly one). +# Then removes the macroengine.frozen tag so the tick function's +# early-exit check fires and no further TPs occur. +# ───────────────────────────────────────────────────────────────── + +# Store this player's PID so we can match it against anchor stands +scoreboard players operation $freeze_rm macroengine.tmp = @s macroengine.pid + +# Kill the matching anchor stand +execute as @e[tag=macroengine.freeze_anchor] if score @s macroengine.freeze_id = $freeze_rm macroengine.tmp run kill @s + +# Unfreeze the player +tag @s remove macroengine.frozen + +# Notify and play sound +playsound macroengine:ui.unfreeze master @s ~ ~ ~ 0.7 1.3 +tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"translate":"macroengine.msg.unfreeze","color":"#55ff55","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/tick.mcfunction new file mode 100644 index 00000000..7b870003 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/freeze/tick.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/tick [INTERNAL — runs via on_tick] +# Hooked into #macroengine:events/on_tick (called every game tick). +# +# Early-exit if no frozen players exist — zero cost when the +# freeze system is idle. +# +# For each anchor stand: switch execution position to the stand, +# then delegate to anchor_tp which identifies and teleports the +# matching frozen player back to that position. +# ───────────────────────────────────────────────────────────────── + +# Fast exit — no frozen players, nothing to do +execute unless entity @a[tag=macroengine.frozen] run return 0 + +# Iterate anchor stands and teleport their linked players back +execute as @e[tag=macroengine.freeze_anchor] at @s run function macroengine:core/internal/api/cmd/freeze/anchor_tp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction new file mode 100644 index 00000000..cca39a03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/run_spread +# Spreads _mcmd_queue execution: one item per tick. +# Schedules run_spread_tick which self-reschedules until queue is drained. +# Supports full item format (conditions, hooks, cmd, func). +# ───────────────────────────────────────────────────────────────── + +execute if data storage macroengine:engine _mcmd_queue[0] run schedule function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick 1t append + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/run_spread ","color":"aqua"},{"text":"↷ spread scheduled","color":"gray"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction new file mode 100644 index 00000000..a01daf9c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/run_spread_tick +# Called once per tick by `schedule` to process the next spread command. +# Self-schedules until _mcmd_queue is drained. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _mcmd_queue[0] run return 0 + +data modify storage macroengine:engine _mcmd_current set from storage macroengine:engine _mcmd_queue[0] +data remove storage macroengine:engine _mcmd_queue[0] + +execute if data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_object +execute unless data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_string + +data remove storage macroengine:engine _mcmd_current + +# Continue draining the queue — schedule next tick +execute if data storage macroengine:engine _mcmd_queue[0] run schedule function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick 1t append + +# Cleanup options when fully done +execute unless data storage macroengine:engine _mcmd_queue[0] run data remove storage macroengine:engine _mcmd_options + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/spread ","color":"aqua"},{"text":"◉ tick","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction new file mode 100644 index 00000000..d910ec54 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_append_loop +# Recursive: drain _sort_tmp into _mcmd_queue one item at a time. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _sort_tmp[0] run return 0 + +data modify storage macroengine:engine _mcmd_queue append from storage macroengine:engine _sort_tmp[0] +data remove storage macroengine:engine _sort_tmp[0] + +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction new file mode 100644 index 00000000..3eda8881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction @@ -0,0 +1,38 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_by_priority +# Sorts _mcmd_queue by priority field (ascending). +# Items with no priority field default to 0 (middle bucket). +# Buckets: negative | zero/unset | positive +# Uses sort_scan_loop (classify) + sort_append_loop (merge). +# ───────────────────────────────────────────────────────────────── + +# Move queue to sort_buf; initialize buckets +data modify storage macroengine:engine _sort_buf set from storage macroengine:engine _mcmd_queue +data modify storage macroengine:engine _sort_neg set value [] +data modify storage macroengine:engine _sort_zero set value [] +data modify storage macroengine:engine _sort_pos set value [] + +# Classify each item into the correct bucket +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop + +# Rebuild queue: neg → zero → pos +data modify storage macroengine:engine _mcmd_queue set value [] + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_neg +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_zero +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_pos +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +# Cleanup +data remove storage macroengine:engine _sort_buf +data remove storage macroengine:engine _sort_neg +data remove storage macroengine:engine _sort_zero +data remove storage macroengine:engine _sort_pos +data remove storage macroengine:engine _sort_tmp +data remove storage macroengine:engine _sort_cur + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/sort ","color":"aqua"},{"text":"✔ sorted by priority","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction new file mode 100644 index 00000000..aae24506 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_scan_loop +# Recursive: dequeue one item from _sort_buf and classify it. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _sort_buf[0] run return 0 + +data modify storage macroengine:engine _sort_cur set from storage macroengine:engine _sort_buf[0] +data remove storage macroengine:engine _sort_buf[0] + +# Read priority into scoreboard — returns 0 if field absent (desired default) +execute store result score $sort_pri macroengine.tmp run data get storage macroengine:engine _sort_cur.priority + +execute if score $sort_pri macroengine.tmp matches ..-1 run data modify storage macroengine:engine _sort_neg append from storage macroengine:engine _sort_cur +execute if score $sort_pri macroengine.tmp matches 0 run data modify storage macroengine:engine _sort_zero append from storage macroengine:engine _sort_cur +execute if score $sort_pri macroengine.tmp matches 1.. run data modify storage macroengine:engine _sort_pos append from storage macroengine:engine _sort_cur + +scoreboard players reset $sort_pri macroengine.tmp + +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction new file mode 100644 index 00000000..a1cf49a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/check_condition +# Check condition and write result to $mcmd_cond_result +# _mcmd_current.condition: {tag:"...", score:{...}, predicate:"..."} +# ───────────────────────────────────────────────────────────────── + +# Default: condition passed +scoreboard players set $mcmd_cond_result macroengine.tmp 1 + +# Tag check +execute if data storage macroengine:engine _mcmd_current.condition.tag run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_tag + +# Score check +execute if data storage macroengine:engine _mcmd_current.condition.score run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_score + +# Predicate check +execute if data storage macroengine:engine _mcmd_current.condition.predicate run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_predicate + +# Entity check (selector) +execute if data storage macroengine:engine _mcmd_current.condition.entity run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_entity + +# Storage check +execute if data storage macroengine:engine _mcmd_current.condition.storage run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_storage diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction new file mode 100644 index 00000000..3072b60b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/cleanup +# Cleanup — remove temporary storages +# ───────────────────────────────────────────────────────────────── + +data remove storage macroengine:engine _mcmd_queue +data remove storage macroengine:engine _mcmd_current +data remove storage macroengine:engine _mcmd_exec +data remove storage macroengine:engine _mcmd_cond_tmp + +# Sort temporaries (no-op if sort was not used) +data remove storage macroengine:engine _sort_neg +data remove storage macroengine:engine _sort_zero +data remove storage macroengine:engine _sort_pos +data remove storage macroengine:engine _sort_buf +data remove storage macroengine:engine _sort_tmp +data remove storage macroengine:engine _sort_cur + +scoreboard players reset $mcmd_cond_result macroengine.tmp +scoreboard players reset $mcmd_cond_score macroengine.tmp +scoreboard players reset $sort_pri macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction new file mode 100644 index 00000000..c554f93d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction @@ -0,0 +1,2 @@ +# Entity selector checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_entity_exec with storage macroengine:engine _mcmd_current.condition diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction new file mode 100644 index 00000000..878ca762 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction @@ -0,0 +1,2 @@ +# Predicate checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_pred_exec with storage macroengine:engine _mcmd_current.condition diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction new file mode 100644 index 00000000..9cddbeca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction @@ -0,0 +1,6 @@ +# Score checker +execute store result score $mcmd_cond_score macroengine.tmp run scoreboard players get @s dummy +data modify storage macroengine:engine _mcmd_cond_tmp set from storage macroengine:engine _mcmd_current.condition.score +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_score_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp +scoreboard players reset $mcmd_cond_score macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction new file mode 100644 index 00000000..0b0daa7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction @@ -0,0 +1,2 @@ +# Storage data checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_storage_exec with storage macroengine:engine _mcmd_current.condition.storage diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction new file mode 100644 index 00000000..7639dfdd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/cond_check_tag +# Tag check — @s must have the specified tag +# condition.tag: "admin" or {name:"admin", has:1b} +# ───────────────────────────────────────────────────────────────── + +# Simple string format +execute unless data storage macroengine:engine _mcmd_current.condition.tag{} run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_simple + +# Object format {name:"...", has:1b/0b} +execute if data storage macroengine:engine _mcmd_current.condition.tag{} run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_object diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction new file mode 100644 index 00000000..7f8032bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(entity) +$execute unless entity $(entity) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction new file mode 100644 index 00000000..adaa7826 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(predicate) +$execute unless predicate $(predicate) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction new file mode 100644 index 00000000..f4f6e185 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction @@ -0,0 +1,4 @@ +# [MACRO] INPUT: $(objective), $(min), $(max) +$execute store result score $mcmd_cond_score macroengine.tmp run scoreboard players get @s $(objective) +$execute if score $mcmd_cond_score macroengine.tmp matches $(min)..$(max) run return 0 +scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction new file mode 100644 index 00000000..401dab2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(path) +$execute unless data storage $(path) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction new file mode 100644 index 00000000..04f33cae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(tag) +$execute unless entity @s[tag=$(tag)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction new file mode 100644 index 00000000..46f7c281 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction @@ -0,0 +1,3 @@ +# [MACRO] INPUT: $(name), $(has) +$execute if data storage macroengine:engine _mcmd_cond_tmp{has:1b} unless entity @s[tag=$(name)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 +$execute if data storage macroengine:engine _mcmd_cond_tmp{has:0b} if entity @s[tag=$(name)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction new file mode 100644 index 00000000..739df944 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction @@ -0,0 +1,7 @@ +# Tag object checker - {name:"...", has:1b/0b} + +data modify storage macroengine:engine _mcmd_cond_tmp set from storage macroengine:engine _mcmd_current.condition.tag +execute unless data storage macroengine:engine _mcmd_cond_tmp.has run data modify storage macroengine:engine _mcmd_cond_tmp.has set value 1b + +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction new file mode 100644 index 00000000..52b72860 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/cmd/other/multi_cmd/internal/cond_tag_simple +# Simple string tag check + +data modify storage macroengine:engine _mcmd_cond_tmp set value {} +data modify storage macroengine:engine _mcmd_cond_tmp.tag set from storage macroengine:engine _mcmd_current.condition.tag +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec.mcfunction new file mode 100644 index 00000000..a51f4e5c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec.mcfunction @@ -0,0 +1 @@ +$execute run $(current_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction new file mode 100644 index 00000000..7bf115ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction @@ -0,0 +1 @@ +$function $(current_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction new file mode 100644 index 00000000..498d2987 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction @@ -0,0 +1,6 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_func_macro [MACRO] +# INPUT: $(func) +# ───────────────────────────────────────────────────────────────── + +$function $(func) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction new file mode 100644 index 00000000..c5ba9d61 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_macro [MACRO] +# INPUT: $(cmd) +# ───────────────────────────────────────────────────────────────── + +# Pass raw command to pipeline input +$data modify storage macroengine:input raw_command set value "$(cmd)" + +# Execute security pipeline (which sets up isolation, validates, checks canary) +# cmd_gate now acts as the pipeline entry point + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command safely executed via pipeline","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction new file mode 100644 index 00000000..1482a207 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_object +# Execute advanced object command +# _mcmd_current format: {cmd:"...", condition:{}, priority:0} +# ───────────────────────────────────────────────────────────────── + +# Check condition (if present) +execute if data storage macroengine:engine _mcmd_current.condition run function macroengine:core/internal/api/cmd/other/multi_cmd/check_condition +execute if data storage macroengine:engine _mcmd_current.condition if score $mcmd_cond_result macroengine.tmp matches 0 run return 0 + +# Run pre-hook (if present) +execute if data storage macroengine:engine _mcmd_current.pre_hook run function macroengine:core/internal/api/cmd/other/multi_cmd/run_pre_hook + +# Start profiling (if present) +execute if data storage macroengine:engine _mcmd_options{profile:1b} run execute store result score $mcmd_exec_start macroengine.tmp run time query gametime + +# Execute command +execute if data storage macroengine:engine _mcmd_current.cmd run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_macro with storage macroengine:engine _mcmd_current +execute if data storage macroengine:engine _mcmd_current.func run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_func_macro with storage macroengine:engine _mcmd_current + +# End profiling (if present) +execute if data storage macroengine:engine _mcmd_options{profile:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/record_exec_time + +# Run post-hook (if present) +execute if data storage macroengine:engine _mcmd_current.post_hook run function macroengine:core/internal/api/cmd/other/multi_cmd/run_post_hook + +# Track stats +execute if data storage macroengine:engine _mcmd_options{profile:1b} run scoreboard players add $mcmd_success macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction new file mode 100644 index 00000000..127f30f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_string +# Execute simple string command +# _mcmd_current is a plain string e.g. "say Hello" +# ───────────────────────────────────────────────────────────────── + +# Wrap string into object +data modify storage macroengine:engine _mcmd_exec set value {} +data modify storage macroengine:engine _mcmd_exec.cmd set from storage macroengine:engine _mcmd_current + +# Execute via macro +function macroengine:core/internal/api/cmd/other/multi_cmd/exec_macro with storage macroengine:engine _mcmd_exec + +# Cleanup +data remove storage macroengine:engine _mcmd_exec diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction new file mode 100644 index 00000000..5a3fa756 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction @@ -0,0 +1,9 @@ +# Convert string list to {func:"..."} objects +execute unless data storage macroengine:input list[0] run return 0 + +data modify storage macroengine:engine _mcmd_func_tmp set value {} +data modify storage macroengine:engine _mcmd_func_tmp.func set from storage macroengine:input list[0] +data modify storage macroengine:engine _mcmd_queue append from storage macroengine:engine _mcmd_func_tmp + +data remove storage macroengine:input list[0] +function macroengine:core/internal/api/cmd/other/multi_cmd/func_convert_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction new file mode 100644 index 00000000..b742d7ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(post_hook) +$function $(post_hook) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction new file mode 100644 index 00000000..51d13105 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(pre_hook) +$function $(pre_hook) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction new file mode 100644 index 00000000..2fe2f68f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction @@ -0,0 +1,8 @@ +# Record execution time for profiling +execute store result score $mcmd_exec_end macroengine.tmp run time query gametime +scoreboard players operation $mcmd_exec_dur macroengine.tmp = $mcmd_exec_end macroengine.tmp +scoreboard players operation $mcmd_exec_dur macroengine.tmp -= $mcmd_exec_start macroengine.tmp + +scoreboard players reset $mcmd_exec_start macroengine.tmp +scoreboard players reset $mcmd_exec_end macroengine.tmp +scoreboard players reset $mcmd_exec_dur macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction new file mode 100644 index 00000000..681b1b37 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(selector) +$execute as $(selector) run function macroengine:api/cmd/other/multi_cmd/run diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction new file mode 100644 index 00000000..ae68a910 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(selector) +$execute at $(selector) run function macroengine:api/cmd/other/multi_cmd/run diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction new file mode 100644 index 00000000..de389c2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction @@ -0,0 +1,2 @@ +# Post-hook runner +function macroengine:core/internal/api/cmd/other/multi_cmd/hook_post_exec with storage macroengine:engine _mcmd_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction new file mode 100644 index 00000000..d9a08685 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction @@ -0,0 +1,2 @@ +# Pre-hook runner +function macroengine:core/internal/api/cmd/other/multi_cmd/hook_pre_exec with storage macroengine:engine _mcmd_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction new file mode 100644 index 00000000..90575d99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/show_stats +# Show statistics +# ───────────────────────────────────────────────────────────────── + +execute store result score $mcmd_end_time macroengine.tmp run time query gametime +execute store result score $mcmd_duration macroengine.tmp run data get storage macroengine:engine _mcmd_stats.start_time +scoreboard players operation $mcmd_duration macroengine.tmp = $mcmd_end_time macroengine.tmp +scoreboard players operation $mcmd_duration macroengine.tmp -= $mcmd_duration macroengine.tmp + +execute store result storage macroengine:engine _mcmd_stats.total int 1 run scoreboard players get $mcmd_total macroengine.tmp +execute store result storage macroengine:engine _mcmd_stats.success int 1 run scoreboard players get $mcmd_success macroengine.tmp +execute store result storage macroengine:engine _mcmd_stats.duration int 1 run scoreboard players get $mcmd_duration macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/stats ","color":"aqua"},{"text":"Total: ","color":"#555555"},{"nbt":"_mcmd_stats.total","plain":true ,"storage":"macroengine:engine","color":"white"},{"text":" | Success: ","color":"#555555"},{"nbt":"_mcmd_stats.success","plain":true ,"storage":"macroengine:engine","color":"green"},{"text":" | Duration: ","color":"#555555"},{"nbt":"_mcmd_stats.duration","plain":true ,"storage":"macroengine:engine","color":"yellow"},{"text":"t","color":"yellow"}] + +scoreboard players reset $mcmd_total macroengine.tmp +scoreboard players reset $mcmd_success macroengine.tmp +scoreboard players reset $mcmd_duration macroengine.tmp +scoreboard players reset $mcmd_end_time macroengine.tmp +data remove storage macroengine:engine _mcmd_stats diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step.mcfunction new file mode 100644 index 00000000..75334469 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/step +# Dequeue one command and execute it, then recurse +# ───────────────────────────────────────────────────────────────── + +# Return if queue is empty +execute unless data storage macroengine:engine _mcmd_queue[0] run return 0 + +# Dequeue first command +data modify storage macroengine:engine _mcmd_current set from storage macroengine:engine _mcmd_queue[0] +data remove storage macroengine:engine _mcmd_queue[0] + +# Increment stats counter +execute if data storage macroengine:engine _mcmd_options{profile:1b} run scoreboard players add $mcmd_total macroengine.tmp 1 + +# Execute command (string or object) +execute if data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_object +execute unless data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_string + +# Process next command +function macroengine:core/internal/api/cmd/other/multi_cmd/step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction new file mode 100644 index 00000000..5b48a50d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _mcmd_list[0] run return 0 + +data modify storage macroengine:engine _mcmd_entry set value {} +data modify storage macroengine:engine _mcmd_entry.current_cmd set from storage macroengine:engine _mcmd_list[0] +data remove storage macroengine:engine _mcmd_list[0] + +function macroengine:core/internal/api/cmd/other/multi_cmd/exec_func with storage macroengine:engine _mcmd_entry + +function macroengine:core/internal/api/cmd/other/multi_cmd/step_func diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_false.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_false.mcfunction new file mode 100644 index 00000000..d3eefaf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_false.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/gamerule/internal/call_on_false [MACRO] +# Calls the gr_on_false callback. Called by dispatch only. +$function $(gr_on_false) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_true.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_true.mcfunction new file mode 100644 index 00000000..021f9454 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/call_on_true.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/gamerule/internal/call_on_true [MACRO] +# Calls the gr_on_true callback. Called by dispatch only. +$function $(gr_on_true) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/debug_print.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/debug_print.mcfunction new file mode 100644 index 00000000..56f3979b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/debug_print.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/internal/api/gamerule/debug_print [MACRO] +# Internal — do not call directly. +# +# Emits the gamerule/get debug line. Split out from api/gamerule/get so the +# $(_gamerule_norm) macro arg is bound fresh from storage AFTER the normalize +# step writes it, instead of at get.mcfunction's own entry (before the value +# existed). +# +# Expects: {_gamerule_norm:"..."} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"white"},{"text":" = ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"gamerule","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/dispatch.mcfunction new file mode 100644 index 00000000..deb85da0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/dispatch.mcfunction @@ -0,0 +1,19 @@ +# macroengine:api/gamerule/internal/dispatch +# Evaluates the value and calls the appropriate callback function. +# Called exclusively by macroengine:api/gamerule/set — do NOT call directly. +# +# INPUT (storage macroengine:input): +# value — raw value string: "true", "false", or numeric string +# gr_on_true — (optional) function to call when value is "true" +# gr_on_false — (optional) function to call when value is "false" +# gr_on_value — (optional) function to call for numeric match +# gr_matches — (optional) scoreboard range string, e.g. "5..10" + +# ── Boolean: true ──────────────────────────────────────────────────────────── +execute if data storage macroengine:input {value:"true"} if data storage macroengine:input gr_on_true run return run function macroengine:core/internal/api/gamerule/call_on_true with storage macroengine:input {} + +# ── Boolean: false ─────────────────────────────────────────────────────────── +execute if data storage macroengine:input {value:"false"} if data storage macroengine:input gr_on_false run return run function macroengine:core/internal/api/gamerule/call_on_false with storage macroengine:input {} + +# ── Numeric with explicit matches range ────────────────────────────────────── +execute if data storage macroengine:input gr_on_value if data storage macroengine:input gr_matches run function macroengine:core/internal/api/gamerule/numeric_check with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/numeric_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/numeric_check.mcfunction new file mode 100644 index 00000000..ac7715d4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/numeric_check.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/gamerule/internal/numeric_check [MACRO] +# Converts value string to score, checks against gr_matches range, calls gr_on_value. +# Called exclusively by dispatch — do NOT call directly. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(value) — numeric value string, e.g. "10" +# $(gr_matches) — scoreboard range string, e.g. "5..10" or "1.." +# $(gr_on_value) — function to call if score is in range + +$scoreboard players set #macroengine_gamerule_scratch macroengine.gamerule $(value) +$execute if score #macroengine_gamerule_scratch macroengine.gamerule matches $(gr_matches) run function $(gr_on_value) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/persist.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/persist.mcfunction new file mode 100644 index 00000000..0877453a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/persist.mcfunction @@ -0,0 +1,9 @@ +# macroengine:api/gamerule/internal/persist [MACRO] +# Writes the normalized rule name + value into macroengine:engine gamerules compound. +# Called exclusively by macroengine:api/gamerule/set — do NOT call directly. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(_gamerule_norm) — normalized rule name (spaces → underscores, lowercase) +# $(value) — value string + +$data modify storage macroengine:engine gamerules.$(_gamerule_norm) set value "$(value)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/read.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/read.mcfunction new file mode 100644 index 00000000..a191cb76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/read.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/gamerule/internal/read [MACRO] +# Reads gamerule value from engine storage into output. +# Called by get only. +$execute if data storage macroengine:engine gamerules.$(_gamerule_norm) run data modify storage macroengine:output gamerule set from storage macroengine:engine gamerules.$(_gamerule_norm) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/remove.mcfunction new file mode 100644 index 00000000..dfbec7d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/gamerule/remove.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/gamerule/internal/remove [MACRO] +# Removes a single gamerule key from engine storage. +# Called by reset only. +$data remove storage macroengine:engine gamerules.$(_gamerule_norm) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_attack_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_attack_do.mcfunction new file mode 100644 index 00000000..2634dc15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_attack_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/interaction/internal/bind_attack_do [MACRO] [INTERNAL] +# Called by bind_attack with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine interaction_binds.attack append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/bind_attack ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_use_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_use_do.mcfunction new file mode 100644 index 00000000..925684ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/bind_use_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/interaction/internal/bind_use_do [MACRO] [INTERNAL] +# Called by bind_use with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine interaction_binds.use append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/bind_use ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/check_bind.mcfunction new file mode 100644 index 00000000..cba1808d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/check_bind.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute if entity @e[type=minecraft:interaction,tag=macroengine.ia_active,tag=$(tag),limit=1] run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/dispatch.mcfunction new file mode 100644 index 00000000..e77bb0e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/dispatch.mcfunction @@ -0,0 +1,6 @@ +data modify storage macroengine:engine _ia_cur set from storage macroengine:engine _ia_iter[0] +data remove storage macroengine:engine _ia_iter[0] + +function macroengine:core/internal/api/interaction/check_bind with storage macroengine:engine _ia_cur + +execute if data storage macroengine:engine _ia_iter[0] run function macroengine:core/internal/api/interaction/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_attack.mcfunction new file mode 100644 index 00000000..06d2580a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_attack.mcfunction @@ -0,0 +1,9 @@ +tag @s add macroengine.ia_active + +data modify storage macroengine:engine _ia_iter set from storage macroengine:engine interaction_binds.attack +execute if data storage macroengine:engine _ia_iter[0] run execute on attacker run function macroengine:core/internal/api/interaction/dispatch + +tag @s remove macroengine.ia_active +data remove entity @s attack +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_use.mcfunction new file mode 100644 index 00000000..3029909d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/on_use.mcfunction @@ -0,0 +1,9 @@ +tag @s add macroengine.ia_active + +data modify storage macroengine:engine _ia_iter set from storage macroengine:engine interaction_binds.use +execute if data storage macroengine:engine _ia_iter[0] run execute on target run function macroengine:core/internal/api/interaction/dispatch + +tag @s remove macroengine.ia_active +data remove entity @s interaction +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/tick_scan.mcfunction new file mode 100644 index 00000000..fcd9cf42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/tick_scan.mcfunction @@ -0,0 +1,8 @@ +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/interaction/false +execute unless data storage macroengine:engine {modules:{interaction:1b}} run return 0 + +execute unless entity @e[type=minecraft:interaction,tag=macroengine.interaction,limit=1] run return 0 + +execute if data storage macroengine:engine interaction_binds.attack[0] run execute as @e[type=minecraft:interaction,tag=macroengine.interaction] if data entity @s attack run function macroengine:core/internal/api/interaction/on_attack + +execute if data storage macroengine:engine interaction_binds.use[0] run execute as @e[type=minecraft:interaction,tag=macroengine.interaction] if data entity @s interaction run function macroengine:core/internal/api/interaction/on_use diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_check.mcfunction new file mode 100644 index 00000000..f6912e95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_check.mcfunction @@ -0,0 +1 @@ +$execute unless data storage macroengine:engine _ia_ucur{tag:"$(tag)",func:"$(func)"} run data modify storage macroengine:engine interaction_binds.$(list) append from storage macroengine:engine _ia_ucur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_filter.mcfunction new file mode 100644 index 00000000..c663528c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/interaction/unbind_filter.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _ia_ubinds[0] run return 0 + +data modify storage macroengine:engine _ia_ucur set from storage macroengine:engine _ia_ubinds[0] +data remove storage macroengine:engine _ia_ubinds[0] + +function macroengine:core/internal/api/interaction/unbind_check with storage macroengine:engine _ia_ufilter + +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ucur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/combo_marker_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/combo_marker_apply.mcfunction new file mode 100644 index 00000000..a19d4ca4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/combo_marker_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/combo_marker_apply +# Internal — do not call directly. Second pass of api/item/combo_marker. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) macroengine:item_modifier/set_custom_data +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/combo_marker ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/durability_overlay_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/durability_overlay_apply.mcfunction new file mode 100644 index 00000000..652d2817 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/durability_overlay_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/durability_overlay_apply +# Internal — do not call directly. Second pass of api/item/durability_overlay. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) macroengine:item_modifier/set_custom_data +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/durability_overlay ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/hidden_flag_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/hidden_flag_apply.mcfunction new file mode 100644 index 00000000..61e59677 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/hidden_flag_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/hidden_flag_apply +# Internal — do not call directly. Second pass of api/item/hidden_flag. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) macroengine:item_modifier/set_custom_data +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/hidden_flag ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/owner_tag_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/owner_tag_apply.mcfunction new file mode 100644 index 00000000..401c288a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/owner_tag_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/owner_tag_apply +# Internal — do not call directly. Second pass of api/item/owner_tag. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) macroengine:item_modifier/set_custom_data +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/owner_tag ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/read_macroengine_compound.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/read_macroengine_compound.mcfunction new file mode 100644 index 00000000..90357dea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/read_macroengine_compound.mcfunction @@ -0,0 +1,16 @@ +# macroengine:core/internal/api/item/read_macroengine_compound +# Internal — do not call directly. +# +# Reads the MAIN HAND item's existing minecraft:custom_data.macroengine compound +# into storage macroengine:_item_tmp macroengine, defaulting to {} if absent. Every +# api/item/* function calls this before writing, so that set_components +# never clobbers fields written by a different api/item/* call. This is the +# one piece shared across all five field-setters below (the field name +# itself must stay a literal in each caller's own JSON body, since macro +# variables cannot substitute NBT compound KEYS — only values). +# +# Expects: {player:"..."} +# Produces: storage macroengine:_item_tmp macroengine + +data modify storage macroengine:_item_tmp macroengine set value {} +$execute as @a[name=$(player),limit=1] run data modify storage macroengine:_item_tmp macroengine set from entity @s SelectedItem.components."minecraft:custom_data".macroengine diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/use_cooldown_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/use_cooldown_apply.mcfunction new file mode 100644 index 00000000..84aa2e11 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/item/use_cooldown_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/use_cooldown_apply +# Internal — do not call directly. Final pass of api/item/use_cooldown. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) macroengine:item_modifier/set_custom_data +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/use_cooldown ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/check_bind.mcfunction new file mode 100644 index 00000000..50b2bd7b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/check_bind.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _ptd_binds[0] run return 0 + +data modify storage macroengine:engine _ptd_current set from storage macroengine:engine _ptd_binds[0] +data remove storage macroengine:engine _ptd_binds[0] + +execute store result score $ptd_entry_val macroengine.tmp run data get storage macroengine:engine _ptd_current.value +execute if score $ptd_val macroengine.tmp = $ptd_entry_val macroengine.tmp run function macroengine:core/internal/api/perm/trigger/run_if_perm with storage macroengine:engine _ptd_current + +function macroengine:core/internal/api/perm/trigger/check_bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/exec.mcfunction new file mode 100644 index 00000000..f99dec07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/exec.mcfunction @@ -0,0 +1,2 @@ +execute if data storage macroengine:engine _ptd_current.func run function macroengine:core/internal/api/trigger/call with storage macroengine:engine _ptd_current +execute if data storage macroengine:engine _ptd_current.cmd run function macroengine:core/internal/api/trigger/call2 with storage macroengine:engine _ptd_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/player_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/player_dispatch.mcfunction new file mode 100644 index 00000000..28b03527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/player_dispatch.mcfunction @@ -0,0 +1,12 @@ +$scoreboard players operation $ptd_val macroengine.tmp = @s $(name) + +$scoreboard players set @s $(name) 0 +$scoreboard players enable @s $(name) + +$execute unless data storage macroengine:engine perm_triggers.$(name)[0] run return 0 + +$data modify storage macroengine:engine _ptd_binds set from storage macroengine:engine perm_triggers.$(name) + +function macroengine:core/internal/api/perm/trigger/check_bind +data remove storage macroengine:engine _ptd_binds +data remove storage macroengine:engine _ptd_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/run_if_perm.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/run_if_perm.mcfunction new file mode 100644 index 00000000..c25dbfca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/run_if_perm.mcfunction @@ -0,0 +1,5 @@ +execute if entity @s[tag=macroengine.admin] run function macroengine:core/internal/api/perm/trigger/exec with storage macroengine:engine _ptd_current + +$execute unless entity @s[tag=macroengine.admin] if entity @s[tag=perm.$(perm)] run function macroengine:core/internal/api/perm/trigger/exec with storage macroengine:engine _ptd_current + +$execute unless entity @s[tag=macroengine.admin] unless entity @s[tag=perm.$(perm)] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_dispatch.mcfunction new file mode 100644 index 00000000..2fc75837 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_dispatch.mcfunction @@ -0,0 +1,3 @@ +$execute as @a[scores={$(name)=1..}] run function macroengine:core/internal/api/perm/trigger/player_dispatch with storage macroengine:engine _pt_tick_ctx + +$execute as @a run scoreboard players enable @s $(name) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_start.mcfunction new file mode 100644 index 00000000..409e426e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_start.mcfunction @@ -0,0 +1,8 @@ +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/perm/false +execute unless data storage macroengine:engine {modules:{perm:1b}} run return 0 + +execute unless data storage macroengine:engine perm_trigger_names[0] run return 0 + +data modify storage macroengine:engine _pt_names_tmp set from storage macroengine:engine perm_trigger_names +function macroengine:core/internal/api/perm/trigger/tick_step_loop +data remove storage macroengine:engine _pt_names_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_step_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_step_loop.mcfunction new file mode 100644 index 00000000..2910390d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/tick_step_loop.mcfunction @@ -0,0 +1,8 @@ +execute unless data storage macroengine:engine _pt_names_tmp[0] run return 0 + +data modify storage macroengine:engine _pt_tick_ctx set from storage macroengine:engine _pt_names_tmp[0] +data remove storage macroengine:engine _pt_names_tmp[0] + +function macroengine:core/internal/api/perm/trigger/tick_dispatch with storage macroengine:engine _pt_tick_ctx + +function macroengine:core/internal/api/perm/trigger/tick_step_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_filter.mcfunction new file mode 100644 index 00000000..0d778b7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_filter.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _pt_unbind[0] run return 0 + +execute store result score $pt_fval macroengine.tmp run data get storage macroengine:engine _pt_unbind[0].value +execute store result score $pt_uval macroengine.tmp run data get storage macroengine:engine _pt_uval + +execute unless score $pt_fval macroengine.tmp = $pt_uval macroengine.tmp run function macroengine:core/internal/api/perm/trigger/unbind_reinsert with storage macroengine:engine _pt_filter_ctx + +data remove storage macroengine:engine _pt_unbind[0] +function macroengine:core/internal/api/perm/trigger/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_reinsert.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_reinsert.mcfunction new file mode 100644 index 00000000..c2cd5425 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/perm/trigger/unbind_reinsert.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine perm_triggers.$(name) append from storage macroengine:engine _pt_unbind[0] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call2.mcfunction new file mode 100644 index 00000000..46553aa0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/call2.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/trigger/internal/call2 [MACRO] + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/check_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/check_next.mcfunction new file mode 100644 index 00000000..78602d46 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/check_next.mcfunction @@ -0,0 +1,12 @@ +execute unless data storage macroengine:engine _tc_binds[0] run return 0 + +data modify storage macroengine:engine _tc_current set from storage macroengine:engine _tc_binds[0] +data remove storage macroengine:engine _tc_binds[0] + +execute store result score $tc_val macroengine.tmp run data get storage macroengine:engine _tc_current.value + +execute if score $tc_player macroengine.tmp = $tc_val macroengine.tmp if data storage macroengine:engine _tc_current.func run function macroengine:core/internal/api/trigger/call with storage macroengine:engine _tc_current + +execute if score $tc_player macroengine.tmp = $tc_val macroengine.tmp if data storage macroengine:engine _tc_current.cmd run function macroengine:core/internal/api/trigger/call2 with storage macroengine:engine _tc_current + +function macroengine:core/internal/api/trigger/check_next diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/dispatch.mcfunction new file mode 100644 index 00000000..3c85a83a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/dispatch.mcfunction @@ -0,0 +1,12 @@ +scoreboard players operation $tc_player macroengine.tmp = @s macroengine_action + +scoreboard players set @s macroengine_action 0 +scoreboard players enable @s macroengine_action + +execute unless data storage macroengine:engine trigger_binds[0] run return 0 + +data modify storage macroengine:engine _tc_binds set from storage macroengine:engine trigger_binds + +function macroengine:core/internal/api/trigger/check_next +data remove storage macroengine:engine _tc_binds +data remove storage macroengine:engine _tc_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/unbind_filter.mcfunction new file mode 100644 index 00000000..cf102f86 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/trigger/unbind_filter.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine _tc_unbind[0] run return 0 + +execute store result score $tc_fval macroengine.tmp run data get storage macroengine:engine _tc_unbind[0].value + +execute store result score $tc_uval macroengine.tmp run data get storage macroengine:engine _tc_uval + +execute unless score $tc_fval macroengine.tmp = $tc_uval macroengine.tmp run data modify storage macroengine:engine trigger_binds append from storage macroengine:engine _tc_unbind[0] + +data remove storage macroengine:engine _tc_unbind[0] +function macroengine:core/internal/api/trigger/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_cmd.mcfunction new file mode 100644 index 00000000..0db79d7d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_cmd.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/wand/internal/call_cmd [MACRO] + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_func.mcfunction new file mode 100644 index 00000000..7e1b1f80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/call_func.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/wand/internal/call_func [MACRO] +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_item.mcfunction new file mode 100644 index 00000000..06296fb1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_item.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/check_item [MACRO] +# $(tag) → custom_data tag name +# If the item in the player's main hand has this tag, run the bind. + +$execute if items entity @s weapon.mainhand *[minecraft:custom_data~{wand:"$(tag)"}] run function macroengine:core/internal/api/wand/fire with storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_next.mcfunction new file mode 100644 index 00000000..0bb5e259 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/check_next.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/wand/internal/check_next +# Iterate bind list: match the tag of the held item. + +execute unless data storage macroengine:engine _wand_iter[0] run return 0 + +data modify storage macroengine:engine _wand_current set from storage macroengine:engine _wand_iter[0] +data remove storage macroengine:engine _wand_iter[0] + +function macroengine:core/internal/api/wand/check_item with storage macroengine:engine _wand_current + +function macroengine:core/internal/api/wand/check_next diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/dispatch.mcfunction new file mode 100644 index 00000000..7644546d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/dispatch.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/wand/internal/dispatch +# Called as @s. Compare held items with the bind list. + +data modify storage macroengine:engine _wand_iter set from storage macroengine:engine wand_binds +execute if data storage macroengine:engine _wand_iter[0] run function macroengine:core/internal/api/wand/check_next +data remove storage macroengine:engine _wand_iter +data remove storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/fire.mcfunction new file mode 100644 index 00000000..307af610 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/fire [MACRO] +# Run the bind based on func or cmd field. + +execute if data storage macroengine:engine _wand_current.func run function macroengine:core/internal/api/wand/call_func with storage macroengine:engine _wand_current +execute if data storage macroengine:engine _wand_current.cmd run function macroengine:core/internal/api/wand/call_cmd with storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/give_lore_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/give_lore_exec.mcfunction new file mode 100644 index 00000000..07531cd1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/give_lore_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:api/wand/internal/give_lore_exec [MACRO] +# INPUT (macro): $(player), $(tag), $(name), $(lore), $(color) +# +# Writes with lore directly to mainhand via item replace weapon.mainhand. +# Not give but item replace — places directly in slot 0 (mainhand). + +$item replace entity @a[name=$(player),limit=1] weapon.mainhand with minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:lore=[{"text":"$(lore)","italic":false,"color":"$(color)"}],minecraft:enchantment_glint_override=true] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give_lore ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_cmd_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_cmd_do.mcfunction new file mode 100644 index 00000000..db4d8fad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_cmd_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_cmd_do [MACRO] [INTERNAL] +# Called by wand/register_cmd with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(cmd) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → cmd","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_do.mcfunction new file mode 100644 index 00000000..e7750d06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_do [MACRO] [INTERNAL] +# Called by wand/register with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func), $(cmd) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", func:"$(func)", cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_fn_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_fn_do.mcfunction new file mode 100644 index 00000000..4210a68f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/register_fn_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_fn_do [MACRO] [INTERNAL] +# Called by wand/register_fn with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register_fn ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → func","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/tick_scan.mcfunction new file mode 100644 index 00000000..6d25c49d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/tick_scan.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/wand/internal/tick_scan +# Every tick: detect players with macroengine.rightClick score 1+, +# check their held item, run the matching bind. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/wand/false +execute unless data storage macroengine:engine {modules:{wand:1b}} run return 0 + +execute unless data storage macroengine:engine wand_binds[0] run return 0 + +execute as @a[scores={macroengine.rightClick=1..}] at @s run function macroengine:core/internal/api/wand/dispatch +scoreboard players set @a[scores={macroengine.rightClick=1..}] macroengine.rightClick 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_check.mcfunction new file mode 100644 index 00000000..fee71072 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_check.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/wand/internal/unbind_check [MACRO] +# $(tag) is the tag of the current record. Add back if it does not match _wand_filter_tag. + +$execute unless data storage macroengine:engine {_wand_filter_tag:"$(tag)"} run data modify storage macroengine:engine wand_binds append from storage macroengine:engine _wand_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_filter.mcfunction new file mode 100644 index 00000000..be56be2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unbind_filter.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/wand/internal/unbind_filter +# Write back entries from _wand_unbinds that do not match _wand_filter_tag. + +execute unless data storage macroengine:engine _wand_unbinds[0] run return 0 + +data modify storage macroengine:engine _wand_cur set from storage macroengine:engine _wand_unbinds[0] +data remove storage macroengine:engine _wand_unbinds[0] + +function macroengine:core/internal/api/wand/unbind_check with storage macroengine:engine _wand_cur + +function macroengine:core/internal/api/wand/unbind_filter +data remove storage macroengine:engine _wand_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unregister_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unregister_exec.mcfunction new file mode 100644 index 00000000..ce8ebbf1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/api/wand/unregister_exec.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/unregister +# Removes all wand binds belonging to a specific tag. +# +# INPUT: +# $(tag) → tag to remove +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine wand_binds run return 0 + +data modify storage macroengine:engine _wand_unbinds set from storage macroengine:engine wand_binds +data modify storage macroengine:engine wand_binds set value [] +$data modify storage macroengine:engine _wand_filter_tag set value "$(tag)" +function macroengine:core/internal/api/wand/unbind_filter +data remove storage macroengine:engine _wand_unbinds +data remove storage macroengine:engine _wand_filter_tag +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/unregister ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/ban_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/ban_apply.mcfunction new file mode 100644 index 00000000..8909a35b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/ban_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/ban_apply +# The actual ban logic, run either directly (gates off) or after gate +# confirmation (gates on, the default). +$ban $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ban ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/data_remove_storage_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/data_remove_storage_apply.mcfunction new file mode 100644 index 00000000..38c81668 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/data_remove_storage_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/data_remove_storage_apply +# The actual storage-removal logic, run either directly (gates off) or +# after gate confirmation (gates on, the default). +$data remove storage $(storage) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_storage ","color":"aqua"},{"text":"$(storage) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/kick_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/kick_apply.mcfunction new file mode 100644 index 00000000..53370c25 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/cmd/kick_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/kick_apply +# The actual kick logic, run either directly (gates off) or after gate +# confirmation (gates on, the default). +$kick $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/kick ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_cmd.mcfunction new file mode 100644 index 00000000..eff11433 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_cmd.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/add_cmd [MACRO] +# INPUT: $(id) — cmd is NBT-copied from macroengine:input, not macro-spliced +# Called with cmd field guaranteed. + +$data modify storage macroengine:engine batches.$(id).items append value {cmd:""} +$data modify storage macroengine:engine batches.$(id).items[-1].cmd set from storage macroengine:input cmd diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_exec.mcfunction new file mode 100644 index 00000000..4e6a714e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/lib/batch/internal/add_exec [MACRO] +# INPUT: $(id) +# func or cmd field existence is checked outside the macro, +# then the relevant append_func / append_cmd is called — prevents undefined $(func/cmd). + +$execute unless data storage macroengine:engine batches.$(id) run return 0 + +execute if data storage macroengine:input func run function macroengine:core/internal/core/lib/batch/add_func with storage macroengine:input +execute if data storage macroengine:input cmd run function macroengine:core/internal/core/lib/batch/add_cmd with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_func.mcfunction new file mode 100644 index 00000000..5991044f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/add_func.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/add_func [MACRO] +# INPUT: $(id) — func is NBT-copied from macroengine:input, not macro-spliced +# Called with func field guaranteed. + +$data modify storage macroengine:engine batches.$(id).items append value {func:""} +$data modify storage macroengine:engine batches.$(id).items[-1].func set from storage macroengine:input func diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/begin_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/begin_exec.mcfunction new file mode 100644 index 00000000..96227a5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/begin_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/begin_exec [MACRO] +# INPUT: $(id), $(spread_over) + +$data modify storage macroengine:engine batches.$(id) set value {items:[],spread_over:$(spread_over),flushed:0b} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/begin ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" spread_over=$(spread_over)t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/cancel_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/cancel_exec.mcfunction new file mode 100644 index 00000000..ec7872d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/cancel_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/lib/batch/internal/cancel_exec [MACRO] +# INPUT: $(id) + +$execute unless data storage macroengine:engine batches.$(id) run return 0 +$data remove storage macroengine:engine batches.$(id) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/cancel ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" — cancelled","color":"#FF5555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_exec.mcfunction new file mode 100644 index 00000000..f5fef894 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_exec.mcfunction @@ -0,0 +1,31 @@ +# macroengine:core/lib/batch/internal/flush_exec [MACRO] +# INPUT: $(id) +# For each item, delay = floor(idx * spread_over / total) is computed. +# Item'lar tek tek process_queue'ya eklenir — slice storage gerekmez. + +$execute unless data storage macroengine:engine batches.$(id) run return 0 + +# Load total and spread_over values to score +$execute store result score $bfl_total macroengine.tmp run data get storage macroengine:engine batches.$(id).items +$execute store result score $bfl_spread macroengine.tmp run data get storage macroengine:engine batches.$(id).spread_over +execute if score $bfl_spread macroengine.tmp matches ..0 run scoreboard players set $bfl_spread macroengine.tmp 1 +execute if score $bfl_total macroengine.tmp matches 0 run return 0 + +# Iteration counter +scoreboard players set $bfl_idx macroengine.tmp 0 + +# Copy items to working storage +$data modify storage macroengine:engine _bfl_items set from storage macroengine:engine batches.$(id).items +$data modify storage macroengine:engine _bfl_id set value "$(id)" + +function macroengine:core/internal/core/lib/batch/flush_loop + +data remove storage macroengine:engine _bfl_items +data remove storage macroengine:engine _bfl_id +scoreboard players reset $bfl_idx macroengine.tmp +scoreboard players reset $bfl_total macroengine.tmp +scoreboard players reset $bfl_spread macroengine.tmp + +$data remove storage macroengine:engine batches.$(id) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/flush ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" — queued","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_loop.mcfunction new file mode 100644 index 00000000..407ee93e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_loop.mcfunction @@ -0,0 +1,27 @@ +# macroengine:core/lib/batch/internal/flush_loop +# Consumes _bfl_items. For each item: +# delay = floor($bfl_idx * $bfl_spread / $bfl_total) +# computed and added to the queue. +# func or cmd presence is checked with execute if data. + +execute unless data storage macroengine:engine _bfl_items[0] run return 0 + +# delay = floor(idx * spread / total) +scoreboard players operation $bfl_delay macroengine.tmp = $bfl_idx macroengine.tmp +scoreboard players operation $bfl_delay macroengine.tmp *= $bfl_spread macroengine.tmp +scoreboard players operation $bfl_delay macroengine.tmp /= $bfl_total macroengine.tmp + +# Move item to temporary storage +data modify storage macroengine:engine _bfl_cur set from storage macroengine:engine _bfl_items[0] +data remove storage macroengine:engine _bfl_items[0] + +# Write delay to item, then queue by func/cmd +execute store result storage macroengine:engine _bfl_cur.delay int 1 run scoreboard players get $bfl_delay macroengine.tmp + +execute if data storage macroengine:engine _bfl_cur.func run function macroengine:core/internal/core/lib/batch/flush_queue_func with storage macroengine:engine _bfl_cur +execute unless data storage macroengine:engine _bfl_cur.func run execute if data storage macroengine:engine _bfl_cur.cmd run function macroengine:core/internal/core/lib/batch/flush_queue_cmd with storage macroengine:engine _bfl_cur + +data remove storage macroengine:engine _bfl_cur +scoreboard players add $bfl_idx macroengine.tmp 1 + +function macroengine:core/internal/core/lib/batch/flush_loop \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_cmd.mcfunction new file mode 100644 index 00000000..9c6bd1ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/lib/batch/internal/flush_queue_cmd [MACRO] +# INPUT: $(delay) — cmd is NBT-copied from _bfl_cur, not macro-spliced + +$data modify storage macroengine:engine queue append value {cmd:"", delay:$(delay)} +data modify storage macroengine:engine queue[-1].cmd set from storage macroengine:engine _bfl_cur.cmd diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_func.mcfunction new file mode 100644 index 00000000..c5e3aeff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/batch/flush_queue_func.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/lib/batch/internal/flush_queue_func [MACRO] +# INPUT: $(delay) — func is NBT-copied from _bfl_cur, not macro-spliced + +$data modify storage macroengine:engine queue append value {func:"", delay:$(delay)} +data modify storage macroengine:engine queue[-1].func set from storage macroengine:engine _bfl_cur.func diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/is_alive_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/is_alive_exec.mcfunction new file mode 100644 index 00000000..174982e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/is_alive_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/lib/fiber/internal/is_alive_exec [MACRO] +# INPUT: $(id) + +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine fibers.$(id){alive:1b} run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/is_alive ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/kill_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/kill_exec.mcfunction new file mode 100644 index 00000000..b8fd41db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/kill_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/lib/fiber/internal/kill_exec [MACRO] +# INPUT: $(id) + +$execute unless data storage macroengine:engine fibers.$(id) run return 0 + +$data remove storage macroengine:engine fibers.$(id).alive +$data remove storage macroengine:engine fibers.$(id).resume + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/kill ","color":"aqua"},{"text":"[killed] ","color":"#FF5555"},{"text":"$(id)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_dispatch.mcfunction new file mode 100644 index 00000000..2c2c8c7d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_dispatch.mcfunction @@ -0,0 +1,25 @@ +# macroengine:core/lib/fiber/internal/resume_dispatch [MACRO] +# Dispatched via the queue -> queue_run_func -> #macroengine:internal/dispatch +# -> core/dispatch/exec chain. core/dispatch/exec forwards the entire +# _dispatch compound as macro context, so $(id)/$(resume) below are the +# id/resume fields this specific queue entry was created with in +# yield_exec.mcfunction — NOT a shared list popped in arrival order. +# +# BUGFIX (concurrency): the previous design wrote a separate FIFO list +# (fibers._pending) on yield, and had resume_dispatch unconditionally +# pop _pending[0] whenever ANY queue entry fired. With 2+ concurrent +# fibers yielding with different delays, process_queue only ever +# advances queue[0] (it never looks past the head of the queue), so a +# short-delay fiber queued behind a longer-delay one would not fire +# until the earlier entry's delay reached 0 — and whichever queue entry +# did fire would resume _pending[0], which could belong to a different +# fiber than the one whose timer actually elapsed. Carrying id/resume +# inside the queue entry itself (and reading them back here via macro +# context) ties each fire event to its own fiber unambiguously, with +# no shared list to desynchronize. +# +# INPUT (macro context from _dispatch, set in yield_exec.mcfunction): +# $(id) — fiber id +# $(resume) — function to resume + +$function macroengine:core/internal/core/lib/fiber/resume_exec {id:"$(id)", func:"$(resume)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_exec.mcfunction new file mode 100644 index 00000000..081a42c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/resume_exec.mcfunction @@ -0,0 +1,12 @@ +# macroengine:core/lib/fiber/internal/resume_exec [MACRO] +# INPUT: $(id), $(func) +# Fed from _fib_cur. + +# Is the fiber still alive? +$execute unless data storage macroengine:engine fibers.$(id){alive:1b} run return 0 + +# Run via central dispatch +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/resume ","color":"aqua"},{"text":"[run] ","color":"green"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/spawn_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/spawn_exec.mcfunction new file mode 100644 index 00000000..fd1610ad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/spawn_exec.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/lib/fiber/internal/spawn_exec [MACRO] +# INPUT: $(id), $(func) + +# Delete if same id exists +$data remove storage macroengine:engine fibers.$(id) + +# Create fiber record +$data modify storage macroengine:engine fibers.$(id) set value {alive:1b} + +# Run first step via central dispatch +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/spawn ","color":"aqua"},{"text":"[start] ","color":"green"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/yield_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/yield_exec.mcfunction new file mode 100644 index 00000000..c95da7a8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/fiber/yield_exec.mcfunction @@ -0,0 +1,27 @@ +# macroengine:core/lib/fiber/internal/yield_exec [MACRO] +# INPUT: $(id), $(resume), $(delay) + +# Do not continue if fiber is dead +$execute unless data storage macroengine:engine fibers.$(id){alive:1b} run return 0 + +# Write resume point to fiber record (readable by is_alive/resume) +$data modify storage macroengine:engine fibers.$(id).resume set value "$(resume)" + +# BUGFIX: previously this wrote a separate FIFO list (fibers._pending) +# and a separate process_queue entry, on the assumption that +# resume_dispatch would always consume them in lockstep (one queue +# entry firing == _pending[0] belongs to that same yield call). +# That assumption breaks with 2+ concurrent fibers: process_queue only +# decrements queue[0].delay each tick (it never looks past the head), +# so a fiber that yields with a short delay can get stuck behind an +# earlier entry with a longer delay, and whichever queue entry fires +# first ends up popping _pending[0] — which may belong to a different +# fiber than the one whose timer actually elapsed. +# +# Fix: the resume target (id + func) now travels INSIDE the queue +# entry itself (id/resume fields), so when this specific queue entry +# fires, queue_run_func passes it straight through as macro args to +# resume_dispatch — no shared list to desynchronize. +$data modify storage macroengine:engine queue append value {func:"macroengine:core/internal/core/lib/fiber/resume_dispatch", delay:$(delay), id:"$(id)", resume:"$(resume)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/yield ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(resume)","color":"aqua"},{"text":" in $(delay)t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_step.mcfunction new file mode 100644 index 00000000..74215461 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/for_each_list_step.mcfunction @@ -0,0 +1,12 @@ +execute unless data storage macroengine:engine _felist_input[0] run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_list ","color":"aqua"},{"text":"DONE ","color":"green"},{"text":"list exhausted, loop ended","color":"#555555"}] +execute unless data storage macroengine:engine _felist_input[0] run return 0 + +data modify storage macroengine:engine _felist_current set from storage macroengine:engine _felist_input[0] +execute store result storage macroengine:engine _felist_i int 1 run scoreboard players get $felist_i macroengine.tmp + +function macroengine:core/internal/core/lib/for_each_list_call with storage macroengine:engine _felist_state + +data remove storage macroengine:engine _felist_input[0] +scoreboard players add $felist_i macroengine.tmp 1 + +function macroengine:core/internal/core/lib/for_each_list_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_fire.mcfunction new file mode 100644 index 00000000..9fc43aad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_fire.mcfunction @@ -0,0 +1,5 @@ +execute if data storage macroengine:engine queue[0].func if data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_func_as with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].func unless data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_func with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].cmd if data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_cmd_as with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].cmd unless data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_cmd with storage macroengine:engine queue[0] +data remove storage macroengine:engine queue[0] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd.mcfunction new file mode 100644 index 00000000..08c88adb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd.mcfunction @@ -0,0 +1,5 @@ +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd_as.mcfunction new file mode 100644 index 00000000..1e5fc42d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_cmd_as.mcfunction @@ -0,0 +1 @@ +$execute as $(player) at @s run $(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func_as.mcfunction new file mode 100644 index 00000000..d7846f69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/queue_run_func_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as $(player) at @s run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_call.mcfunction new file mode 100644 index 00000000..3472da32 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(_rn_func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_loop.mcfunction new file mode 100644 index 00000000..382252bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_n_loop.mcfunction @@ -0,0 +1,6 @@ +execute if score $rn_i macroengine.tmp >= $rn_n macroengine.tmp run return 0 + +execute store result score $repeat_i macroengine.tmp run scoreboard players get $rn_i macroengine.tmp +function macroengine:core/internal/core/lib/repeat_n_call with storage macroengine:engine {} +scoreboard players add $rn_i macroengine.tmp 1 +function macroengine:core/internal/core/lib/repeat_n_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_run.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_run.mcfunction new file mode 100644 index 00000000..2b0fcd5f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/repeat_run.mcfunction @@ -0,0 +1,13 @@ +execute store result score $rep_r macroengine.tmp run data get storage macroengine:engine _repeat.remaining +execute if score $rep_r macroengine.tmp matches ..0 run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat ","color":"aqua"},{"text":"DONE ","color":"green"},{"text":"all iterations completed","color":"#555555"}] +execute if score $rep_r macroengine.tmp matches ..0 run return 0 + +function macroengine:core/internal/core/lib/repeat_call with storage macroengine:engine _repeat + +scoreboard players remove $rep_r macroengine.tmp 1 +execute store result storage macroengine:engine _repeat.remaining int 1 run scoreboard players get $rep_r macroengine.tmp +execute store result score $rep_i macroengine.tmp run data get storage macroengine:engine _repeat.i +scoreboard players add $rep_i macroengine.tmp 1 +execute store result storage macroengine:engine _repeat.i int 1 run scoreboard players get $rep_i macroengine.tmp + +function macroengine:core/internal/core/lib/repeat_run diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue.mcfunction new file mode 100644 index 00000000..6c1eebdb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_as.mcfunction new file mode 100644 index 00000000..80533baa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_as.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd.mcfunction new file mode 100644 index 00000000..eb78b51b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction new file mode 100644 index 00000000..6563ceca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do.mcfunction new file mode 100644 index 00000000..f688aa40 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_as.mcfunction new file mode 100644 index 00000000..ca3b5954 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_as.mcfunction @@ -0,0 +1,4 @@ +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd.mcfunction new file mode 100644 index 00000000..a5b5a71d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction new file mode 100644 index 00000000..18e0c105 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction @@ -0,0 +1,4 @@ +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/insert_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/insert_dispatch.mcfunction new file mode 100644 index 00000000..5ec916eb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/insert_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/insert {Index:$(Index)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction new file mode 100644 index 00000000..dca7a623 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_lowercase/fast {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction new file mode 100644 index 00000000..8340e748 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_lowercase/full {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_number_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_number_dispatch.mcfunction new file mode 100644 index 00000000..f9c07394 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_number_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_number {Input:"$(Input)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_string_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_string_dispatch.mcfunction new file mode 100644 index 00000000..95e08789 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_string_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_string {Input:$(Input)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction new file mode 100644 index 00000000..28f518c8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_uppercase/fast {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction new file mode 100644 index 00000000..d0f1a236 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_uppercase/full {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_as.mcfunction new file mode 100644 index 00000000..6bbccdb8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_as.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/queue/internal/exec_as +# Runs a queued function as the named player (if online). +# If the player is offline the item is silently dropped — no retry. +# +# Macro input: +# fn — function path to call +# player — player name used in selector + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +$execute as $(player) run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_fn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_fn.mcfunction new file mode 100644 index 00000000..f10f4f17 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_fn.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/queue/internal/exec_fn +# Runs a queued function in server (non-entity) context. +# Called with storage macroengine:engine _wq_job as macro source. +# +# Macro input: +# fn — function path to call + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_next.mcfunction new file mode 100644 index 00000000..34ac9aa4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/exec_next.mcfunction @@ -0,0 +1,13 @@ +# macroengine:core/queue/internal/exec_next +# Pops work_queue[0] into _wq_job, removes it from the list, +# then dispatches to the appropriate runner. +# player field present → execute as that player (skipped if offline). +# player field absent → run in server context. + +data modify storage macroengine:engine _wq_job set from storage macroengine:engine work_queue[0] +data remove storage macroengine:engine work_queue[0] + +execute if data storage macroengine:engine _wq_job.player run function macroengine:core/internal/core/queue/exec_as with storage macroengine:engine _wq_job +execute unless data storage macroengine:engine _wq_job.player run function macroengine:core/internal/core/queue/exec_fn with storage macroengine:engine _wq_job + +data remove storage macroengine:engine _wq_job diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/flush_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/flush_loop.mcfunction new file mode 100644 index 00000000..378932ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/flush_loop.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/queue/internal/flush_loop +# Drains the entire work_queue in one call stack (used by queue/flush). +# Recursion depth = queue size — do NOT call on large queues. + +execute unless data storage macroengine:engine work_queue[0] run return 0 +function macroengine:core/internal/core/queue/exec_next +function macroengine:core/internal/core/queue/flush_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick.mcfunction new file mode 100644 index 00000000..b8e5cca6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/queue/internal/tick +# Rate-limited work queue dispatcher — called every tick by tick.mcfunction. +# Reads work_queue_rate and processes up to that many items. +# Early-exit if queue is empty (zero overhead when idle). + +execute unless data storage macroengine:engine work_queue[0] run return 0 + +execute store result score #wq_rate macroengine.tmp run data get storage macroengine:engine work_queue_rate +execute if score #wq_rate macroengine.tmp matches ..0 run return 0 + +function macroengine:core/internal/core/queue/tick_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick_loop.mcfunction new file mode 100644 index 00000000..8bea4468 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/core/queue/tick_loop.mcfunction @@ -0,0 +1,12 @@ +# macroengine:core/queue/internal/tick_loop +# Recursive loop: processes one item then calls itself until +# #wq_rate reaches 0 or the queue is empty. +# Max recursion depth = work_queue_rate (keep ≤ 64 for safety). + +execute unless data storage macroengine:engine work_queue[0] run return 0 +execute if score #wq_rate macroengine.tmp matches ..0 run return 0 + +scoreboard players remove #wq_rate macroengine.tmp 1 +function macroengine:core/internal/core/queue/exec_next + +function macroengine:core/internal/core/queue/tick_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/dispatch.mcfunction new file mode 100644 index 00000000..ce86339e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/dispatch.mcfunction @@ -0,0 +1,91 @@ +# macroengine:debug/tools/trigger/internal/dispatch +# Calls macroengine:api/cmd/* based on tools_trigger.type. +# All calls use "with storage macroengine:engine tools_trigger.data". + +# ── Message ────────────────────────────────────────────────────────────────── +# type:"msg" → data:{player:"Name", message:"..."} +execute if data storage macroengine:engine tools_trigger{type:"msg"} run function macroengine:api/cmd/msg with storage macroengine:engine tools_trigger.data + +# type:"title" → data:{player:"Name", text:"...", color:"gold"} +execute if data storage macroengine:engine tools_trigger{type:"title"} run function macroengine:api/cmd/title with storage macroengine:engine tools_trigger.data + +# type:"subtitle" → data:{player:"Name", text:"...", color:"white"} +execute if data storage macroengine:engine tools_trigger{type:"subtitle"} run function macroengine:api/cmd/subtitle with storage macroengine:engine tools_trigger.data + +# type:"actionbar" → data:{player:"Name", text:"...", color:"aqua"} +execute if data storage macroengine:engine tools_trigger{type:"actionbar"} run function macroengine:api/cmd/actionbar with storage macroengine:engine tools_trigger.data + +# type:"title_times"→ data:{player:"Name", in:10, stay:70, out:20} +execute if data storage macroengine:engine tools_trigger{type:"title_times"} run function macroengine:api/cmd/title_times with storage macroengine:engine tools_trigger.data + +# type:"title_clear"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"title_clear"} run function macroengine:api/cmd/title_clear with storage macroengine:engine tools_trigger.data + +# type:"title_reset"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"title_reset"} run function macroengine:api/cmd/title_reset with storage macroengine:engine tools_trigger.data + +# ── Sound & Particles ────────────────────────────────────────────────────── +# type:"sound" → data:{player:"Name", sound:"minecraft:...", volume:1, pitch:1} +execute if data storage macroengine:engine tools_trigger{type:"sound"} run function macroengine:api/cmd/sound with storage macroengine:engine tools_trigger.data + +# ── Efekt ───────────────────────────────────────────────────────────────── +# type:"effect_add" → data:{player:"Name", effect:"minecraft:speed", duration:100, amplifier:1} +execute if data storage macroengine:engine tools_trigger{type:"effect_add"} run function macroengine:api/cmd/effect_give with storage macroengine:engine tools_trigger.data + +# type:"effect_clear"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"effect_clear"} run function macroengine:api/cmd/effect_clear with storage macroengine:engine tools_trigger.data + +# ── Item ────────────────────────────────────────────────────────────────── +# type:"give" → data:{player:"Name", item:"minecraft:diamond", count:1} +execute if data storage macroengine:engine tools_trigger{type:"give"} run function macroengine:api/cmd/give with storage macroengine:engine tools_trigger.data + +# ── XP ──────────────────────────────────────────────────────────────────── +# type:"xp" → data:{player:"Name", amount:100, type:"points"} (type: points|levels) +execute if data storage macroengine:engine tools_trigger{type:"xp"} run function macroengine:api/cmd/xp_add with storage macroengine:engine tools_trigger.data + +# ── Oyuncu ──────────────────────────────────────────────────────────────── +# type:"gamemode" → data:{player:"Name", mode:"survival"} +execute if data storage macroengine:engine tools_trigger{type:"gamemode"} run function macroengine:api/cmd/gamemode with storage macroengine:engine tools_trigger.data + +# type:"kick" → data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"kick"} run function macroengine:api/cmd/kick with storage macroengine:engine tools_trigger.data + +# type:"tp" → data:{player:"Name", x:0, y:64, z:0} +execute if data storage macroengine:engine tools_trigger{type:"tp"} run function macroengine:api/cmd/tp_to_coords with storage macroengine:engine tools_trigger.data + +# ── Scoreboard ──────────────────────────────────────────────────────────── +# type:"score_set" → data:{player:"Name", objective:"obj", value:10} +execute if data storage macroengine:engine tools_trigger{type:"score_set"} run function macroengine:api/cmd/scoreboard_set with storage macroengine:engine tools_trigger.data + +# type:"score_add" → data:{player:"Name", objective:"obj", amount:5} +execute if data storage macroengine:engine tools_trigger{type:"score_add"} run function macroengine:api/cmd/scoreboard_add with storage macroengine:engine tools_trigger.data + +# ── Tag ─────────────────────────────────────────────────────────────────── +# type:"tag_add" → data:{player:"Name", tag:"myTag"} +execute if data storage macroengine:engine tools_trigger{type:"tag_add"} run function macroengine:api/cmd/tag_add with storage macroengine:engine tools_trigger.data + +# type:"tag_remove" → data:{player:"Name", tag:"myTag"} +execute if data storage macroengine:engine tools_trigger{type:"tag_remove"} run function macroengine:api/cmd/tag_remove with storage macroengine:engine tools_trigger.data + +# ── World ───────────────────────────────────────────────────────────────── +# type:"fill" → data:{x1:..,y1:..,z1:..,x2:..,y2:..,z2:..,block:"minecraft:stone"} +execute if data storage macroengine:engine tools_trigger{type:"fill"} run function macroengine:api/cmd/fill with storage macroengine:engine tools_trigger.data + +# type:"setblock" → data:{x:..,y:..,z:..,block:"minecraft:stone"} +execute if data storage macroengine:engine tools_trigger{type:"setblock"} run function macroengine:api/cmd/setblock with storage macroengine:engine tools_trigger.data + +# ── Fonksiyon & Komut ───────────────────────────────────────────────────── +# NOTE: delay / schedule_cancel intentionally excluded here. +# The schedule command runs at op-level; allowing arbitrary function scheduling. +# Use macroengine:core/lib/schedule directly and explicitly if needed. +# type:"func" → data:{ns:"namespace", path:"func/path"} +execute if data storage macroengine:engine tools_trigger{type:"func"} run function macroengine:core/internal/debug/tools/trigger/exec_func with storage macroengine:engine tools_trigger.data + +# type:"cmd" → data:{cmd:"say hello"} +execute if data storage macroengine:engine tools_trigger{type:"cmd"} run function macroengine:core/internal/debug/tools/trigger/exec_cmd with storage macroengine:engine tools_trigger.data + +# type:"multi1" → data:{list:[],options:{}} +execute if data storage macroengine:engine tools_trigger{type:"multi1"} run function macroengine:api/cmd/other/multi_cmd_adv with storage macroengine:engine tools_trigger.data + +# type:"multi2" → data:{commands:[]} +execute if data storage macroengine:engine tools_trigger{type:"multi2"} run function macroengine:api/cmd/other/multi_cmd with storage macroengine:engine tools_trigger.data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_cmd.mcfunction new file mode 100644 index 00000000..775b183d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_cmd.mcfunction @@ -0,0 +1,4 @@ +# type:"cmd" → {cmd:"say hello"} +# Security: only executors with the macroengine.admin tag may run this. +execute unless entity @s[tag=macroengine.admin] run return 0 +$execute as @a[nbt=$(uuid)] at @s run $(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_func.mcfunction new file mode 100644 index 00000000..df9007dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/debug/tools/trigger/exec_func.mcfunction @@ -0,0 +1,4 @@ +# type:"func" → {ns:"namespace", path:"func/path"} +# NOTE: Two-part path construction — cannot route via #macroengine:internal/dispatch +# without a pre-concat step. Intentional exception; this is admin-debug only. +$execute as @a[nbt=$(uuid)] at @s run function $(ns):$(path) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/disable/apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/disable/apply.mcfunction new file mode 100644 index 00000000..ca5143c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/disable/apply.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/internal/disable/apply +# The actual disable logic, run either directly (gates off) or after +# gate confirmation (gates on, the default). +function macroengine_load:core/internal/load/cleanup +datapack disable "file/macroengine.zip" +datapack disable "file/macroengine" +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 0 +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"macroengine disabled.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_deferred.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_deferred.mcfunction new file mode 100644 index 00000000..df9eb1d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_deferred.mcfunction @@ -0,0 +1 @@ +function macroengine:events/fire with storage macroengine:engine queue[0] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_next.mcfunction new file mode 100644 index 00000000..945fc532 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/fire_next.mcfunction @@ -0,0 +1,4 @@ +data modify storage macroengine:engine _dispatch.func set from storage macroengine:engine _event_tmp[0].func +function #macroengine:internal/dispatch +data remove storage macroengine:engine _event_tmp[0] +execute if data storage macroengine:engine _event_tmp[0] run function macroengine:core/internal/events/fire_next diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_append.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_append.mcfunction new file mode 100644 index 00000000..ac392a8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_append.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine events.$(event) append from storage macroengine:engine _uro.src[0] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_check.mcfunction new file mode 100644 index 00000000..f3c516e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_check.mcfunction @@ -0,0 +1 @@ +$execute unless data storage macroengine:engine _uro{func:"$(func)"} run function macroengine:core/internal/events/uro_append with storage macroengine:engine _uro diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_loop.mcfunction new file mode 100644 index 00000000..2880e67b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/events/uro_loop.mcfunction @@ -0,0 +1,3 @@ +function macroengine:core/internal/events/uro_check with storage macroengine:engine _uro.src[0] +data remove storage macroengine:engine _uro.src[0] +execute if data storage macroengine:engine _uro.src[0] run function macroengine:core/internal/events/uro_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action.mcfunction new file mode 100644 index 00000000..cb167b88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/internal/gate/run_action +# Runs the function stored in pending_gate.action, passing pending_gate.args +# (if any) as macro arguments. Called with +# 'with storage macroengine:engine pending_gate' so $(action) resolves to the +# action string set by gate/request. +# +# INPUT (macro, from pending_gate compound): +# $(action) -> function id to run, e.g. "macroengine:core/internal/cmd/ban_apply" +# args -> (not a macro var — read directly from storage below) +# optional compound of args passed to $(action) + +execute if data storage macroengine:engine pending_gate.args run return run function macroengine:core/internal/gate/run_action_with_args with storage macroengine:engine pending_gate + +$function $(action) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action_with_args.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action_with_args.mcfunction new file mode 100644 index 00000000..b1c4a65b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/run_action_with_args.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/internal/gate/run_action_with_args +# Same as run_action but the target function also needs macro args from +# pending_gate.args (e.g. ban/kick need player+reason). Runs $(action) +# with storage pointed at pending_gate.args so its own $(player)/$(reason) +# macros resolve. +# +# INPUT (macro, from pending_gate compound): +# $(action) -> function id to run + +$function $(action) with storage macroengine:engine pending_gate.args diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/toggle/disable_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/toggle/disable_apply.mcfunction new file mode 100644 index 00000000..93cac73e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/gate/toggle/disable_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/gate/toggle/disable_apply +# Runs after gate confirmation. Actually flips the sandbox flag off. + +data modify storage macroengine:engine sandbox set value 0b +data modify storage macroengine:engine config.sandbox set value 0b +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Gate confirmations disabled. Dangerous commands will run immediately.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/load/force_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/load/force_apply.mcfunction new file mode 100644 index 00000000..52bd0ef2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/load/force_apply.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/internal/load/force_apply +# Runs after gate confirmation (or immediately if gates are disabled). +# Actually performs the force re-init: drops the loaded flag and +# re-runs the full init pipeline, discarding any live engine state +# that macroengine_load:load/all's "unless data" guards would otherwise preserve. + +data remove storage macroengine:engine global.loaded +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Force re-init...","color":"yellow"}] +function macroengine_load:load/all diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/assign_pid.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/assign_pid.mcfunction new file mode 100644 index 00000000..de3c2969 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/assign_pid.mcfunction @@ -0,0 +1,10 @@ +execute store result score $next_pid macroengine.tmp run data get storage macroengine:engine _pid_seq + +scoreboard players add $next_pid macroengine.tmp 1 + +$execute store result storage macroengine:engine player_pids.$(player) int 1 run scoreboard players get $next_pid macroengine.tmp +$scoreboard players operation @a[name=$(player),limit=1] macroengine.pid = $next_pid macroengine.tmp + +execute store result storage macroengine:engine _pid_seq int 1 run scoreboard players get $next_pid macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/internal/assign_pid ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → pid=","color":"#555555"},{"score":{"name":"$next_pid","objective":"macroengine.tmp"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_from_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_from_name.mcfunction new file mode 100644 index 00000000..9856ca52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_from_name.mcfunction @@ -0,0 +1,8 @@ +# macroengine:player/internal/init_from_name [MACRO] +# Relay: storage macroengine:names temp {NAME:""} → macroengine:player/init +# Called by on_player_join after macroengine:player/get_name populates macroengine:names temp. +# Bridges the NAME key to the player key expected by player/init. + +$data modify storage macroengine:engine _pid_init_tmp set value {player:"$(NAME)"} +function macroengine:player/init with storage macroengine:engine _pid_init_tmp +data remove storage macroengine:engine _pid_init_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_online.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_online.mcfunction new file mode 100644 index 00000000..ed11fc0a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/init_online.mcfunction @@ -0,0 +1,7 @@ +# macroengine:player/internal/init_online +# @s = online player +# Called once per online player during load to ensure pid is assigned. +# Uses get_name to fetch the display name, then delegates to init_from_nmacroengine. + +function macroengine:player/get_name +function macroengine:core/internal/player/init_from_name with storage macroengine:names temp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/stamp_join.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/stamp_join.mcfunction new file mode 100644 index 00000000..56ee967e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/player/stamp_join.mcfunction @@ -0,0 +1 @@ +$execute store result storage macroengine:engine players.$(player).joined_tick int 1 run scoreboard players get $epoch macroengine.time diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/fire_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/fire_entry.mcfunction new file mode 100644 index 00000000..c34d5a83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/fire_entry.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/cb/internal/fire_entry +# Fires the command in _cb_entry via command block. +# Reuses api/cb/internal machinery. + +# Copy to input storage, reuse exec path +data modify storage macroengine:input cb set from storage macroengine:engine _cb_entry +function macroengine:core/internal/api/cb/exec with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/process_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/process_step.mcfunction new file mode 100644 index 00000000..ade0bbe7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/process_step.mcfunction @@ -0,0 +1,22 @@ +# macroengine:systems/cb/internal/process_step +# Pops first entry from _cb_work. +# ticks_left == 1 → fire now. +# ticks_left > 1 → decrement and return to cb_queue. + +# Pop first entry +data modify storage macroengine:engine _cb_entry set from storage macroengine:engine _cb_work[0] +data remove storage macroengine:engine _cb_work[0] + +# Decrement ticks_left +execute store result score #cb_tl macroengine.tmp run data get storage macroengine:engine _cb_entry.ticks_left +scoreboard players remove #cb_tl macroengine.tmp 1 + +execute if score #cb_tl macroengine.tmp matches ..0 run function macroengine:core/internal/systems/cb/fire_entry + +execute unless score #cb_tl macroengine.tmp matches ..0 run execute store result storage macroengine:engine _cb_entry.ticks_left int 1 run scoreboard players get #cb_tl macroengine.tmp +execute unless score #cb_tl macroengine.tmp matches ..0 run data modify storage macroengine:engine cb_queue append from storage macroengine:engine _cb_entry + +data remove storage macroengine:engine _cb_entry + +# Recurse if more entries remain +execute if data storage macroengine:engine _cb_work[0] run function macroengine:core/internal/systems/cb/process_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/queue_push.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/queue_push.mcfunction new file mode 100644 index 00000000..f4e5d4c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/queue_push.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/cb/internal/queue_push +# Macro: receives {cmd, delay, x, y, z} +# Appends an entry to macroengine:engine cb_queue list. +# Each entry: {cmd, delay, x, y, z, ticks_left} +# ticks_left is decremented each tick; fires when it hits 0. + +$data modify storage macroengine:engine cb_queue append value {cmd:"$(cmd)",x:$(x),y:$(y),z:$(z),ticks_left:$(delay)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand.mcfunction new file mode 100644 index 00000000..40093098 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/cb/internal/seq_expand +# Converts cb.cmds list + interval into individual cb_queue entries. +# Each entry gets ticks_left = (index + 1) * interval. + +# Init sequence state +data modify storage macroengine:engine _cb_seq set from storage macroengine:input cb +execute store result score #cb_seq_idx macroengine.tmp run data get storage macroengine:engine _cb_seq.interval +scoreboard players set #cb_seq_step macroengine.tmp 0 + +execute if data storage macroengine:engine _cb_seq.cmds[0] run function macroengine:core/internal/systems/cb/seq_expand_loop +data remove storage macroengine:engine _cb_seq diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand_loop.mcfunction new file mode 100644 index 00000000..3a70e29d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_expand_loop.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/cb/internal/seq_expand_loop +# Pops first cmd from _cb_seq.cmds, computes its delay, pushes to queue. + +# Increment step counter and compute cumulative delay +scoreboard players add #cb_seq_step macroengine.tmp 1 +execute store result score #cb_delay macroengine.tmp run scoreboard players get #cb_seq_step macroengine.tmp +scoreboard players operation #cb_delay macroengine.tmp *= #cb_seq_idx macroengine.tmp + +# Pop cmd from list into scratch +data modify storage macroengine:engine _cb_seq_cmd set from storage macroengine:engine _cb_seq.cmds[0] +data remove storage macroengine:engine _cb_seq.cmds[0] + +# Write queue entry +function macroengine:core/internal/systems/cb/seq_push_entry + +# Continue if more cmds remain +execute if data storage macroengine:engine _cb_seq.cmds[0] run function macroengine:core/internal/systems/cb/seq_expand_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_push_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_push_entry.mcfunction new file mode 100644 index 00000000..5d7be3bd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/seq_push_entry.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/cb/internal/seq_push_entry +# Pushes current sequence step as a cb_queue entry. +# Reads: _cb_seq_cmd (string), _cb_delay (score), _cb_seq.{x,y,z} + +# Build entry storage +data modify storage macroengine:engine _cb_seq_entry set from storage macroengine:engine _cb_seq +data remove storage macroengine:engine _cb_seq_entry.cmds +data remove storage macroengine:engine _cb_seq_entry.interval +data modify storage macroengine:engine _cb_seq_entry.cmd set from storage macroengine:engine _cb_seq_cmd +execute store result storage macroengine:engine _cb_seq_entry.ticks_left int 1 run scoreboard players get #cb_delay macroengine.tmp + +data modify storage macroengine:engine cb_queue append from storage macroengine:engine _cb_seq_entry +data remove storage macroengine:engine _cb_seq_entry +data remove storage macroengine:engine _cb_seq_cmd diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/tick.mcfunction new file mode 100644 index 00000000..b7e9b9b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/cb/tick.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/cb/internal/tick +# Called each tick when cb_queue is non-empty. +# Processes all entries: decrements ticks_left, fires those that reach 0. + +# Copy queue to work buffer, clear queue, rebuild after processing +data modify storage macroengine:engine _cb_work set from storage macroengine:engine cb_queue +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] + +execute if data storage macroengine:engine _cb_work[0] run function macroengine:core/internal/systems/cb/process_step +data remove storage macroengine:engine _cb_work diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/lerp_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/lerp_exec.mcfunction new file mode 100644 index 00000000..bf8b4a0c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/lerp_exec.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/color/internal/lerp_exec [MACRO] +# Internal — called by api/color/lerp. +# Reads macroengine:engine color.gradients.$(gradient)[$(step)] into output. +$data modify storage macroengine:output result set from storage macroengine:engine color.gradients.$(gradient)[$(step)] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/resolve_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/resolve_exec.mcfunction new file mode 100644 index 00000000..408ffb62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/resolve_exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/color/internal/resolve_exec [MACRO] +# Called with storage macroengine:engine color {} — reads palette.$(color). +# If the key exists in palette, copies it to macroengine:output result. +# Uses the outer $(color) macro arg captured by api/color/resolve. +# NOTE: This file is called with `with storage macroengine:engine color {}` +# so macro args come from the color compound (which contains "palette"). +# The $(color) arg is forwarded from the parent macro frame. +$execute if data storage macroengine:engine color.palette.$(color) run data modify storage macroengine:output result set from storage macroengine:engine color.palette.$(color) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/validate_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/validate_exec.mcfunction new file mode 100644 index 00000000..1b8f8fc8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/color/validate_exec.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/color/internal/validate_exec [MACRO] +# Internal — called by api/color/validate. +# Sets macroengine:output result to 1b if $(color) is a known named color, +# or if it begins with "#" (hex shorthand detection). +$execute if data storage macroengine:engine color._names.$(color) run data modify storage macroengine:output result set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/check_region.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/check_region.mcfunction new file mode 100644 index 00000000..116c1b1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/check_region.mcfunction @@ -0,0 +1,54 @@ +# macroengine:systems/geo/region_watch/internal/check_region [MACRO] +# INPUT (from _rw_cur): $(id), $(x1), $(y1), $(z1), $(x2), $(y2), $(z2) +# @s = the player being checked +# Player coordinates: macroengine:engine _rw_player.{x,y,z} + +# --- AABB test: return early if outside any axis --- +execute store result score $rwx macroengine.tmp run data get storage macroengine:engine _rw_player.x +execute store result score $rwy macroengine.tmp run data get storage macroengine:engine _rw_player.y +execute store result score $rwz macroengine.tmp run data get storage macroengine:engine _rw_player.z + +$scoreboard players set $rwx1 macroengine.tmp $(x1) +$scoreboard players set $rwy1 macroengine.tmp $(y1) +$scoreboard players set $rwz1 macroengine.tmp $(z1) +$scoreboard players set $rwx2 macroengine.tmp $(x2) +$scoreboard players set $rwy2 macroengine.tmp $(y2) +$scoreboard players set $rwz2 macroengine.tmp $(z2) + +# min/max normalize +execute if score $rwx1 macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwx1 macroengine.tmp +execute if score $rwx1 macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwx1 macroengine.tmp = $rwx2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwx2 macroengine.tmp = $rwt macroengine.tmp +execute if score $rwy1 macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwy1 macroengine.tmp +execute if score $rwy1 macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwy1 macroengine.tmp = $rwy2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwy2 macroengine.tmp = $rwt macroengine.tmp +execute if score $rwz1 macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwz1 macroengine.tmp +execute if score $rwz1 macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwz1 macroengine.tmp = $rwz2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwz2 macroengine.tmp = $rwt macroengine.tmp + +# Inside AABB? 1=inside, 0=outside +scoreboard players set $rw_inside macroengine.tmp 1 +execute if score $rwx macroengine.tmp < $rwx1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwx macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwy macroengine.tmp < $rwy1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwy macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwz macroengine.tmp < $rwz1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwz macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 + +# --- State transition --- +# Was inside and still inside → do nothing +$execute if score $rw_inside macroengine.tmp matches 1 run execute if entity @s[tag=rw.$(id)] run return 0 +# Was outside and still outside → do nothing +$execute if score $rw_inside macroengine.tmp matches 0 run execute unless entity @s[tag=rw.$(id)] run return 0 + +# --- on_enter: was outside, now inside --- +$execute if score $rw_inside macroengine.tmp matches 1 run tag @s add rw.$(id) +# DOT NOTATION: _rw_cur.on_enter (space-separated subpath is invalid) +execute if score $rw_inside macroengine.tmp matches 1 run execute if data storage macroengine:engine _rw_cur.on_enter run function macroengine:core/internal/systems/geo/region_watch/fire_enter with storage macroengine:engine _rw_cur +execute if score $rw_inside macroengine.tmp matches 1 run execute if data storage macroengine:engine _rw_cur.on_enter_cmd run function macroengine:core/internal/systems/geo/region_watch/fire_enter_cmd with storage macroengine:engine _rw_cur +execute if score $rw_inside macroengine.tmp matches 1 run return 0 + +# --- on_leave: was inside, now outside --- +$tag @s remove rw.$(id) +execute if data storage macroengine:engine _rw_cur.on_leave run function macroengine:core/internal/systems/geo/region_watch/fire_leave with storage macroengine:engine _rw_cur +execute if data storage macroengine:engine _rw_cur.on_leave_cmd run function macroengine:core/internal/systems/geo/region_watch/fire_leave_cmd with storage macroengine:engine _rw_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter.mcfunction new file mode 100644 index 00000000..37079234 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/geo/region_watch/internal/fire_enter [MACRO] +# INPUT: $(on_enter) — from _rw_cur; called ONLY when on_enter field exists. +# @s = player entering the region + +$data modify storage macroengine:engine _dispatch.func set value "$(on_enter)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction new file mode 100644 index 00000000..7883d98b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/fire_enter_cmd [MACRO] +# INPUT: $(on_enter_cmd) — from _rw_cur; called ONLY when on_enter_cmd field exists. +# @s = player entering the region + +$$(on_enter_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave.mcfunction new file mode 100644 index 00000000..871c71fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/geo/region_watch/internal/fire_leave [MACRO] +# INPUT: $(on_leave) — from _rw_cur; called ONLY when on_leave field exists. +# @s = player leaving the region + +$data modify storage macroengine:engine _dispatch.func set value "$(on_leave)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction new file mode 100644 index 00000000..38b9d3f1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/fire_leave_cmd [MACRO] +# INPUT: $(on_leave_cmd) — from _rw_cur; called ONLY when on_leave_cmd field exists. +# @s = player leaving the region + +$$(on_leave_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/player_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/player_scan.mcfunction new file mode 100644 index 00000000..2d83f319 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/player_scan.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/geo/region_watch/internal/player_scan +# @s = the player to check +# Reads coordinates to storage, then iterates all regions. + +data modify storage macroengine:engine _rw_iter set from storage macroengine:engine region_watches + +# Write player coordinates to _rw_player (int truncation, consistent with geo module) +execute store result storage macroengine:engine _rw_player.x int 1 run data get entity @s Pos[0] +execute store result storage macroengine:engine _rw_player.y int 1 run data get entity @s Pos[1] +execute store result storage macroengine:engine _rw_player.z int 1 run data get entity @s Pos[2] + +function macroengine:core/internal/systems/geo/region_watch/region_loop + +data remove storage macroengine:engine _rw_iter +data remove storage macroengine:engine _rw_player diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/region_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/region_loop.mcfunction new file mode 100644 index 00000000..5c39630a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/region_loop.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/region_loop +# @s = the player being checked +# Consumes _rw_iter list, calls check_region for each region. + +execute unless data storage macroengine:engine _rw_iter[0] run return 0 + +data modify storage macroengine:engine _rw_cur set from storage macroengine:engine _rw_iter[0] +data remove storage macroengine:engine _rw_iter[0] + +function macroengine:core/internal/systems/geo/region_watch/check_region with storage macroengine:engine _rw_cur + +function macroengine:core/internal/systems/geo/region_watch/region_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/register_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/register_exec.mcfunction new file mode 100644 index 00000000..2ca3d8cf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/register_exec.mcfunction @@ -0,0 +1,30 @@ +# macroengine:systems/geo/region_watch/internal/register_exec [MACRO] +# INPUT: $(id), $(x1), $(y1), $(z1), $(x2), $(y2), $(z2) +# $(on_enter), $(on_leave) — opsiyonel func +# $(on_enter_cmd), $(on_leave_cmd) — opsiyonel cmd +# +# region_watches stored as list: [{id,x1,...,on_enter,...}, ...] +# If same id exists, filter it out first, then append. + +# Varsa sil (unregister_filter pattern) +data modify storage macroengine:engine _rw_unbind_id set from storage macroengine:input id +data modify storage macroengine:engine _rw_new set value [] +data modify storage macroengine:engine _rw_src set from storage macroengine:engine region_watches +function macroengine:core/internal/systems/geo/region_watch/unregister_filter +data modify storage macroengine:engine region_watches set from storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_src +data remove storage macroengine:engine _rw_unbind_id + +# Create new record and append +$data modify storage macroengine:engine region_watches append value {id:"$(id)",x1:$(x1),y1:$(y1),z1:$(z1),x2:$(x2),y2:$(y2),z2:$(z2)} + +# on_enter / on_leave func — last appended element [-1] +execute if data storage macroengine:input on_enter run data modify storage macroengine:engine region_watches[-1].on_enter set from storage macroengine:input on_enter +execute if data storage macroengine:input on_leave run data modify storage macroengine:engine region_watches[-1].on_leave set from storage macroengine:input on_leave + +# on_enter_cmd / on_leave_cmd +execute if data storage macroengine:input on_enter_cmd run data modify storage macroengine:engine region_watches[-1].on_enter_cmd set from storage macroengine:input on_enter_cmd +execute if data storage macroengine:input on_leave_cmd run data modify storage macroengine:engine region_watches[-1].on_leave_cmd set from storage macroengine:input on_leave_cmd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/region_watch/register ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" ($(x1),$(y1),$(z1))→($(x2),$(y2),$(z2))","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/tick_scan.mcfunction new file mode 100644 index 00000000..92e7ec33 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/tick_scan.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/tick_scan +# Called directly from core/tick/queue_systems.mcfunction. +# If region_watches is non-empty, checks all regions for each player. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/geo/false +execute unless data storage macroengine:engine {modules:{geo:1b}} run return 0 + +execute unless data storage macroengine:engine region_watches run return 0 + +data modify storage macroengine:engine _rw_watch_list set from storage macroengine:engine region_watches +execute as @a run function macroengine:core/internal/systems/geo/region_watch/player_scan +data remove storage macroengine:engine _rw_watch_list diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_check.mcfunction new file mode 100644 index 00000000..35c6ef48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_check.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/unregister_check [MACRO] +# INPUT: $(id) — _rw_cur'dan beslenir +# If id does not match, add to _rw_new (keep). + +$execute unless data storage macroengine:engine {_rw_unbind_id:"$(id)"} run data modify storage macroengine:engine _rw_new append from storage macroengine:engine _rw_cur diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_exec.mcfunction new file mode 100644 index 00000000..6dac8cac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_exec.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/geo/region_watch/internal/unregister_exec [MACRO] +# INPUT: $(id) +# region_watches in list format — always run filter, +# if id not found, list remains unchanged. + +execute unless data storage macroengine:engine region_watches run return 0 + +data modify storage macroengine:engine _rw_unbind_id set from storage macroengine:input id +data modify storage macroengine:engine _rw_new set value [] +data modify storage macroengine:engine _rw_src set from storage macroengine:engine region_watches +function macroengine:core/internal/systems/geo/region_watch/unregister_filter +data modify storage macroengine:engine region_watches set from storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_src +data remove storage macroengine:engine _rw_unbind_id + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/region_watch/unregister ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_filter.mcfunction new file mode 100644 index 00000000..3105c7cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/geo/region_watch/unregister_filter.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/unregister_filter +# Iterates _rw_src list. +# Copies entries whose id does not match _rw_unbind_id to _rw_new. + +execute unless data storage macroengine:engine _rw_src[0] run return 0 + +data modify storage macroengine:engine _rw_cur set from storage macroengine:engine _rw_src[0] +data remove storage macroengine:engine _rw_src[0] + +function macroengine:core/internal/systems/geo/region_watch/unregister_check with storage macroengine:engine _rw_cur + +function macroengine:core/internal/systems/geo/region_watch/unregister_filter \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/bind_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/bind_exec.mcfunction new file mode 100644 index 00000000..cb51de52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/bind_exec.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/hook/internal/bind_exec [MACRO] +# INPUT: $(event) - required +# macroengine:input.func OR macroengine:input.cmd - one must exist +# +# Two-step: append a base compound with just event, then set func or cmd from storage. +# This avoids requiring both $(func) and $(cmd) to be present simultaneously. + +$data modify storage macroengine:engine hook_binds append value {event:"$(event)"} +execute if data storage macroengine:input func run data modify storage macroengine:engine hook_binds[-1].func set from storage macroengine:input func +execute unless data storage macroengine:input func run data modify storage macroengine:engine hook_binds[-1].cmd set from storage macroengine:input cmd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/bind ","color":"aqua"},{"text":"$(event)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_bind.mcfunction new file mode 100644 index 00000000..ea255b6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_bind.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/hook/internal/check_bind [MACRO] +# INPUT: $(event) - event field of the bind in _hook_ctx +# If it matches _hook_fire_event, run func or cmd. +# @s = the triggering player + +$execute if data storage macroengine:engine {_hook_fire_event:"$(event)"} if data storage macroengine:engine _hook_ctx.func run function macroengine:core/internal/systems/hook/exec with storage macroengine:engine _hook_ctx +$execute if data storage macroengine:engine {_hook_fire_event:"$(event)"} unless data storage macroengine:engine _hook_ctx.func run function macroengine:core/internal/systems/hook/run_cmd with storage macroengine:engine _hook_ctx diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_block_break.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_block_break.mcfunction new file mode 100644 index 00000000..d1371cb7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_block_break.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/hook/internal/check_block_break +# @s = player being checked +# +# METHOD: +# item_durability_changed advancement -> macroengine.hook_tool_used score increments. +# tick_scan calls this per player; fires on_block_break if score >= 1. +# +# KNOWN LIMITATION: +# Hand-breaking (cobweb, snow, leaves) is not detectable in 1.20.3–26.1+ +# via advancement triggers. Tool-based breaking only. +# Mob hits also trigger item_durability_changed (sword, axe, etc.). +execute unless score @s macroengine.hook_tool_used matches 1.. run return 0 +function macroengine:core/internal/systems/hook/on_block_break +scoreboard players set @s macroengine.hook_tool_used 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_level_up.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_level_up.mcfunction new file mode 100644 index 00000000..342f7d48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/check_level_up.mcfunction @@ -0,0 +1,4 @@ +execute store result score $hlvl_cur macroengine.tmp run data get entity @s XpLevel +execute if score @s macroengine.hook_lvl < $hlvl_cur macroengine.tmp run scoreboard players operation @s macroengine.hook_lvl_new = $hlvl_cur macroengine.tmp +execute if score @s macroengine.hook_lvl < $hlvl_cur macroengine.tmp run function macroengine:core/internal/systems/hook/on_level_up +execute store result score @s macroengine.hook_lvl run scoreboard players get $hlvl_cur macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/dispatch.mcfunction new file mode 100644 index 00000000..1ede3ae5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/dispatch.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/hook/internal/dispatch +# Iterates _hook_iter list, runs matching events. + +execute unless data storage macroengine:engine _hook_iter[0] run return 0 + +data modify storage macroengine:engine _hook_ctx set from storage macroengine:engine _hook_iter[0] +data remove storage macroengine:engine _hook_iter[0] + +function macroengine:core/internal/systems/hook/check_bind with storage macroengine:engine _hook_ctx + +function macroengine:core/internal/systems/hook/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/exec.mcfunction new file mode 100644 index 00000000..60b86caf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/internal/exec [MACRO] +# INPUT: $(func) — guaranteed present (check_bind ensures func exists) +# @s = the triggering player + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/fire.mcfunction new file mode 100644 index 00000000..d867a0b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/fire.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/hook/internal/fire [MACRO] +# INPUT: $(event) — event name to fire +# @s = the triggering player +# Copies hook_binds list and dispatches it. + +$data modify storage macroengine:engine _hook_fire_event set value "$(event)" +data modify storage macroengine:engine _hook_iter set from storage macroengine:engine hook_binds + +execute if data storage macroengine:engine _hook_iter run function macroengine:core/internal/systems/hook/dispatch + +data remove storage macroengine:engine _hook_iter +data remove storage macroengine:engine _hook_fire_event diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_advancement_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_advancement_fire.mcfunction new file mode 100644 index 00000000..d519965c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_advancement_fire.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/hook/internal/on_advancement_fire [MACRO] +# INPUT: $(advancement) +# @s = player who earned the advancement + +$data modify storage macroengine:engine _hook_fire_tmp set value {event:"advancement:$(advancement)"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/on_advancement_fire ","color":"aqua"},{"text":"advancement:$(advancement)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_break.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_break.mcfunction new file mode 100644 index 00000000..0aaba8d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_break.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_block_break +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"block_break"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_place.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_place.mcfunction new file mode 100644 index 00000000..d43fe7b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_block_place.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_block_place +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"block_place"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_dimension_change.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_dimension_change.mcfunction new file mode 100644 index 00000000..3088b5d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_dimension_change.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_dimension_change +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"dimension_change"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_drop.mcfunction new file mode 100644 index 00000000..0e30cd48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_drop.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_drop +data modify storage macroengine:engine _hook_fire_tmp set value {event:"drop_item"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat.mcfunction new file mode 100644 index 00000000..6162521d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_eat +# @s = the eating player +scoreboard players add @s macroengine.hook_eat 1 +advancement revoke @s only macroengine:systems/hook/eat_food diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat_fire.mcfunction new file mode 100644 index 00000000..3917d3a6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_eat_fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_eat_fire +# @s = the eating player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"eat"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_start.mcfunction new file mode 100644 index 00000000..57d7a94c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_elytra_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"elytra_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_stop.mcfunction new file mode 100644 index 00000000..e25ffeca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_elytra_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_elytra_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"elytra_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_enchant.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_enchant.mcfunction new file mode 100644 index 00000000..ab2c36ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_enchant.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_enchant +# Bridge: #macroengine_player:v1/enchanted → #macroengine:events/on_enchant +# Executor: @s = player who enchanted +function #macroengine:events/on_enchant diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_entity_kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_entity_kill.mcfunction new file mode 100644 index 00000000..b2580811 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_entity_kill.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_entity_kill +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"entity_kill"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_caught.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_caught.mcfunction new file mode 100644 index 00000000..9881aadb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_caught.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_fish_caught +# @s = the fishing player +scoreboard players add @s macroengine.hook_fish 1 +advancement revoke @s only macroengine:systems/hook/fish_caught diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_fire.mcfunction new file mode 100644 index 00000000..2a0054bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_fish_fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_fish_fire +# @s = the fishing player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"fish_caught"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_hero_of_the_village.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_hero_of_the_village.mcfunction new file mode 100644 index 00000000..40144786 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_hero_of_the_village.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_hero_of_the_village +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"hero_of_the_village"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_anvil.mcfunction new file mode 100644 index 00000000..de9f5f58 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_anvil.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_interact_anvil +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"interact_anvil"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_shulker_box.mcfunction new file mode 100644 index 00000000..74dcfd48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_interact_shulker_box.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_interact_shulker_box +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"interact_shulker_box"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_item_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_item_use.mcfunction new file mode 100644 index 00000000..4b27ca85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_item_use.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_item_use +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"item_use"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_jump.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_jump.mcfunction new file mode 100644 index 00000000..f1b74302 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_jump.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_jump +# Bridge: #macroengine_player:v1/jumped → #macroengine:events/on_jump +# Executor: @s = jumping player +function #macroengine:events/on_jump diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_killed_by_arrow.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_killed_by_arrow.mcfunction new file mode 100644 index 00000000..92711686 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_killed_by_arrow.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_killed_by_arrow +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"killed_by_arrow"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_lc.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_lc.mcfunction new file mode 100644 index 00000000..89001c0d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_lc.mcfunction @@ -0,0 +1 @@ +function #macroengine:events/on_lc \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_level_up.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_level_up.mcfunction new file mode 100644 index 00000000..28843c52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_level_up.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_level_up +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"level_up"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_chest.mcfunction new file mode 100644 index 00000000..dd24712b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_chest.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_open_chest +data modify storage macroengine:engine _hook_fire_tmp set value {event:"open_chest"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_gui.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_gui.mcfunction new file mode 100644 index 00000000..0c48a0ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_open_gui.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_open_gui +# Bridge: #macroengine_player:v1/open_gui → #macroengine:events/on_open_gui +# Executor: @s = player who opened a GUI block +function #macroengine:events/on_open_gui diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_death.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_death.mcfunction new file mode 100644 index 00000000..64bc9f1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_death.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/on_player_death +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_death"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_death diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_join.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_join.mcfunction new file mode 100644 index 00000000..b0a53430 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_join.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/on_player_join +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_join"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_join + +# Initialize player data and assign macroengine.pid +# get_name populates macroengine:names temp.NAME; init_from_name relays it to player/init +function macroengine:player/get_name +function macroengine:core/internal/player/init_from_name with storage macroengine:names temp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_respawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_respawn.mcfunction new file mode 100644 index 00000000..ddaaf0f5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_player_respawn.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/on_player_respawn +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_respawn"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_respawn diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_rc.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_rc.mcfunction new file mode 100644 index 00000000..bc67e0e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_rc.mcfunction @@ -0,0 +1 @@ +function #macroengine:events/on_rc \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_start.mcfunction new file mode 100644 index 00000000..67a33ed9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sneak_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sneak_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_stop.mcfunction new file mode 100644 index 00000000..d847b735 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sneak_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sneak_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sneak_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_start.mcfunction new file mode 100644 index 00000000..dc5932a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sprint_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sprint_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_stop.mcfunction new file mode 100644 index 00000000..58373d34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_sprint_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sprint_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sprint_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_target_hit.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_target_hit.mcfunction new file mode 100644 index 00000000..4a184458 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_target_hit.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_target_hit +data modify storage macroengine:engine _hook_fire_tmp set value {event:"target_hit"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_trade.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_trade.mcfunction new file mode 100644 index 00000000..2d97754b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_trade.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_trade +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"trade"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_using_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_using_item.mcfunction new file mode 100644 index 00000000..43279eb8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/on_using_item.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_using_item +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"using_item"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/run_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/run_cmd.mcfunction new file mode 100644 index 00000000..17a43689 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/run_cmd.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/run_cmd [MACRO] +# INPUT: $(cmd) +# @s = the triggering player + +# SECURITY: central gate + +execute if score #macroengine.log_level macroengine.log_level matches 4.. run tellraw @a[tag=macroengine.debug] ["",{"text":"[Hook] ","color":"aqua"},{"selector":"@s","color":"gold"},{"text":" cmd executed","color":"#555555"}] +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/tick_scan.mcfunction new file mode 100644 index 00000000..df95a41e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/tick_scan.mcfunction @@ -0,0 +1,99 @@ +# macroengine:systems/hook/internal/tick_scan +# Her tick'te hook event'lerini tespit eder. +# Runs only if hook_binds is non-empty. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/hook/false +execute unless data storage macroengine:engine {modules:{hook:1b}} run return 0 + +execute unless data storage macroengine:engine hook_binds[0] run return 0 + +# player_join — delegated to #macroengine_player:v1/joined (fired by player_action when player_action.join >= 1) +# Only score management remains here to prevent double-fire +execute as @a run scoreboard players set @s macroengine.hook_online 1 + +# player_death — delegated to #macroengine_player:v1/died (fired by player_action when player_action.death >= 1) +# Only score reset remains here to prevent double-fire +execute as @a[scores={macroengine.hook_deaths=1..}] run scoreboard players set @s macroengine.hook_deaths 0 + +# player_respawn — was dead (dead flag set) but alive again +execute as @a[tag=macroengine.hook_dead,nbt={DeathTime:0s}] run function macroengine:core/internal/systems/hook/on_player_respawn +execute as @a[tag=macroengine.hook_dead,nbt={DeathTime:0s}] run tag @s remove macroengine.hook_dead +execute as @a[nbt={DeathTime:1s}] run tag @s add macroengine.hook_dead + +# level_up — XP level increase +execute as @a run function macroengine:core/internal/systems/hook/check_level_up + +# block_place — advancement-based, placed_blocks score increase +execute as @a[scores={macroengine.hook_placed=1..}] run function macroengine:core/internal/systems/hook/on_block_place +execute as @a[scores={macroengine.hook_placed=1..}] run scoreboard players set @s macroengine.hook_placed 0 + +# block_break — statistic-based (no advancement trigger in 1.20.3–26.1+) +execute as @a run function macroengine:core/internal/systems/hook/check_block_break + +# item_use — advancement-based, score increase +execute as @a[scores={macroengine.hook_item_used=1..}] run function macroengine:core/internal/systems/hook/on_item_use +execute as @a[scores={macroengine.hook_item_used=1..}] run scoreboard players set @s macroengine.hook_item_used 0 + +# entity_kill — advancement-based, score increase +execute as @a[scores={macroengine.hook_entity_killed=1..}] run function macroengine:core/internal/systems/hook/on_entity_kill +execute as @a[scores={macroengine.hook_entity_killed=1..}] run scoreboard players set @s macroengine.hook_entity_killed 0 + +# using_item — item_durability_changed advancement-based +execute as @a[scores={macroengine.hook_using_item=1..}] run function macroengine:core/internal/systems/hook/on_using_item +execute as @a[scores={macroengine.hook_using_item=1..}] run scoreboard players set @s macroengine.hook_using_item 0 + +# killed_by_arrow — entity_killed_player + killing_blow:arrow advancement-based +execute as @a[scores={macroengine.hook_killed_by_arrow=1..}] run function macroengine:core/internal/systems/hook/on_killed_by_arrow +execute as @a[scores={macroengine.hook_killed_by_arrow=1..}] run scoreboard players set @s macroengine.hook_killed_by_arrow 0 + +# hero_of_the_village — raid victory advancement-based +execute as @a[scores={macroengine.hook_hero_of_the_village=1..}] run function macroengine:core/internal/systems/hook/on_hero_of_the_village +execute as @a[scores={macroengine.hook_hero_of_the_village=1..}] run scoreboard players set @s macroengine.hook_hero_of_the_village 0 + +# sneak_start / sneak_stop — predicate-based +execute as @a[scores={macroengine.hook_sneak=..0},predicate=macroengine:is_sneaking] run function macroengine:core/internal/systems/hook/on_sneak_start +execute as @a[scores={macroengine.hook_sneak=1},predicate=!macroengine:is_sneaking] run function macroengine:core/internal/systems/hook/on_sneak_stop +execute as @a[predicate=macroengine:is_sneaking] run scoreboard players set @s macroengine.hook_sneak 1 +execute as @a[predicate=!macroengine:is_sneaking] run scoreboard players set @s macroengine.hook_sneak 0 + +# sprint_start / sprint_stop — predicate-based +execute as @a[scores={macroengine.hook_sprint=..0},predicate=macroengine:is_sprinting] run function macroengine:core/internal/systems/hook/on_sprint_start +execute as @a[scores={macroengine.hook_sprint=1},predicate=!macroengine:is_sprinting] run function macroengine:core/internal/systems/hook/on_sprint_stop +execute as @a[predicate=macroengine:is_sprinting] run scoreboard players set @s macroengine.hook_sprint 1 +execute as @a[predicate=!macroengine:is_sprinting] run scoreboard players set @s macroengine.hook_sprint 0 + +# elytra_start / elytra_stop — predicate-based +execute as @a[scores={macroengine.hook_elytra=..0},predicate=macroengine:is_gliding] run function macroengine:core/internal/systems/hook/on_elytra_start +execute as @a[scores={macroengine.hook_elytra=1},predicate=!macroengine:is_gliding] run function macroengine:core/internal/systems/hook/on_elytra_stop +execute as @a[predicate=macroengine:is_gliding] run scoreboard players set @s macroengine.hook_elytra 1 +execute as @a[predicate=!macroengine:is_gliding] run scoreboard players set @s macroengine.hook_elytra 0 + +execute as @a[scores={macroengine.hook_dim_changed=1..}] run function macroengine:core/internal/systems/hook/on_dimension_change +execute as @a[scores={macroengine.hook_dim_changed=1..}] run scoreboard players set @s macroengine.hook_dim_changed 0 + +execute as @a[scores={macroengine.hook_traded=1..}] run function macroengine:core/internal/systems/hook/on_trade +execute as @a[scores={macroengine.hook_traded=1..}] run scoreboard players set @s macroengine.hook_traded 0 + +# jumped — delegated to #macroengine_player:v1/jumped (fired by player_action when player_action.jump >= 1) +# Only score reset remains here to prevent double-fire +execute as @a[scores={macroengine.hook_jump=1..}] run scoreboard players reset @s macroengine.hook_jump + +# open_chest — minecraft.custom:minecraft.open_chest stat +execute as @a[scores={macroengine.hook_open_chest=1..}] run function macroengine:core/internal/systems/hook/on_open_chest +execute as @a[scores={macroengine.hook_open_chest=1..}] run scoreboard players reset @s macroengine.hook_open_chest + +# drop_item — minecraft.custom:minecraft.drop stat +execute as @a[scores={macroengine.hook_drop=1..}] run function macroengine:core/internal/systems/hook/on_drop +execute as @a[scores={macroengine.hook_drop=1..}] run scoreboard players reset @s macroengine.hook_drop + +# target_hit — minecraft.custom:minecraft.target_hit stat +execute as @a[scores={macroengine.hook_target_hit=1..}] run function macroengine:core/internal/systems/hook/on_target_hit +execute as @a[scores={macroengine.hook_target_hit=1..}] run scoreboard players reset @s macroengine.hook_target_hit + +# eat — consume_item advancement-based +execute as @a[scores={macroengine.hook_eat=1..}] run function macroengine:core/internal/systems/hook/on_eat_fire +execute as @a[scores={macroengine.hook_eat=1..}] run scoreboard players set @s macroengine.hook_eat 0 + +# fish_caught — fishing_rod_hooked advancement-based +execute as @a[scores={macroengine.hook_fish=1..}] run function macroengine:core/internal/systems/hook/on_fish_fire +execute as @a[scores={macroengine.hook_fish=1..}] run scoreboard players set @s macroengine.hook_fish 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_check.mcfunction new file mode 100644 index 00000000..9e94e984 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_check.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/unbind_check [MACRO] +# INPUT: $(event) — event field of the current bind +# If it does not match _hook_filter_event, put back into hook_binds. + +$execute unless data storage macroengine:engine {_hook_filter_event:"$(event)"} run data modify storage macroengine:engine hook_binds append from storage macroengine:engine _hook_unbinds[0] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_exec.mcfunction new file mode 100644 index 00000000..189ea859 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_exec.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/unbind_exec [MACRO] +# INPUT: $(event) +# Filters all binds belonging to $(event) from hook_binds. + +data modify storage macroengine:engine _hook_unbinds set from storage macroengine:engine hook_binds +data modify storage macroengine:engine hook_binds set value [] +$data modify storage macroengine:engine _hook_filter_event set value "$(event)" +function macroengine:core/internal/systems/hook/unbind_filter + +data remove storage macroengine:engine _hook_unbinds +data remove storage macroengine:engine _hook_filter_event + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/unbind ","color":"aqua"},{"text":"$(event)","color":"yellow"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_filter.mcfunction new file mode 100644 index 00000000..3bc80aad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/hook/unbind_filter.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/unbind_filter +# _hook_unbinds listesini iterate eder. +# Copies back binds that do not match _hook_filter_event to hook_binds. + +execute unless data storage macroengine:engine _hook_unbinds[0] run return 0 + +data modify storage macroengine:engine _hook_unbinds[0] set from storage macroengine:engine _hook_unbinds[0] + +function macroengine:core/internal/systems/hook/unbind_check with storage macroengine:engine _hook_unbinds[0] + +data remove storage macroengine:engine _hook_unbinds[0] + +function macroengine:core/internal/systems/hook/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_entry.mcfunction new file mode 100644 index 00000000..703a3084 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_entry.mcfunction @@ -0,0 +1 @@ +function macroengine:core/internal/systems/log/print_macro with storage macroengine:engine _felist_current diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_macro.mcfunction new file mode 100644 index 00000000..72cda4a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/log/print_macro.mcfunction @@ -0,0 +1 @@ +$tellraw @s {"text":"$(text)","color":"$(color)","italic":false} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/gcd_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/gcd_loop.mcfunction new file mode 100644 index 00000000..dce20257 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/gcd_loop.mcfunction @@ -0,0 +1,9 @@ +# Euclidean step: a = b, b = a % b — repeat until b is zero +execute if score $gcd_b macroengine.tmp matches 0 run return 0 + +scoreboard players operation $gcd_t macroengine.tmp = $gcd_a macroengine.tmp +scoreboard players operation $gcd_a macroengine.tmp = $gcd_b macroengine.tmp +scoreboard players operation $gcd_t macroengine.tmp %= $gcd_b macroengine.tmp +scoreboard players operation $gcd_b macroengine.tmp = $gcd_t macroengine.tmp + +function macroengine:core/internal/systems/math/gcd_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/log2_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/log2_loop.mcfunction new file mode 100644 index 00000000..59c9dbe3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/log2_loop.mcfunction @@ -0,0 +1,6 @@ +execute if score $lg2_v macroengine.tmp matches ..1 run return 0 + +scoreboard players add $lg2_r macroengine.tmp 1 +scoreboard players operation $lg2_v macroengine.tmp /= $lg2_2 macroengine.tmp + +function macroengine:core/internal/systems/math/log2_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/pow_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/pow_loop.mcfunction new file mode 100644 index 00000000..de9fdb75 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/pow_loop.mcfunction @@ -0,0 +1,4 @@ +execute if score $pow_n macroengine.tmp matches ..0 run return 0 +scoreboard players operation $pow_r macroengine.tmp *= $pow_a macroengine.tmp +scoreboard players remove $pow_n macroengine.tmp 1 +function macroengine:core/internal/systems/math/pow_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/sqrt_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/sqrt_step.mcfunction new file mode 100644 index 00000000..16afbf18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/sqrt_step.mcfunction @@ -0,0 +1,13 @@ +scoreboard players operation $sqrt_mid macroengine.tmp = $sqrt_lo macroengine.tmp +scoreboard players operation $sqrt_mid macroengine.tmp += $sqrt_hi macroengine.tmp +scoreboard players set $sqrt_2 macroengine.tmp 2 +scoreboard players operation $sqrt_mid macroengine.tmp /= $sqrt_2 macroengine.tmp + +scoreboard players operation $sqrt_sq macroengine.tmp = $sqrt_mid macroengine.tmp +scoreboard players operation $sqrt_sq macroengine.tmp *= $sqrt_mid macroengine.tmp + +execute if score $sqrt_sq macroengine.tmp <= $sqrt_n macroengine.tmp run scoreboard players operation $sqrt_lo macroengine.tmp = $sqrt_mid macroengine.tmp +execute unless score $sqrt_sq macroengine.tmp <= $sqrt_n macroengine.tmp run scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_mid macroengine.tmp + +scoreboard players remove $sqrt_itr macroengine.tmp 1 +execute if score $sqrt_itr macroengine.tmp matches 1.. run function macroengine:core/internal/systems/math/sqrt_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/add_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/add_exec.mcfunction new file mode 100644 index 00000000..b553527f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/add_exec.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/math/vec/internal/add_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vx macroengine.tmp $(ax) +$scoreboard players set $vy macroengine.tmp $(ay) +$scoreboard players set $vz macroengine.tmp $(az) +$scoreboard players add $vx macroengine.tmp $(bx) +$scoreboard players add $vy macroengine.tmp $(by) +$scoreboard players add $vz macroengine.tmp $(bz) + +execute store result storage macroengine:output x int 1 run scoreboard players get $vx macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vy macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vz macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/add ","color":"aqua"},{"text":"($(ax),$(ay),$(az))+($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/angle_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/angle_exec.mcfunction new file mode 100644 index 00000000..54b18f05 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/angle_exec.mcfunction @@ -0,0 +1,47 @@ +# macroengine:systems/math/vec/internal/angle_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) +# RULE: Lines without $(var) must NOT have a $ prefix. + +function macroengine:core/lib/input_push + +$data modify storage macroengine:engine _vec_dot_tmp ax set value $(ax) +$data modify storage macroengine:engine _vec_dot_tmp ay set value $(ay) +$data modify storage macroengine:engine _vec_dot_tmp az set value $(az) +$data modify storage macroengine:engine _vec_dot_tmp bx set value $(bx) +$data modify storage macroengine:engine _vec_dot_tmp by set value $(by) +$data modify storage macroengine:engine _vec_dot_tmp bz set value $(bz) +function macroengine:systems/math/vec/dot with storage macroengine:engine _vec_dot_tmp +execute store result score $vang_dot macroengine.tmp run data get storage macroengine:output result + +data modify storage macroengine:engine _math_d3d_tmp.x1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.y1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.z1 set value 0 +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(ax) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(ay) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(az) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp +execute store result score $vang_la macroengine.tmp run data get storage macroengine:output result + +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(bx) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(by) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(bz) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp +execute store result score $vang_lb macroengine.tmp run data get storage macroengine:output result + +function macroengine:core/lib/input_pop + +data modify storage macroengine:output result set value 0 + +execute if score $vang_la macroengine.tmp matches 0 run return 0 +execute if score $vang_lb macroengine.tmp matches 0 run return 0 + +scoreboard players set $vang_1000 macroengine.tmp 1000 +scoreboard players operation $vang_dot macroengine.tmp *= $vang_1000 macroengine.tmp +scoreboard players operation $vang_la macroengine.tmp *= $vang_lb macroengine.tmp +scoreboard players operation $vang_dot macroengine.tmp /= $vang_la macroengine.tmp + +execute if score $vang_dot macroengine.tmp matches 1001.. run scoreboard players set $vang_dot macroengine.tmp 1000 +execute if score $vang_dot macroengine.tmp matches ..-1001 run scoreboard players set $vang_dot macroengine.tmp -1000 + +execute store result storage macroengine:engine _vang_cos int 1 run scoreboard players get $vang_dot macroengine.tmp +function macroengine:core/internal/systems/math/vec/arccos_lookup diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/arccos_lookup.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/arccos_lookup.mcfunction new file mode 100644 index 00000000..56582c87 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/arccos_lookup.mcfunction @@ -0,0 +1,25 @@ +# macroengine:systems/math/vec/internal/arccos_lookup +# $vang_dot macroengine.tmp = cos×1000 value ([-1000, 1000]) +# 10° resolution arccos lookup table. + +execute if score $vang_dot macroengine.tmp matches 993.. run data modify storage macroengine:output result set value 0 +execute if score $vang_dot macroengine.tmp matches 963..992 run data modify storage macroengine:output result set value 10 +execute if score $vang_dot macroengine.tmp matches 903..962 run data modify storage macroengine:output result set value 20 +execute if score $vang_dot macroengine.tmp matches 816..902 run data modify storage macroengine:output result set value 30 +execute if score $vang_dot macroengine.tmp matches 705..815 run data modify storage macroengine:output result set value 40 +execute if score $vang_dot macroengine.tmp matches 571..704 run data modify storage macroengine:output result set value 50 +execute if score $vang_dot macroengine.tmp matches 421..570 run data modify storage macroengine:output result set value 60 +execute if score $vang_dot macroengine.tmp matches 258..420 run data modify storage macroengine:output result set value 70 +execute if score $vang_dot macroengine.tmp matches 87..257 run data modify storage macroengine:output result set value 80 +execute if score $vang_dot macroengine.tmp matches -87..86 run data modify storage macroengine:output result set value 90 +execute if score $vang_dot macroengine.tmp matches -257..-88 run data modify storage macroengine:output result set value 100 +execute if score $vang_dot macroengine.tmp matches -420..-258 run data modify storage macroengine:output result set value 110 +execute if score $vang_dot macroengine.tmp matches -570..-421 run data modify storage macroengine:output result set value 120 +execute if score $vang_dot macroengine.tmp matches -704..-571 run data modify storage macroengine:output result set value 130 +execute if score $vang_dot macroengine.tmp matches -815..-705 run data modify storage macroengine:output result set value 140 +execute if score $vang_dot macroengine.tmp matches -902..-816 run data modify storage macroengine:output result set value 150 +execute if score $vang_dot macroengine.tmp matches -962..-903 run data modify storage macroengine:output result set value 160 +execute if score $vang_dot macroengine.tmp matches -992..-963 run data modify storage macroengine:output result set value 170 +execute if score $vang_dot macroengine.tmp matches ..-993 run data modify storage macroengine:output result set value 180 + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/angle_between ","color":"aqua"},{"text":"cos×1000=","color":"gray"},{"score":{"name":"$vang_dot","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"yellow"},{"text":"°","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/cross_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/cross_exec.mcfunction new file mode 100644 index 00000000..3bf66f5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/cross_exec.mcfunction @@ -0,0 +1,40 @@ +# macroengine:systems/math/vec/internal/cross_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +# cx = ay*bz - az*by +$scoreboard players set $vcay macroengine.tmp $(ay) +$scoreboard players set $vcbz macroengine.tmp $(bz) +scoreboard players operation $vcay macroengine.tmp *= $vcbz macroengine.tmp + +$scoreboard players set $vcaz macroengine.tmp $(az) +$scoreboard players set $vcby macroengine.tmp $(by) +scoreboard players operation $vcaz macroengine.tmp *= $vcby macroengine.tmp + +scoreboard players operation $vcay macroengine.tmp -= $vcaz macroengine.tmp +execute store result storage macroengine:output x int 1 run scoreboard players get $vcay macroengine.tmp + +# cy = az*bx - ax*bz +$scoreboard players set $vcaz2 macroengine.tmp $(az) +$scoreboard players set $vcbx macroengine.tmp $(bx) +scoreboard players operation $vcaz2 macroengine.tmp *= $vcbx macroengine.tmp + +$scoreboard players set $vcax macroengine.tmp $(ax) +$scoreboard players set $vcbz2 macroengine.tmp $(bz) +scoreboard players operation $vcax macroengine.tmp *= $vcbz2 macroengine.tmp + +scoreboard players operation $vcaz2 macroengine.tmp -= $vcax macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vcaz2 macroengine.tmp + +# cz = ax*by - ay*bx +$scoreboard players set $vcax2 macroengine.tmp $(ax) +$scoreboard players set $vcby2 macroengine.tmp $(by) +scoreboard players operation $vcax2 macroengine.tmp *= $vcby2 macroengine.tmp + +$scoreboard players set $vcay2 macroengine.tmp $(ay) +$scoreboard players set $vcbx2 macroengine.tmp $(bx) +scoreboard players operation $vcay2 macroengine.tmp *= $vcbx2 macroengine.tmp + +scoreboard players operation $vcax2 macroengine.tmp -= $vcay2 macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vcax2 macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/cross ","color":"aqua"},{"text":"($(ax),$(ay),$(az))×($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/dot_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/dot_exec.mcfunction new file mode 100644 index 00000000..f1ff9e97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/dot_exec.mcfunction @@ -0,0 +1,21 @@ +# macroengine:systems/math/vec/internal/dot_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vdax macroengine.tmp $(ax) +$scoreboard players set $vdbx macroengine.tmp $(bx) +scoreboard players operation $vdax macroengine.tmp *= $vdbx macroengine.tmp + +$scoreboard players set $vday macroengine.tmp $(ay) +$scoreboard players set $vdby macroengine.tmp $(by) +scoreboard players operation $vday macroengine.tmp *= $vdby macroengine.tmp + +$scoreboard players set $vdaz macroengine.tmp $(az) +$scoreboard players set $vdbz macroengine.tmp $(bz) +scoreboard players operation $vdaz macroengine.tmp *= $vdbz macroengine.tmp + +scoreboard players operation $vdax macroengine.tmp += $vday macroengine.tmp +scoreboard players operation $vdax macroengine.tmp += $vdaz macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $vdax macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/dot ","color":"aqua"},{"text":"($(ax),$(ay),$(az))·($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/normalize_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/normalize_exec.mcfunction new file mode 100644 index 00000000..f5dc3c66 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/normalize_exec.mcfunction @@ -0,0 +1,44 @@ +# macroengine:systems/math/vec/internal/normalize_exec [MACRO] +# INPUT: $(x), $(y), $(z) +# Compute length via math/distance3d, then ×1000 / length +# RULE: Lines without $(var) must NOT have a $ prefix. + +function macroengine:core/lib/input_push + +data modify storage macroengine:engine _math_d3d_tmp.x1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.y1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.z1 set value 0 +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(x) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(y) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(z) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp + +function macroengine:core/lib/input_pop + +execute store result score $vnlen macroengine.tmp run data get storage macroengine:output result + +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output x set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output y set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output z set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output length set value 0 +execute if score $vnlen macroengine.tmp matches 0 run return 0 + +execute store result storage macroengine:output length int 1 run scoreboard players get $vnlen macroengine.tmp + +$scoreboard players set $vnx macroengine.tmp $(x) +scoreboard players set $vn1000 macroengine.tmp 1000 +scoreboard players operation $vnx macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vnx macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output x int 1 run scoreboard players get $vnx macroengine.tmp + +$scoreboard players set $vny macroengine.tmp $(y) +scoreboard players operation $vny macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vny macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vny macroengine.tmp + +$scoreboard players set $vnz macroengine.tmp $(z) +scoreboard players operation $vnz macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vnz macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vnz macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/normalize ","color":"aqua"},{"text":"len=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"length","color":"yellow"},{"text":" → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/sub_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/sub_exec.mcfunction new file mode 100644 index 00000000..5545e6b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/math/vec/sub_exec.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/math/vec/internal/sub_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vx macroengine.tmp $(ax) +$scoreboard players set $vy macroengine.tmp $(ay) +$scoreboard players set $vz macroengine.tmp $(az) +$scoreboard players remove $vx macroengine.tmp $(bx) +$scoreboard players remove $vy macroengine.tmp $(by) +$scoreboard players remove $vz macroengine.tmp $(bz) + +execute store result storage macroengine:output x int 1 run scoreboard players get $vx macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vy macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vz macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/sub ","color":"aqua"},{"text":"($(ax),$(ay),$(az))-($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/append_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/append_exec.mcfunction new file mode 100644 index 00000000..d11b8b89 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/append_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/append_exec [MACRO] +# INPUT: $(dst_storage), $(dst_path), $(src_storage), $(src_path) + +$data modify storage $(dst_storage) $(dst_path) append from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/append ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/clear_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/clear_exec.mcfunction new file mode 100644 index 00000000..426f2463 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/clear_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/clear_exec [MACRO] +# INPUT: $(storage), $(path) + +$data remove storage $(storage) $(path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/clear ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/copy_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/copy_exec.mcfunction new file mode 100644 index 00000000..ef8af920 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/copy_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/copy_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) set from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/copy ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/count_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/count_exec.mcfunction new file mode 100644 index 00000000..2ebe1456 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/count_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/nbt/internal/count_exec [MACRO] +# INPUT: $(storage), $(path) + +scoreboard players set $nbt_count macroengine.tmp 0 +$execute store result score $nbt_count macroengine.tmp run data get storage $(storage) $(path) + +execute store result storage macroengine:output result int 1 run scoreboard players get $nbt_count macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/count ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"},{"text":" → ","color":"#555555"},{"score":{"name":"$nbt_count","objective":"macroengine.tmp"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/exists_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/exists_exec.mcfunction new file mode 100644 index 00000000..cea578ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/exists_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/nbt/internal/exists_exec [MACRO] +# INPUT: $(storage), $(path) + +data modify storage macroengine:output result set value 0b +$execute if data storage $(storage) $(path) run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/exists ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/first_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/first_exec.mcfunction new file mode 100644 index 00000000..cddce93d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/first_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/first_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) set from storage $(src_storage) $(src_path)[0] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/first ","color":"aqua"},{"text":"$(src_storage):$(src_path)[0]","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/merge_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/merge_exec.mcfunction new file mode 100644 index 00000000..9f831051 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/merge_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/merge_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) merge from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/merge ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/move_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/move_exec.mcfunction new file mode 100644 index 00000000..afc7f33d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/move_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/nbt/internal/move_exec [MACRO] +# INPUT: $(storage), $(from_path), $(to_path) + +$data modify storage $(storage) $(to_path) set from storage $(storage) $(from_path) +$data remove storage $(storage) $(from_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/move ","color":"aqua"},{"text":"$(from_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(to_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/pop_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/pop_exec.mcfunction new file mode 100644 index 00000000..4e2e6493 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/pop_exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/nbt/internal/pop_exec [MACRO] +# INPUT: $(storage), $(path) + +$execute if data storage $(storage) $(path)[0] run data modify storage macroengine:output result set from storage $(storage) $(path)[0] +$execute if data storage $(storage) $(path)[0] run data remove storage $(storage) $(path)[0] +$execute unless data storage $(storage) $(path)[0] run data modify storage macroengine:output result set value 0b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/pop ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/swap_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/swap_exec.mcfunction new file mode 100644 index 00000000..63fd83aa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/nbt/swap_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/nbt/internal/swap_exec [MACRO] +# INPUT: $(storage), $(path_a), $(path_b) + +$data modify storage macroengine:engine _nbt_swap set from storage $(storage) $(path_a) +$data modify storage $(storage) $(path_a) set from storage $(storage) $(path_b) +$data modify storage $(storage) $(path_b) set from storage macroengine:engine _nbt_swap +data remove storage macroengine:engine _nbt_swap + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/swap ","color":"aqua"},{"text":"$(path_a)","color":"white"},{"text":" ↔ ","color":"#555555"},{"text":"$(path_b)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/evaluate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/evaluate.mcfunction new file mode 100644 index 00000000..3699c39b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/evaluate.mcfunction @@ -0,0 +1,41 @@ +# macroengine:systems/rate_limit/internal/evaluate — Sliding window core [MACRO] +# Input: $(key), $(limit), $(window), $(hits) (array, not used directly here) +# +# Algorithm: +# 1. Get current epoch tick +# 2. Compute window start = epoch - window + 1 +# 3. Prune hits older than window start → stored as macroengine:engine rate_limit.rules..hits +# 4. Count remaining hits +# 5. If count < limit → record new hit, return ALLOWED +# 6. Else → return DENIED (do NOT record hit) + +# Step 1: capture current epoch + compute window boundary +execute store result score $rl_now macroengine.tmp run scoreboard players get $epoch macroengine.time +$scoreboard players set $rl_win macroengine.tmp $(window) +scoreboard players operation $rl_start macroengine.tmp = $rl_now macroengine.tmp +scoreboard players operation $rl_start macroengine.tmp -= $rl_win macroengine.tmp +scoreboard players add $rl_start macroengine.tmp 1 + +# Step 2: write boundary into work storage for the pruner macro +execute store result storage macroengine:rl_work prune_before int 1 run scoreboard players get $rl_start macroengine.tmp + +# Step 3: prune expired hits (hits[i].t < prune_before) +# We do this by rebuilding the hits list via internal/prune +$data modify storage macroengine:rl_work rule_key set value "$(key)" +function macroengine:core/internal/systems/rate_limit/prune with storage macroengine:rl_work + +# Step 4: count surviving hits +$execute store result score $rl_count macroengine.tmp run data get storage macroengine:engine rate_limit.rules.$(key).hits + +# Step 5: compare against limit +$scoreboard players set $rl_limit macroengine.tmp $(limit) + +# DENIED path — limit reached +execute if score $rl_count macroengine.tmp >= $rl_limit macroengine.tmp run data modify storage macroengine:output result set value 0b +execute if score $rl_count macroengine.tmp >= $rl_limit macroengine.tmp run return 0 + +# ALLOWED path — append new hit timestamp +execute store result storage macroengine:rl_work new_hit.t int 1 run scoreboard players get $rl_now macroengine.tmp +$data modify storage macroengine:engine rate_limit.rules.$(key).hits append from storage macroengine:rl_work new_hit + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"ALLOW ","color":"#55FF55"},{"text":"$(key)","color":"white"},{"text":" (","color":"#555555"},{"score":{"name":"$rl_count","objective":"macroengine.tmp"},"color":"green"},{"text":"+1/","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":")","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/no_rule.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/no_rule.mcfunction new file mode 100644 index 00000000..39f4da6e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/no_rule.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/rate_limit/internal/no_rule — Warn when check called on unregistered key [MACRO] +# Input: $(key) +# Fail-open: result stays 1b (ALLOWED) so callers aren't broken by missing config. + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/check ","color":"aqua"},{"text":"WARN ","color":"#FFAA00"},{"text":"no rule for key: ","color":"#555555"},{"text":"$(key)","color":"#FF5555"},{"text":" — fail-open","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player/ensure.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player/ensure.mcfunction new file mode 100644 index 00000000..e6770e27 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player/ensure.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/rate_limit/player/internal/ensure — Seed player bucket from template [MACRO] +# Input: $(tpl), $(full) +# Called only when bucket doesn't exist yet for this player. + +$execute unless data storage macroengine:engine rate_limit.player_templates.$(tpl) run return 0 +$data modify storage macroengine:engine "rate_limit.rules.$(full)" set from storage macroengine:engine rate_limit.player_templates.$(tpl) +$data modify storage macroengine:engine "rate_limit.rules.$(full).hits" set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"INIT ","color":"#55FFFF"},{"text":"player bucket: ","color":"#555555"},{"text":"$(full)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_check.mcfunction new file mode 100644 index 00000000..658dc5e4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_check.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/rate_limit/internal/player_check — Auto-ensure player bucket if needed [MACRO] +# Input: $(ensure_key) — the full compound key from check +# +# Only acts when: +# 1. Key starts with "player:" (checked via NBT string prefix match workaround) +# 2. No rule exists yet for that key +# 3. A player_template exists for the base key portion +# +# Since we can't do string operations in mcfunction, we use a two-pass approach: +# player/check wrapper sets both $(key) and $(tpl) explicitly, so +# this file is only reached from the generic check path. +# In that case, just check if rule exists and exit if it does. + +$execute if data storage macroengine:engine rate_limit.rules.$(ensure_key) run return 0 + +# Rule absent. If this looks like a player key the wrapper already pre-seeded it. +# Nothing more to do here — no_rule path handles the rest. diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_ensure.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_ensure.mcfunction new file mode 100644 index 00000000..4588ed10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/player_ensure.mcfunction @@ -0,0 +1,10 @@ +# macroengine:systems/rate_limit/internal/player_ensure — Auto-create player bucket from template [MACRO] +# Called by check when rule key "player::" doesn't exist yet. +# Reads the template registered via rate_limit/player/config and creates the bucket. +# Input: $(key) = full compound key e.g. "player:shop:Steve" +# $(tpl) = template key e.g. "shop" + +$execute unless data storage macroengine:engine rate_limit.player_templates.$(tpl) run return 0 +$data modify storage macroengine:engine rate_limit.rules.$(key) set from storage macroengine:engine rate_limit.player_templates.$(tpl) +$data modify storage macroengine:engine rate_limit.rules.$(key).hits set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"INIT ","color":"#55FFFF"},{"text":"bucket for ","color":"#555555"},{"text":"$(key)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/prune.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/prune.mcfunction new file mode 100644 index 00000000..db16509d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/rate_limit/prune.mcfunction @@ -0,0 +1,19 @@ +# macroengine:systems/rate_limit/internal/prune — Remove hits outside the sliding window [MACRO] +# Input: $(rule_key), macroengine:rl_work.prune_before (int, from evaluate) +# +# Strategy: iterate hits array from index 0 upward. +# Hits are appended in chronological order, so hits[0] is always the oldest. +# We remove from the front until hits[0].t >= prune_before (or array empty). +# This is O(expired_count) — optimal for a FIFO sliding window. + +$execute unless data storage macroengine:engine rate_limit.rules.$(rule_key).hits[0] run return 0 + +# Read oldest hit timestamp +$execute store result score $rl_oldest macroengine.tmp run data get storage macroengine:engine rate_limit.rules.$(rule_key).hits[0].t + +# If oldest hit is still inside window → nothing left to prune +execute if score $rl_oldest macroengine.tmp >= $rl_start macroengine.tmp run return 0 + +# Oldest hit is expired → remove it and recurse +$data remove storage macroengine:engine rate_limit.rules.$(rule_key).hits[0] +function macroengine:core/internal/systems/rate_limit/prune with storage macroengine:rl_work diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_1.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_1.mcfunction new file mode 100644 index 00000000..ac187a03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_1.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_10.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_10.mcfunction new file mode 100644 index 00000000..e31b6984 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_10.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_11.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_11.mcfunction new file mode 100644 index 00000000..3909f646 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_11.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_12.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_12.mcfunction new file mode 100644 index 00000000..4587515b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_12.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_13.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_13.mcfunction new file mode 100644 index 00000000..62fb0fe8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_13.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_14.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_14.mcfunction new file mode 100644 index 00000000..8e71e72c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_14.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_15.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_15.mcfunction new file mode 100644 index 00000000..b349d43a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_15.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_16.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_16.mcfunction new file mode 100644 index 00000000..ac98185e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_16.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_2.mcfunction new file mode 100644 index 00000000..48a35e4d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_2.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_3.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_3.mcfunction new file mode 100644 index 00000000..2c46b016 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_3.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_4.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_4.mcfunction new file mode 100644 index 00000000..5a1a4381 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_4.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_5.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_5.mcfunction new file mode 100644 index 00000000..2ae83438 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_5.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_6.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_6.mcfunction new file mode 100644 index 00000000..d3e7e602 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_6.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_7.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_7.mcfunction new file mode 100644 index 00000000..5d1abe71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_7.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_8.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_8.mcfunction new file mode 100644 index 00000000..cb283451 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_8.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_9.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_9.mcfunction new file mode 100644 index 00000000..54dcbb6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/string/repeat_9.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/concat.mcfunction new file mode 100644 index 00000000..02c11354 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/concat.mcfunction @@ -0,0 +1,15 @@ +# ============================================================ +# macroengine:systems/uuid/internal/concat [MACRO FUNCTION] +# Builds a standard UUID string from 16 hex field values +# +# Call: function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp +# Output: macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# UUID byte order (big-endian): +# Segment 1 (8 hex): int0 MSB→LSB = [3][2][1][0] +# Segment 2 (4 hex): int1 MSB→LSB = [7][6] +# Segment 3 (4 hex): int1 continued = [5][4] +# Segment 4 (4 hex): int2 MSB→LSB = [b][a] +# Segment 5 (12 hex): int2 continued + int3 = [9][8][f][e][d][c] +# ============================================================ +$data modify storage macroengine:input value set value "$(3)$(2)$(1)$(0)-$(7)$(6)-$(5)$(4)-$(b)$(a)-$(9)$(8)$(f)$(e)$(d)$(c)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/extract_bytes.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/extract_bytes.mcfunction new file mode 100644 index 00000000..41298cb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/extract_bytes.mcfunction @@ -0,0 +1,157 @@ +# ============================================================ +# macroengine:systems/uuid/internal/extract_bytes +# Splits 4 UUID ints into 16 bytes (correct signed integer arithmetic) +# +# REQUIREMENT: The following fake-player scores must be set: +# $uuid.0 $uuid.1 $uuid.2 $uuid.3 macroengine.tmp +# $uuid.256 macroengine.tmp = 256 (set by init) +# +# OUTPUT: storage macroengine:uuid _tmp +# Fields 0..3 → bytes of int 0 (0=LSB, 3=MSB) +# Fields 4..7 → bytes of int 1 +# Fields 8..b → bytes of int 2 +# Fields c..f → bytes of int 3 +# Each field is guaranteed to be in range 0–255. +# +# NEDEN GU'DAN FARKLI? +# Java's `/` operator truncates toward zero for negative dividends. +# Example: -1 / 256 = 0 (floor should be -1). +# GU does not handle this; high bytes of negative ints are computed incorrectly. +# This function correctly extracts each byte using floor-division: +# +# b_raw = v % 256 (Java mod, range -255..255) +# if b_raw < 0: +# v = (v / 256) - 1 (correction for floor division) +# b = b_raw + 256 (normalize to 0..255) +# else: +# v = v / 256 +# b = b_raw +# ============================================================ + +# --- INT 0 (first 4 bytes of UUID, fields 0..3) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.0 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.1 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.2 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB (last byte, no division) +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.3 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 1 (alanlar 4..7) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.4 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.5 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.6 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.7 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 2 (alanlar 8..b) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.8 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.9 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.a int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.b int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 3 (alanlar c..f) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.c int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.d int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.e int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.f int 1 run scoreboard players get $uuid.a macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/forget_key.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/forget_key.mcfunction new file mode 100644 index 00000000..6a13fa45 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/forget_key.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/forget_key [MACRO FUNCTION] +# Deletes the specified key from uuid_cache +# +# Call: function macroengine:core/internal/systems/uuid/forget_key with storage macroengine:input +# $(key) = name of the key to delete +# ============================================================ +$data remove storage macroengine:engine uuid_cache.$(key) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/get_hexes.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/get_hexes.mcfunction new file mode 100644 index 00000000..6213e5d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/get_hexes.mcfunction @@ -0,0 +1,24 @@ +# ============================================================ +# macroengine:systems/uuid/internal/get_hexes [MACRO FUNCTION] +# Converts 16 byte ints in macroengine:uuid _tmp to 2-character hex strings +# +# Call: function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +# Fields 0..f are used as indices into the hex lookup table. +# The same fields are overwritten with hex string results. +# ============================================================ +$data modify storage macroengine:uuid _tmp.0 set from storage macroengine:uuid hex_chars[$(0)] +$data modify storage macroengine:uuid _tmp.1 set from storage macroengine:uuid hex_chars[$(1)] +$data modify storage macroengine:uuid _tmp.2 set from storage macroengine:uuid hex_chars[$(2)] +$data modify storage macroengine:uuid _tmp.3 set from storage macroengine:uuid hex_chars[$(3)] +$data modify storage macroengine:uuid _tmp.4 set from storage macroengine:uuid hex_chars[$(4)] +$data modify storage macroengine:uuid _tmp.5 set from storage macroengine:uuid hex_chars[$(5)] +$data modify storage macroengine:uuid _tmp.6 set from storage macroengine:uuid hex_chars[$(6)] +$data modify storage macroengine:uuid _tmp.7 set from storage macroengine:uuid hex_chars[$(7)] +$data modify storage macroengine:uuid _tmp.8 set from storage macroengine:uuid hex_chars[$(8)] +$data modify storage macroengine:uuid _tmp.9 set from storage macroengine:uuid hex_chars[$(9)] +$data modify storage macroengine:uuid _tmp.a set from storage macroengine:uuid hex_chars[$(a)] +$data modify storage macroengine:uuid _tmp.b set from storage macroengine:uuid hex_chars[$(b)] +$data modify storage macroengine:uuid _tmp.c set from storage macroengine:uuid hex_chars[$(c)] +$data modify storage macroengine:uuid _tmp.d set from storage macroengine:uuid hex_chars[$(d)] +$data modify storage macroengine:uuid _tmp.e set from storage macroengine:uuid hex_chars[$(e)] +$data modify storage macroengine:uuid _tmp.f set from storage macroengine:uuid hex_chars[$(f)] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/has_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/has_check.mcfunction new file mode 100644 index 00000000..62465647 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/has_check.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/has_check [MACRO FUNCTION] +# Checks key existence in the cache +# +# Call: function macroengine:core/internal/systems/uuid/has_check with storage macroengine:input +# $(key) = name of the key to check +# ============================================================ +$execute if data storage macroengine:engine uuid_cache.$(key) run scoreboard players set $uuid.has macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/init.mcfunction new file mode 100644 index 00000000..db0bc3e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/init.mcfunction @@ -0,0 +1,31 @@ +# ============================================================ +# macroengine:systems/uuid/internal/init +# UUID module init — hex table and constant setup +# Called by load/storages.mcfunction +# ============================================================ + +# Division constant (lives in macroengine.tmp scoreboard, uuid module specific) +scoreboard players set $uuid.256 macroengine.tmp 256 + +# Byte → 2-character hex string lookup table (00-ff, 256 entries) +# Initialized only if not yet loaded +execute unless data storage macroengine:uuid hex_chars run data modify storage macroengine:uuid hex_chars set value [\ +"00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f",\ +"10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f",\ +"20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f",\ +"30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f",\ +"40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f",\ +"50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f",\ +"60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f",\ +"70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f",\ +"80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f",\ +"90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f",\ +"a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af",\ +"b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf",\ +"c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf",\ +"d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df",\ +"e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef",\ +"f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"] + +# UUID cache section +execute unless data storage macroengine:engine uuid_cache run data modify storage macroengine:engine uuid_cache set value {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_check.mcfunction new file mode 100644 index 00000000..974199a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_check.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/match_check [MACRO FUNCTION] +# Dynamically compares the current UUID string with _match_target +# +# Call: function macroengine:core/internal/systems/uuid/match_check with storage macroengine:input +# $(value) = current UUID string written by from_entity +# ============================================================ +$execute if data storage macroengine:uuid {_match_target:"$(value)"} run function macroengine:core/internal/systems/uuid/match_fire with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_fire.mcfunction new file mode 100644 index 00000000..26f6f0b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/match_fire.mcfunction @@ -0,0 +1,9 @@ +# ============================================================ +# macroengine:systems/uuid/internal/match_fire [MACRO] +# Runs the uuid/match callback. +# +# Call: function macroengine:core/internal/systems/uuid/match_fire with storage macroengine:input {} +# $(func) = macroengine:input func field +# ============================================================ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_arr_read.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_arr_read.mcfunction new file mode 100644 index 00000000..e8fae2e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_arr_read.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/recall_arr_read [MACRO FUNCTION] +# Reads UUID int array from the cache +# +# Call: function macroengine:core/internal/systems/uuid/recall_arr_read with storage macroengine:input +# $(key) = key name +# ============================================================ +$data modify storage macroengine:input value set from storage macroengine:engine uuid_cache.$(key).arr diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_read.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_read.mcfunction new file mode 100644 index 00000000..a7ef8bd8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/recall_read.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/recall_read [MACRO FUNCTION] +# Reads UUID string from the cache +# +# Call: function macroengine:core/internal/systems/uuid/recall_read with storage macroengine:input +# $(key) = key name +# ============================================================ +$data modify storage macroengine:input value set from storage macroengine:engine uuid_cache.$(key).str diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/store_write.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/store_write.mcfunction new file mode 100644 index 00000000..b0e53df6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/systems/uuid/store_write.mcfunction @@ -0,0 +1,10 @@ +# ============================================================ +# macroengine:systems/uuid/internal/store_write [MACRO FUNCTION] +# UUID'yi macroengine:engine uuid_cache'e yazar (hem string hem array) +# +# Call: function macroengine:core/internal/systems/uuid/store_write with storage macroengine:input +# $(key) = key name +# $(value) = UUID hex string (written by from_entity) +# ============================================================ +$data modify storage macroengine:engine uuid_cache.$(key).str set value "$(value)" +$data modify storage macroengine:engine uuid_cache.$(key).arr set from storage macroengine:uuid _store_arr diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_assign.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_assign.mcfunction new file mode 100644 index 00000000..00cfd3b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_assign.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/internal/random_assign [INTERNAL] +# Called via "execute as @e[...] run function ..." — runs as each +# matching entity in sequence. +# +# Copies the current counter ($rnd_i macroengine.tmp) into this entity's +# macroengine.rnd_idx score, then increments the counter. +# Because each function call runs to completion before the next +# entity is processed, $rnd_i increments correctly. +# +# Result: entity 1 → macroengine.rnd_idx=0, entity 2 → 1, entity 3 → 2 … +# ───────────────────────────────────────────────────────────────── + +scoreboard players operation @s macroengine.rnd_idx = $rnd_i macroengine.tmp +scoreboard players add $rnd_i macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_dispatch.mcfunction new file mode 100644 index 00000000..d40a09a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/internal/world/entity/random_dispatch.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/internal/random_dispatch [INTERNAL — MACRO] +# Called with "with storage macroengine:engine _rnd". +# +# Rolls /random value 0..$(max) to pick a uniform random index, +# then runs the target function as the entity whose macroengine.rnd_idx +# matches the rolled value. +# +# MACRO ARGS (from macroengine:engine _rnd compound): +# $(max) → count - 1 (upper bound for random value, inclusive) +# $(func) → function to dispatch +# $(type) → entity type filter (same as outer call) +# $(tag) → entity tag filter (same as outer call) +# ───────────────────────────────────────────────────────────────── + +# Roll a random integer in [0, max] using the 1.20.2+ /random command +$execute store result score $rnd_pick macroengine.tmp run random value 0..$(max) + +# Dispatch: run func as the entity whose index was rolled +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] if score @s macroengine.rnd_idx = $rnd_pick macroengine.tmp at @s run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/add.mcfunction new file mode 100644 index 00000000..4a15d6d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/add.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/add +# Adds a job to the batch queue. +# +# INPUT (storage macroengine:input): +# id → batch id +# func → function to run (opsiyonel) +# cmd → command to run (optional, used if no func) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/add_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/begin.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/begin.mcfunction new file mode 100644 index 00000000..f06c6899 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/begin.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/begin +# Starts a new batch or clears an existing one. +# +# INPUT (storage macroengine:input): +# id → batch id +# spread_over → how many ticks to spread over (default: 1) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/begin_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/cancel.mcfunction new file mode 100644 index 00000000..2fed3008 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/cancel.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/cancel +# Cancels a batch that has not been flushed. +# Items already flushed and queued cannot be cancelled +# (pulling from process_queue is not supported — macroengine design constraint). +# +# INPUT (storage macroengine:input): +# id → batch id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/cancel_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/flush.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/flush.mcfunction new file mode 100644 index 00000000..d86c3a6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/batch/flush.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/flush +# Splits batch jobs across spread_over ticks and adds them to process_queue. +# Jobs per tick: ceil(items / spread_over). +# Batch record is deleted after flush. +# +# INPUT (storage macroengine:input): +# id → batch id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/flush_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce.mcfunction new file mode 100644 index 00000000..32a5a9db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce.mcfunction @@ -0,0 +1,4 @@ +$execute if data storage macroengine:engine schedules.$(key) run return 0 + +function macroengine:core/lib/schedule with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/debounce ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce_cmd.mcfunction new file mode 100644 index 00000000..1edc01b4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/debounce_cmd.mcfunction @@ -0,0 +1,4 @@ +$execute if data storage macroengine:engine schedules.$(key) run return 0 + +function macroengine:core/lib/schedule_cmd with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/debounce_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/is_alive.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/is_alive.mcfunction new file mode 100644 index 00000000..1fa05fc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/is_alive.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/is_alive +# Checks whether a fiber is active. +# +# INPUT (storage macroengine:input): +# id → fiber id +# +# OUTPUT (storage macroengine:output): +# result → 1b (active) | 0b (dead or never started) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/is_alive_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/kill.mcfunction new file mode 100644 index 00000000..92e7e2dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/kill.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/kill +# Stops a fiber. Pending resumes in the queue will not run. +# +# INPUT (storage macroengine:input): +# id → fiber id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/kill_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/resume.mcfunction new file mode 100644 index 00000000..1f01d7dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/resume.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/resume +# Resumes a fiber immediately (no delay). +# Used to trigger a fiber step externally without yield. +# +# INPUT (storage macroengine:input): +# id → fiber id +# func → function to run +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/resume_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/spawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/spawn.mcfunction new file mode 100644 index 00000000..044078a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/spawn.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/spawn +# Starts a new fiber and immediately runs its first step. +# If spawned with the same id, the existing fiber is replaced. +# +# INPUT (storage macroengine:input): +# id → fiber id (unique string) +# func → function name to start +# +# EXAMPLE: +# data modify storage macroengine:input id set value "boss_intro" +# data modify storage macroengine:input func set value "mypack:boss/step_0" +# function macroengine:core/lib/fiber/spawn +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/spawn_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/yield.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/yield.mcfunction new file mode 100644 index 00000000..728df0d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/fiber/yield.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/yield +# Exits a fiber step and queues the next step. +# Checks if the fiber is dead — no resume after kill. +# +# INPUT (storage macroengine:input): +# id → fiber id +# resume → function name of the next step +# delay → how many ticks to wait before resuming (default: 1) +# +# CALL SITE: called at the end of a fiber step function. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/yield_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_entity.mcfunction new file mode 100644 index 00000000..f22d8dec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_entity.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_entity ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_list.mcfunction new file mode 100644 index 00000000..ea17b634 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_list.mcfunction @@ -0,0 +1,9 @@ +$data modify storage macroengine:engine _felist_state set value {func:"$(func)"} +scoreboard players set $felist_i macroengine.tmp 0 +function macroengine:core/internal/core/lib/for_each_list_step + +data remove storage macroengine:engine _felist_input +data remove storage macroengine:engine _felist_state +data remove storage macroengine:engine _felist_current +data remove storage macroengine:engine _felist_i +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_list ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player.mcfunction new file mode 100644 index 00000000..ae752f28 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute as @a run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_player ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player_at.mcfunction new file mode 100644 index 00000000..4f298689 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/for_each_player_at.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute as @a at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_player_at ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_pop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_pop.mcfunction new file mode 100644 index 00000000..0816bc31 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_pop.mcfunction @@ -0,0 +1,189 @@ +data remove storage macroengine:input player +data remove storage macroengine:input key +data remove storage macroengine:input value +data remove storage macroengine:input func +data remove storage macroengine:input count +data remove storage macroengine:input delay +data remove storage macroengine:input event +data remove storage macroengine:input duration +data remove storage macroengine:input team +data remove storage macroengine:input target +data remove storage macroengine:input message +data remove storage macroengine:input color +data remove storage macroengine:input label +data remove storage macroengine:input interval +data remove storage macroengine:input amount +data remove storage macroengine:input objective +data remove storage macroengine:input item +data remove storage macroengine:input tag +data remove storage macroengine:input a +data remove storage macroengine:input b +data remove storage macroengine:input t +data remove storage macroengine:input min +data remove storage macroengine:input max +data remove storage macroengine:input n +data remove storage macroengine:input x +data remove storage macroengine:input y +data remove storage macroengine:input z +data remove storage macroengine:input x1 +data remove storage macroengine:input y1 +data remove storage macroengine:input z1 +data remove storage macroengine:input x2 +data remove storage macroengine:input y2 +data remove storage macroengine:input z2 +data remove storage macroengine:input name +data remove storage macroengine:input dx +data remove storage macroengine:input dy +data remove storage macroengine:input dz +data remove storage macroengine:input speed +data remove storage macroengine:input sound +data remove storage macroengine:input volume +data remove storage macroengine:input pitch +data remove storage macroengine:input source +data remove storage macroengine:input category +data remove storage macroengine:input entity +data remove storage macroengine:input nbt +data remove storage macroengine:input block +data remove storage macroengine:input mode +data remove storage macroengine:input text +data remove storage macroengine:input title +data remove storage macroengine:input subtitle +data remove storage macroengine:input fade_in +data remove storage macroengine:input stay +data remove storage macroengine:input fade_out +data remove storage macroengine:input effect +data remove storage macroengine:input enchantment +data remove storage macroengine:input level +data remove storage macroengine:input attribute +data remove storage macroengine:input amplifier +data remove storage macroengine:input id +data remove storage macroengine:input rule +data remove storage macroengine:input type +data remove storage macroengine:input structure +data remove storage macroengine:input loot_table +data remove storage macroengine:input reason +data remove storage macroengine:input cmd +data remove storage macroengine:input cx +data remove storage macroengine:input cz +data remove storage macroengine:input spread +data remove storage macroengine:input max_range + +data remove storage macroengine:input uuid +data remove storage macroengine:input customData +data remove storage macroengine:input invoke +data remove storage macroengine:input slot +data remove storage macroengine:input modifier +data remove storage macroengine:input operation +data remove storage macroengine:input advancement +data remove storage macroengine:input json +data remove storage macroengine:input vehicle +data remove storage macroengine:input feature +data remove storage macroengine:input hide +data remove storage macroengine:input damage_type +data remove storage macroengine:input fx +data remove storage macroengine:input fy +data remove storage macroengine:input fz +data remove storage macroengine:input sub_color +data remove storage macroengine:input distance +data remove storage macroengine:input filter +data remove storage macroengine:input new_tag +data remove storage macroengine:input remove_tag +data remove storage macroengine:input expected +data remove storage macroengine:input new_block +data remove storage macroengine:input replace_with + +data modify storage macroengine:input player set from storage macroengine:engine _input_stack[-1].player +data modify storage macroengine:input key set from storage macroengine:engine _input_stack[-1].key +data modify storage macroengine:input value set from storage macroengine:engine _input_stack[-1].value +data modify storage macroengine:input func set from storage macroengine:engine _input_stack[-1].func +data modify storage macroengine:input count set from storage macroengine:engine _input_stack[-1].count +data modify storage macroengine:input delay set from storage macroengine:engine _input_stack[-1].delay +data modify storage macroengine:input event set from storage macroengine:engine _input_stack[-1].event +data modify storage macroengine:input duration set from storage macroengine:engine _input_stack[-1].duration +data modify storage macroengine:input team set from storage macroengine:engine _input_stack[-1].team +data modify storage macroengine:input target set from storage macroengine:engine _input_stack[-1].target +data modify storage macroengine:input message set from storage macroengine:engine _input_stack[-1].message +data modify storage macroengine:input color set from storage macroengine:engine _input_stack[-1].color +data modify storage macroengine:input label set from storage macroengine:engine _input_stack[-1].label +data modify storage macroengine:input interval set from storage macroengine:engine _input_stack[-1].interval +data modify storage macroengine:input amount set from storage macroengine:engine _input_stack[-1].amount +data modify storage macroengine:input objective set from storage macroengine:engine _input_stack[-1].objective +data modify storage macroengine:input item set from storage macroengine:engine _input_stack[-1].item +data modify storage macroengine:input tag set from storage macroengine:engine _input_stack[-1].tag +data modify storage macroengine:input a set from storage macroengine:engine _input_stack[-1].a +data modify storage macroengine:input b set from storage macroengine:engine _input_stack[-1].b +data modify storage macroengine:input t set from storage macroengine:engine _input_stack[-1].t +data modify storage macroengine:input min set from storage macroengine:engine _input_stack[-1].min +data modify storage macroengine:input max set from storage macroengine:engine _input_stack[-1].max +data modify storage macroengine:input n set from storage macroengine:engine _input_stack[-1].n +data modify storage macroengine:input x set from storage macroengine:engine _input_stack[-1].x +data modify storage macroengine:input y set from storage macroengine:engine _input_stack[-1].y +data modify storage macroengine:input z set from storage macroengine:engine _input_stack[-1].z +data modify storage macroengine:input x1 set from storage macroengine:engine _input_stack[-1].x1 +data modify storage macroengine:input y1 set from storage macroengine:engine _input_stack[-1].y1 +data modify storage macroengine:input z1 set from storage macroengine:engine _input_stack[-1].z1 +data modify storage macroengine:input x2 set from storage macroengine:engine _input_stack[-1].x2 +data modify storage macroengine:input y2 set from storage macroengine:engine _input_stack[-1].y2 +data modify storage macroengine:input z2 set from storage macroengine:engine _input_stack[-1].z2 +data modify storage macroengine:input name set from storage macroengine:engine _input_stack[-1].name +data modify storage macroengine:input dx set from storage macroengine:engine _input_stack[-1].dx +data modify storage macroengine:input dy set from storage macroengine:engine _input_stack[-1].dy +data modify storage macroengine:input dz set from storage macroengine:engine _input_stack[-1].dz +data modify storage macroengine:input speed set from storage macroengine:engine _input_stack[-1].speed +data modify storage macroengine:input sound set from storage macroengine:engine _input_stack[-1].sound +data modify storage macroengine:input volume set from storage macroengine:engine _input_stack[-1].volume +data modify storage macroengine:input pitch set from storage macroengine:engine _input_stack[-1].pitch +data modify storage macroengine:input source set from storage macroengine:engine _input_stack[-1].source +data modify storage macroengine:input category set from storage macroengine:engine _input_stack[-1].category +data modify storage macroengine:input entity set from storage macroengine:engine _input_stack[-1].entity +data modify storage macroengine:input nbt set from storage macroengine:engine _input_stack[-1].nbt +data modify storage macroengine:input block set from storage macroengine:engine _input_stack[-1].block +data modify storage macroengine:input mode set from storage macroengine:engine _input_stack[-1].mode +data modify storage macroengine:input text set from storage macroengine:engine _input_stack[-1].text +data modify storage macroengine:input title set from storage macroengine:engine _input_stack[-1].title +data modify storage macroengine:input subtitle set from storage macroengine:engine _input_stack[-1].subtitle +data modify storage macroengine:input fade_in set from storage macroengine:engine _input_stack[-1].fade_in +data modify storage macroengine:input stay set from storage macroengine:engine _input_stack[-1].stay +data modify storage macroengine:input fade_out set from storage macroengine:engine _input_stack[-1].fade_out +data modify storage macroengine:input effect set from storage macroengine:engine _input_stack[-1].effect +data modify storage macroengine:input enchantment set from storage macroengine:engine _input_stack[-1].enchantment +data modify storage macroengine:input level set from storage macroengine:engine _input_stack[-1].level +data modify storage macroengine:input attribute set from storage macroengine:engine _input_stack[-1].attribute +data modify storage macroengine:input amplifier set from storage macroengine:engine _input_stack[-1].amplifier +data modify storage macroengine:input id set from storage macroengine:engine _input_stack[-1].id +data modify storage macroengine:input rule set from storage macroengine:engine _input_stack[-1].rule +data modify storage macroengine:input type set from storage macroengine:engine _input_stack[-1].type +data modify storage macroengine:input structure set from storage macroengine:engine _input_stack[-1].structure +data modify storage macroengine:input loot_table set from storage macroengine:engine _input_stack[-1].loot_table +data modify storage macroengine:input reason set from storage macroengine:engine _input_stack[-1].reason +data modify storage macroengine:input cmd set from storage macroengine:engine _input_stack[-1].cmd +data modify storage macroengine:input cx set from storage macroengine:engine _input_stack[-1].cx +data modify storage macroengine:input cz set from storage macroengine:engine _input_stack[-1].cz +data modify storage macroengine:input spread set from storage macroengine:engine _input_stack[-1].spread +data modify storage macroengine:input max_range set from storage macroengine:engine _input_stack[-1].max_range + +data modify storage macroengine:input uuid set from storage macroengine:engine _input_stack[-1].uuid +data modify storage macroengine:input customData set from storage macroengine:engine _input_stack[-1].customData +data modify storage macroengine:input invoke set from storage macroengine:engine _input_stack[-1].invoke +data modify storage macroengine:input slot set from storage macroengine:engine _input_stack[-1].slot +data modify storage macroengine:input modifier set from storage macroengine:engine _input_stack[-1].modifier +data modify storage macroengine:input operation set from storage macroengine:engine _input_stack[-1].operation +data modify storage macroengine:input advancement set from storage macroengine:engine _input_stack[-1].advancement +data modify storage macroengine:input json set from storage macroengine:engine _input_stack[-1].json +data modify storage macroengine:input vehicle set from storage macroengine:engine _input_stack[-1].vehicle +data modify storage macroengine:input feature set from storage macroengine:engine _input_stack[-1].feature +data modify storage macroengine:input hide set from storage macroengine:engine _input_stack[-1].hide +data modify storage macroengine:input damage_type set from storage macroengine:engine _input_stack[-1].damage_type +data modify storage macroengine:input fx set from storage macroengine:engine _input_stack[-1].fx +data modify storage macroengine:input fy set from storage macroengine:engine _input_stack[-1].fy +data modify storage macroengine:input fz set from storage macroengine:engine _input_stack[-1].fz +data modify storage macroengine:input sub_color set from storage macroengine:engine _input_stack[-1].sub_color +data modify storage macroengine:input distance set from storage macroengine:engine _input_stack[-1].distance +data modify storage macroengine:input filter set from storage macroengine:engine _input_stack[-1].filter +data modify storage macroengine:input new_tag set from storage macroengine:engine _input_stack[-1].new_tag +data modify storage macroengine:input remove_tag set from storage macroengine:engine _input_stack[-1].remove_tag +data modify storage macroengine:input expected set from storage macroengine:engine _input_stack[-1].expected +data modify storage macroengine:input new_block set from storage macroengine:engine _input_stack[-1].new_block +data modify storage macroengine:input replace_with set from storage macroengine:engine _input_stack[-1].replace_with + +data remove storage macroengine:engine _input_stack[-1] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_push.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_push.mcfunction new file mode 100644 index 00000000..4460e804 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/input_push.mcfunction @@ -0,0 +1,95 @@ +data modify storage macroengine:engine _input_stack append value {} + +data modify storage macroengine:engine _input_stack[-1].player set from storage macroengine:input player +data modify storage macroengine:engine _input_stack[-1].key set from storage macroengine:input key +data modify storage macroengine:engine _input_stack[-1].value set from storage macroengine:input value +data modify storage macroengine:engine _input_stack[-1].func set from storage macroengine:input func +data modify storage macroengine:engine _input_stack[-1].count set from storage macroengine:input count +data modify storage macroengine:engine _input_stack[-1].delay set from storage macroengine:input delay +data modify storage macroengine:engine _input_stack[-1].event set from storage macroengine:input event +data modify storage macroengine:engine _input_stack[-1].duration set from storage macroengine:input duration +data modify storage macroengine:engine _input_stack[-1].team set from storage macroengine:input team +data modify storage macroengine:engine _input_stack[-1].target set from storage macroengine:input target +data modify storage macroengine:engine _input_stack[-1].message set from storage macroengine:input message +data modify storage macroengine:engine _input_stack[-1].color set from storage macroengine:input color +data modify storage macroengine:engine _input_stack[-1].label set from storage macroengine:input label +data modify storage macroengine:engine _input_stack[-1].interval set from storage macroengine:input interval +data modify storage macroengine:engine _input_stack[-1].amount set from storage macroengine:input amount +data modify storage macroengine:engine _input_stack[-1].objective set from storage macroengine:input objective +data modify storage macroengine:engine _input_stack[-1].item set from storage macroengine:input item +data modify storage macroengine:engine _input_stack[-1].tag set from storage macroengine:input tag +data modify storage macroengine:engine _input_stack[-1].a set from storage macroengine:input a +data modify storage macroengine:engine _input_stack[-1].b set from storage macroengine:input b +data modify storage macroengine:engine _input_stack[-1].t set from storage macroengine:input t +data modify storage macroengine:engine _input_stack[-1].min set from storage macroengine:input min +data modify storage macroengine:engine _input_stack[-1].max set from storage macroengine:input max +data modify storage macroengine:engine _input_stack[-1].n set from storage macroengine:input n +data modify storage macroengine:engine _input_stack[-1].x set from storage macroengine:input x +data modify storage macroengine:engine _input_stack[-1].y set from storage macroengine:input y +data modify storage macroengine:engine _input_stack[-1].z set from storage macroengine:input z +data modify storage macroengine:engine _input_stack[-1].x1 set from storage macroengine:input x1 +data modify storage macroengine:engine _input_stack[-1].y1 set from storage macroengine:input y1 +data modify storage macroengine:engine _input_stack[-1].z1 set from storage macroengine:input z1 +data modify storage macroengine:engine _input_stack[-1].x2 set from storage macroengine:input x2 +data modify storage macroengine:engine _input_stack[-1].y2 set from storage macroengine:input y2 +data modify storage macroengine:engine _input_stack[-1].z2 set from storage macroengine:input z2 +data modify storage macroengine:engine _input_stack[-1].name set from storage macroengine:input name +data modify storage macroengine:engine _input_stack[-1].dx set from storage macroengine:input dx +data modify storage macroengine:engine _input_stack[-1].dy set from storage macroengine:input dy +data modify storage macroengine:engine _input_stack[-1].dz set from storage macroengine:input dz +data modify storage macroengine:engine _input_stack[-1].speed set from storage macroengine:input speed +data modify storage macroengine:engine _input_stack[-1].sound set from storage macroengine:input sound +data modify storage macroengine:engine _input_stack[-1].volume set from storage macroengine:input volume +data modify storage macroengine:engine _input_stack[-1].pitch set from storage macroengine:input pitch +data modify storage macroengine:engine _input_stack[-1].source set from storage macroengine:input source +data modify storage macroengine:engine _input_stack[-1].category set from storage macroengine:input category +data modify storage macroengine:engine _input_stack[-1].entity set from storage macroengine:input entity +data modify storage macroengine:engine _input_stack[-1].nbt set from storage macroengine:input nbt +data modify storage macroengine:engine _input_stack[-1].block set from storage macroengine:input block +data modify storage macroengine:engine _input_stack[-1].mode set from storage macroengine:input mode +data modify storage macroengine:engine _input_stack[-1].text set from storage macroengine:input text +data modify storage macroengine:engine _input_stack[-1].title set from storage macroengine:input title +data modify storage macroengine:engine _input_stack[-1].subtitle set from storage macroengine:input subtitle +data modify storage macroengine:engine _input_stack[-1].fade_in set from storage macroengine:input fade_in +data modify storage macroengine:engine _input_stack[-1].stay set from storage macroengine:input stay +data modify storage macroengine:engine _input_stack[-1].fade_out set from storage macroengine:input fade_out +data modify storage macroengine:engine _input_stack[-1].effect set from storage macroengine:input effect +data modify storage macroengine:engine _input_stack[-1].enchantment set from storage macroengine:input enchantment +data modify storage macroengine:engine _input_stack[-1].level set from storage macroengine:input level +data modify storage macroengine:engine _input_stack[-1].attribute set from storage macroengine:input attribute +data modify storage macroengine:engine _input_stack[-1].amplifier set from storage macroengine:input amplifier +data modify storage macroengine:engine _input_stack[-1].id set from storage macroengine:input id +data modify storage macroengine:engine _input_stack[-1].rule set from storage macroengine:input rule +data modify storage macroengine:engine _input_stack[-1].type set from storage macroengine:input type +data modify storage macroengine:engine _input_stack[-1].structure set from storage macroengine:input structure +data modify storage macroengine:engine _input_stack[-1].loot_table set from storage macroengine:input loot_table +data modify storage macroengine:engine _input_stack[-1].reason set from storage macroengine:input reason +data modify storage macroengine:engine _input_stack[-1].cmd set from storage macroengine:input cmd +data modify storage macroengine:engine _input_stack[-1].cx set from storage macroengine:input cx +data modify storage macroengine:engine _input_stack[-1].cz set from storage macroengine:input cz +data modify storage macroengine:engine _input_stack[-1].spread set from storage macroengine:input spread +data modify storage macroengine:engine _input_stack[-1].max_range set from storage macroengine:input max_range + +data modify storage macroengine:engine _input_stack[-1].uuid set from storage macroengine:input uuid +data modify storage macroengine:engine _input_stack[-1].customData set from storage macroengine:input customData +data modify storage macroengine:engine _input_stack[-1].invoke set from storage macroengine:input invoke +data modify storage macroengine:engine _input_stack[-1].slot set from storage macroengine:input slot +data modify storage macroengine:engine _input_stack[-1].modifier set from storage macroengine:input modifier +data modify storage macroengine:engine _input_stack[-1].operation set from storage macroengine:input operation +data modify storage macroengine:engine _input_stack[-1].advancement set from storage macroengine:input advancement +data modify storage macroengine:engine _input_stack[-1].json set from storage macroengine:input json +data modify storage macroengine:engine _input_stack[-1].vehicle set from storage macroengine:input vehicle +data modify storage macroengine:engine _input_stack[-1].feature set from storage macroengine:input feature +data modify storage macroengine:engine _input_stack[-1].hide set from storage macroengine:input hide +data modify storage macroengine:engine _input_stack[-1].damage_type set from storage macroengine:input damage_type +data modify storage macroengine:engine _input_stack[-1].fx set from storage macroengine:input fx +data modify storage macroengine:engine _input_stack[-1].fy set from storage macroengine:input fy +data modify storage macroengine:engine _input_stack[-1].fz set from storage macroengine:input fz +data modify storage macroengine:engine _input_stack[-1].sub_color set from storage macroengine:input sub_color +data modify storage macroengine:engine _input_stack[-1].distance set from storage macroengine:input distance +data modify storage macroengine:engine _input_stack[-1].filter set from storage macroengine:input filter +data modify storage macroengine:engine _input_stack[-1].new_tag set from storage macroengine:input new_tag +data modify storage macroengine:engine _input_stack[-1].remove_tag set from storage macroengine:input remove_tag +data modify storage macroengine:engine _input_stack[-1].expected set from storage macroengine:input expected +data modify storage macroengine:engine _input_stack[-1].new_block set from storage macroengine:input new_block +data modify storage macroengine:engine _input_stack[-1].replace_with set from storage macroengine:input replace_with diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once.mcfunction new file mode 100644 index 00000000..ae715436 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once.mcfunction @@ -0,0 +1,8 @@ +$execute if data storage macroengine:engine once_keys.$(key) run return 0 + +$data modify storage macroengine:engine once_keys.$(key) set value 1b + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once ","color":"aqua"},{"text":"[fired] ","color":"green"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_cmd.mcfunction new file mode 100644 index 00000000..c99356fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_cmd.mcfunction @@ -0,0 +1,11 @@ +$execute if data storage macroengine:engine once_keys.$(key) run return 0 + +$data modify storage macroengine:engine once_keys.$(key) set value 1b + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_cmd ","color":"aqua"},{"text":"[fired] ","color":"green"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player.mcfunction new file mode 100644 index 00000000..54613db2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/once_per_player +# Runs the function once per player for the given key. +# Will not run again until the session is reset. +# Input : $(func) → function to run +# $(key) → unique key (e.g. "tutorial_intro") +# $(player) → player name +# Output: macroengine:output ran → 1b (ran) / 0b (already done) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output ran set value 0b + +$execute if data storage macroengine:engine once_per_player.$(player).$(key) run return 0 + +data modify storage macroengine:output ran set value 1b +$data modify storage macroengine:engine once_per_player.$(player).$(key) set value 1b + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_per_player ","color":"aqua"},{"text":"$(player):$(key) ","color":"white"},{"text":"✔ ran for the first time","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player_reset.mcfunction new file mode 100644 index 00000000..f546fff1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/once_per_player_reset.mcfunction @@ -0,0 +1,8 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/once_per_player_reset +# Deletes the once_per_player record — function can run again. +# Girdi : $(player), $(key) +# ───────────────────────────────────────────────────────────────── + +$data remove storage macroengine:engine once_per_player.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_per_player_reset ","color":"aqua"},{"text":"$(player):$(key) reset","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/process_queue.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/process_queue.mcfunction new file mode 100644 index 00000000..fd3fb672 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/process_queue.mcfunction @@ -0,0 +1,12 @@ +scoreboard players add $pq_depth macroengine.tmp 1 +execute if score $pq_depth macroengine.tmp matches 257.. run return 0 + +execute unless data storage macroengine:engine queue[0] run return 0 + +execute store result score $qdel macroengine.tmp run data get storage macroengine:engine queue[0].delay + +scoreboard players remove $qdel macroengine.tmp 1 +execute store result storage macroengine:engine queue[0].delay int 1 run scoreboard players get $qdel macroengine.tmp + +execute if score $qdel macroengine.tmp matches ..0 run function macroengine:core/internal/core/lib/queue_fire +execute if score $qdel macroengine.tmp matches ..0 run function macroengine:core/lib/process_queue diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add.mcfunction new file mode 100644 index 00000000..8c7bd858 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_as.mcfunction new file mode 100644 index 00000000..2cd59861 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_cmd.mcfunction new file mode 100644 index 00000000..50a559ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_add_cmd.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(delay)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_clear.mcfunction new file mode 100644 index 00000000..1b247621 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/queue_clear.mcfunction @@ -0,0 +1,2 @@ +data remove storage macroengine:engine queue +data modify storage macroengine:engine queue set value [] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat.mcfunction new file mode 100644 index 00000000..fc10b038 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat.mcfunction @@ -0,0 +1,8 @@ +$data modify storage macroengine:engine _repeat.func set value "$(func)" +$scoreboard players set $rep_n macroengine.tmp $(count) +scoreboard players set $rep_i macroengine.tmp 0 +execute store result storage macroengine:engine _repeat.i int 1 run scoreboard players get $rep_i macroengine.tmp +execute store result storage macroengine:engine _repeat.remaining int 1 run scoreboard players get $rep_n macroengine.tmp +function macroengine:core/internal/core/lib/repeat_run +data remove storage macroengine:engine _repeat +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_as.mcfunction new file mode 100644 index 00000000..fcd29097 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_n.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_n.mcfunction new file mode 100644 index 00000000..f66c089f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/repeat_n.mcfunction @@ -0,0 +1,9 @@ +$scoreboard players set $rn_n macroengine.tmp $(n) +scoreboard players set $rn_i macroengine.tmp 0 + +execute if score $rn_n macroengine.tmp matches ..0 run return 0 + +$data modify storage macroengine:engine _rn_func set value "$(func)" +function macroengine:core/internal/core/lib/repeat_n_loop +data remove storage macroengine:engine _rn_func +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat_n ","color":"aqua"},{"text":"$(func) × $(n)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule.mcfunction new file mode 100644 index 00000000..f7e33cc9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule.mcfunction @@ -0,0 +1,6 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_as.mcfunction new file mode 100644 index 00000000..e543e2ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_as.mcfunction @@ -0,0 +1,7 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cancel.mcfunction new file mode 100644 index 00000000..f80c65c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cancel.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine schedules.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cancel ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd.mcfunction new file mode 100644 index 00000000..cf8bea1d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────── +# macroengine:core/lib/schedule_cmd +# Repeating command scheduler at a fixed interval. +# +# Girdi (macroengine:input): +# key — scheduler name (unique identifier) +# cmd — raw command to run on each trigger +# interval — repeat interval in ticks +# ───────────────────────────────────────────── + +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" ($(interval)t)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd_as.mcfunction new file mode 100644 index 00000000..97459fcd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_cmd_as.mcfunction @@ -0,0 +1,7 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cmd_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if.mcfunction new file mode 100644 index 00000000..91588b5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if_cmd.mcfunction new file mode 100644 index 00000000..adb6bbf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_if_cmd.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add_cmd with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_list.mcfunction new file mode 100644 index 00000000..85d377d3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Active Schedules ","color":"aqua"},{"text":"━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine schedules run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"schedules","interpret":false,"color":"gold"}] +execute unless data storage macroengine:engine schedules run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active schedules)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_renew.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_renew.mcfunction new file mode 100644 index 00000000..d2316b76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_renew.mcfunction @@ -0,0 +1,8 @@ +$execute unless data storage macroengine:engine schedules.$(key) run return 0 +$data modify storage macroengine:engine _sched_tmp set from storage macroengine:engine schedules.$(key) +execute if data storage macroengine:engine _sched_tmp.func if data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_as with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.func unless data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.cmd if data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_cmd_as with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.cmd unless data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_cmd with storage macroengine:engine _sched_tmp +data remove storage macroengine:engine _sched_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_renew ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_reset.mcfunction new file mode 100644 index 00000000..0c1beedd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/schedule_reset.mcfunction @@ -0,0 +1,13 @@ +$execute unless data storage macroengine:engine schedules.$(key) run return 0 + +$data modify storage macroengine:engine _sreset set from storage macroengine:engine schedules.$(key) +$data modify storage macroengine:engine _sreset.key set value "$(key)" + +$data remove storage macroengine:engine schedules.$(key) + +execute if data storage macroengine:engine _sreset.func if data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_as with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.func unless data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.cmd if data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_cmd_as with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.cmd unless data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_cmd with storage macroengine:engine _sreset +data remove storage macroengine:engine _sreset +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_reset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/concat.mcfunction new file mode 100644 index 00000000..af659c8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/concat.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/lib/string/concat +# Input: macroengine:input list — list of strings to concatenate +# Output: macroengine:output string.result — combined string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input concat set from storage macroengine:input list +function macroengine_string:util/concat +data modify storage macroengine:output string.result set from storage macroengine_string:output concat +data remove storage macroengine_string:input concat +data remove storage macroengine_string:output concat +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/concat","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/find.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/find.mcfunction new file mode 100644 index 00000000..490f9eab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/find.mcfunction @@ -0,0 +1,15 @@ +# macroengine:core/lib/string/find +# Input: macroengine:input string — haystack string +# macroengine:input find — substring to search +# macroengine:input n — instance count (0=all, +n=first n, -n=last n) +# Output: macroengine:output string.result — list of start indices, or [-1] if not found +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input find.String set from storage macroengine:input string +data modify storage macroengine_string:input find.Find set from storage macroengine:input find +data remove storage macroengine_string:input find.n +data modify storage macroengine_string:input find.n set from storage macroengine:input n +function macroengine_string:util/find +data modify storage macroengine:output string.result set from storage macroengine_string:output find +data remove storage macroengine_string:input find +data remove storage macroengine_string:output find +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/find","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/insert.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/insert.mcfunction new file mode 100644 index 00000000..89e00036 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/insert.mcfunction @@ -0,0 +1,15 @@ +# macroengine:core/lib/string/insert +# Input: macroengine:input string — original string +# macroengine:input insertion — string to insert +# macroengine:input index — insertion position (integer) +# Output: macroengine:output string.result — resulting string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input insert.String set from storage macroengine:input string +data modify storage macroengine_string:input insert.Insertion set from storage macroengine:input insertion +data modify storage macroengine:engine _str_bridge.Index set from storage macroengine:input index +function macroengine:core/internal/core/lib/string/insert_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output insert +data remove storage macroengine_string:input insert +data remove storage macroengine_string:output insert +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/insert","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/replace.mcfunction new file mode 100644 index 00000000..309f63a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/replace.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/lib/string/replace +# Input: macroengine:input string — original string +# macroengine:input find — substring to replace +# macroengine:input replace — replacement string +# macroengine:input n — instance count (0/unset=all, +n=first n, -n=last n) +# Output: macroengine:output string.result — resulting string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input replace.String set from storage macroengine:input string +data modify storage macroengine_string:input replace.Find set from storage macroengine:input find +data modify storage macroengine_string:input replace.Replace set from storage macroengine:input replace +data remove storage macroengine_string:input replace.n +data modify storage macroengine_string:input replace.n set from storage macroengine:input n +function macroengine_string:util/replace +data modify storage macroengine:output string.result set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +data remove storage macroengine_string:output replace +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/replace","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/split.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/split.mcfunction new file mode 100644 index 00000000..c72c88ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/split.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/lib/string/split +# Input: macroengine:input string — original string +# macroengine:input separator — split delimiter (default " ", ""=each char) +# macroengine:input n — max splits (0/unset=all, +n=first n, -n=last n) +# macroengine:input keep_empty — 1b to keep empty segments, omit/0b to strip +# Output: macroengine:output string.result — list of string segments +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input split.String set from storage macroengine:input string +data remove storage macroengine_string:input split.Separator +data modify storage macroengine_string:input split.Separator set from storage macroengine:input separator +data remove storage macroengine_string:input split.n +data modify storage macroengine_string:input split.n set from storage macroengine:input n +data remove storage macroengine_string:input split.KeepEmpty +data modify storage macroengine_string:input split.KeepEmpty set from storage macroengine:input keep_empty +function macroengine_string:util/split +data modify storage macroengine:output string.result set from storage macroengine_string:output split +data remove storage macroengine_string:input split +data remove storage macroengine_string:output split +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/split","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase.mcfunction new file mode 100644 index 00000000..07a8db2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_lowercase +# Fast variant — covers A-Z only (faster) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — lowercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_lower_fast_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_lowercase","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase_full.mcfunction new file mode 100644 index 00000000..c910be60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_lowercase_full.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_lowercase_full +# Full variant — covers full Unicode uppercase mapping (slower) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — lowercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_lower_full_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_lowercase_full","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_number.mcfunction new file mode 100644 index 00000000..cf20f961 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_number.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/lib/string/to_number +# Input: macroengine:input string — numeric string (e.g. "42" or "3.14") +# Output: macroengine:output string.result — numeric NBT value +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.Input set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_number_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_number +data remove storage macroengine_string:output to_number +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_number","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_string.mcfunction new file mode 100644 index 00000000..206fab81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_string.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_string +# Input: macroengine:input value — numeric or any SNBT value to stringify +# Output: macroengine:output string.result — string representation +# Note: Prefer 'data modify ... set string storage ...' when possible (cheaper) +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.Input set from storage macroengine:input value +function macroengine:core/internal/core/lib/string/to_string_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_string +data remove storage macroengine_string:output to_string +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_string","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase.mcfunction new file mode 100644 index 00000000..d5052ab3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_uppercase +# Fast variant — covers a-z only (faster) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — uppercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_upper_fast_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_uppercase","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase_full.mcfunction new file mode 100644 index 00000000..90e9f498 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/string/to_uppercase_full.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_uppercase_full +# Full variant — covers full Unicode lowercase mapping (slower) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — uppercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_upper_full_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_uppercase_full","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/sync_tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/sync_tick.mcfunction new file mode 100644 index 00000000..9952d113 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/sync_tick.mcfunction @@ -0,0 +1,3 @@ +execute store result storage macroengine:engine global.tick int 1 run scoreboard players get $tick macroengine.tmp +execute store result storage macroengine:engine global.epoch int 1 run scoreboard players get $epoch macroengine.time +scoreboard players set $tick macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/throttle.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/throttle.mcfunction new file mode 100644 index 00000000..c3eb5bc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/throttle.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $thr_go macroengine.tmp 1 + +$execute if data storage macroengine:engine throttle.$(key) run execute store result score $thr_exp macroengine.tmp run data get storage macroengine:engine throttle.$(key) +execute store result score $thr_now macroengine.tmp run scoreboard players get $epoch macroengine.time +$execute if data storage macroengine:engine throttle.$(key) run execute if score $thr_now macroengine.tmp < $thr_exp macroengine.tmp run scoreboard players set $thr_go macroengine.tmp 0 + +$execute if score $thr_go macroengine.tmp matches 0 run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/throttle ","color":"aqua"},{"text":"SKIP ","color":"#FF5555"},{"text":"$(key)","color":"aqua"},{"text":" — throttled, skipped","color":"#555555"}] +execute if score $thr_go macroengine.tmp matches 0 run return 0 + +$scoreboard players set $thr_int macroengine.tmp $(interval) +scoreboard players operation $thr_now macroengine.tmp += $thr_int macroengine.tmp +$execute store result storage macroengine:engine throttle.$(key) int 1 run scoreboard players get $thr_now macroengine.tmp + +function macroengine:core/lib/queue_add with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/throttle ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/ticks_to_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/ticks_to_time.mcfunction new file mode 100644 index 00000000..43897b9d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/ticks_to_time.mcfunction @@ -0,0 +1,26 @@ +$scoreboard players set $ttt_t macroengine.tmp $(ticks) + +execute if score $ttt_t macroengine.tmp matches ..-1 run scoreboard players set $ttt_t macroengine.tmp 0 + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players set $ttt_20 macroengine.tmp 20 +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_20 macroengine.tmp +execute store result storage macroengine:output ticks int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_20 macroengine.tmp + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players set $ttt_60 macroengine.tmp 60 +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_60 macroengine.tmp +execute store result storage macroengine:output seconds int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_60 macroengine.tmp + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_60 macroengine.tmp +execute store result storage macroengine:output minutes int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_60 macroengine.tmp +execute store result storage macroengine:output hours int 1 run scoreboard players get $ttt_t macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/ticks_to_time ","color":"aqua"},{"text":"($(ticks)t)","color":"gray"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"hours","color":"green"},{"text":"h ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"minutes","color":"green"},{"text":"m ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"seconds","color":"green"},{"text":"s ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"ticks","color":"green"},{"text":"t","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait.mcfunction new file mode 100644 index 00000000..91588b5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_as.mcfunction new file mode 100644 index 00000000..3587129a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/wait_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" ($(delay)t) as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd.mcfunction new file mode 100644 index 00000000..adb6bbf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add_cmd with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd_as.mcfunction new file mode 100644 index 00000000..74462c65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/lib/wait_cmd_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/wait_cmd_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"},{"text":" ($(delay)t) as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/load/warn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/load/warn.mcfunction new file mode 100644 index 00000000..8f1a70ea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/load/warn.mcfunction @@ -0,0 +1 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"⚠ ","color":"yellow"},{"text":"Engine not loaded yet. Run ","color":"#555555"},{"text":"/reload","color":"aqua","underlined":true,"clickEvent":{"action": "run_command", "value":"/reload"}},{"text":" first.","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/clear.mcfunction new file mode 100644 index 00000000..ad2318a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/clear.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/queue/clear +# Discards all pending work_queue items immediately. +# No macro input required. +# +# Usage: +# function macroengine:core/queue/clear + +data modify storage macroengine:engine work_queue set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/clear ","color":"aqua"},{"text":"→ work_queue emptied","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/flush.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/flush.mcfunction new file mode 100644 index 00000000..ad9b87cf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/flush.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/queue/flush +# Processes ALL remaining work_queue items in a single tick. +# WARNING: large queues will cause a lag spike. Use only when you know +# the queue is small (< ~50 items) or in a controlled context. +# No macro input required. +# +# Usage: +# function macroengine:core/queue/flush + +execute if data storage macroengine:engine work_queue[0] run function macroengine:core/internal/core/queue/flush_loop +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/flush ","color":"aqua"},{"text":"→ done","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push.mcfunction new file mode 100644 index 00000000..7ce5229a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/queue/push +# Appends a function call to the rate-limited work queue. +# The engine will execute it at up to work_queue_rate calls/tick. +# +# DIFFERENT from lib/queue_add: +# lib/queue_add → delay-based scheduler (run after N ticks) +# queue/push → throughput limiter (process heavy lists without lag spikes) +# +# Input (macroengine:input queue): +# fn — fully-qualified function path e.g. "mypack:do_thing" +# +# Usage: +# data modify storage macroengine:input queue.fn set value "mypack:do_thing" +# function macroengine:core/queue/push with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue append value {fn:"$(fn)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/push ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(fn)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push_as.mcfunction new file mode 100644 index 00000000..057a5a19 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/push_as.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/queue/push_as +# Appends a function to the work queue, tagged to execute AS a specific player. +# The player must be online when the item is processed; if offline, it is skipped. +# +# Input (macroengine:input queue): +# fn — function path e.g. "mypack:process_player" +# player — player name or UUID e.g. "" +# +# Usage: +# data modify storage macroengine:input queue set value {fn:"mypack:process_player",player:""} +# function macroengine:core/queue/push_as with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue append value {fn:"$(fn)",player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/push_as ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(fn)","color":"white"},{"text":" as ","color":"#555555"},{"text":"$(player)","color":"#FFAA00"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/set_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/set_rate.mcfunction new file mode 100644 index 00000000..6f1b7814 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/set_rate.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/queue/set_rate +# Sets how many work_queue items are processed per tick. +# Default: 1. Raise for faster throughput; lower to reduce tick cost. +# A value of 0 pauses processing. +# +# Input (macroengine:input queue): +# rate — integer ≥ 0 +# +# Usage: +# data modify storage macroengine:input queue.rate set value 4 +# function macroengine:core/queue/set_rate with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue_rate set value $(rate) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/set_rate ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(rate)","color":"yellow"},{"text":" items/tick","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/size.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/size.mcfunction new file mode 100644 index 00000000..02725289 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/queue/size.mcfunction @@ -0,0 +1,13 @@ +# macroengine:core/queue/size +# Writes the current work_queue item count to macroengine:output queue.size. +# No macro input required. +# +# Output (macroengine:output queue): +# size — int number of pending items +# +# Usage: +# function macroengine:core/queue/size +# data get storage macroengine:output queue.size + +execute store result storage macroengine:output queue.size int 1 run data get storage macroengine:engine work_queue +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/size ","color":"aqua"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"queue.size","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear.mcfunction new file mode 100644 index 00000000..f90c2567 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine states.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear_all.mcfunction new file mode 100644 index 00000000..08662aa2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/clear_all.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine states diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get.mcfunction new file mode 100644 index 00000000..3ad783de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine:output result +$execute if data storage macroengine:engine states.$(player) run data modify storage macroengine:output result set from storage macroengine:engine states.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/get ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get_score.mcfunction new file mode 100644 index 00000000..454a9687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/get_score.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/state/get_score +# Prints the calling player's current state score. +# Usage: /function macroengine:core/state/get_score +tellraw @s ["",{"text":"[State] ","color":"aqua"},{"text":"current: ","color":"gray"},{"score":{"name":"@s","objective":"macroengine.state"},"color":"white","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/is.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/is.mcfunction new file mode 100644 index 00000000..4c3b5f51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/is.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine states{$(player):"$(state)"} run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/is ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(state)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/list.mcfunction new file mode 100644 index 00000000..3d1e372b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player States ","color":"aqua"},{"text":"━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine states run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"states","interpret":false,"color":"white"}] +execute unless data storage macroengine:engine states run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active states)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/reset_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/reset_score.mcfunction new file mode 100644 index 00000000..8082fc8c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/reset_score.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/state/reset_score +# Resets a player's state to 0 (idle). +# Usage: /function macroengine:core/state/reset_score +scoreboard players set @s macroengine.state 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set.mcfunction new file mode 100644 index 00000000..c2b6032b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine states.$(player) set value "$(state)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(state)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set_score.mcfunction new file mode 100644 index 00000000..98c60c07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/set_score.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/state/set_score +# Sets a player's integer state on the macroengine.state scoreboard. +# Usage: $function macroengine:core/state/set_score {value:1} +# States: 0=idle 1=combat 2=menu (define your own) +$scoreboard players set @s macroengine.state $(value) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/toggle.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/toggle.mcfunction new file mode 100644 index 00000000..d99de655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/state/toggle.mcfunction @@ -0,0 +1,10 @@ +scoreboard players set $st_tog macroengine.tmp 0 +$execute if data storage macroengine:engine {states:{$(player):"$(on)"}} run scoreboard players set $st_tog macroengine.tmp 1 + +$execute if score $st_tog macroengine.tmp matches 1 run data modify storage macroengine:engine states.$(player) set value "$(off)" +$execute if score $st_tog macroengine.tmp matches 0 run data modify storage macroengine:engine states.$(player) set value "$(on)" + +data remove storage macroengine:output result +$data modify storage macroengine:output result set from storage macroengine:engine states.$(player) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/toggle ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" (","color":"#555555"},{"text":"$(on)","color":"gray"},{"text":"↔","color":"#555555"},{"text":"$(off)","color":"gray"},{"text":") → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick.mcfunction new file mode 100644 index 00000000..42de2d99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick.mcfunction @@ -0,0 +1,22 @@ +# DL Tick Engine v2 — Entry Point +# Driven by #minecraft:tick function tag (guaranteed 1/game-tick, no drift). +# +# All rate/offset/condition/pause logic is inside the channel dispatcher. +# Do NOT add any per-system logic here — register a channel instead. + +# Guard: no players online → nothing to process +execute unless entity @a run return 0 + +# Guard: engine not initialised +# (loaded flag lives under global.loaded — see macroengine_load:load/all which sets +# `macroengine:engine global.loaded`; every other guard in the pack, e.g. +# core/security/cmd_gate.mcfunction, already checks the correct path) +execute unless data storage macroengine:engine global{loaded:1b} run return 0 + +# Online player count — kept for compatibility +execute store result score #online macroengine.onlinePlayers if entity @a + +# Guard: globally paused (macroengine:core/tick/pause / macroengine:core/tick/resume) +execute if data storage macroengine:engine tick{paused:1b} run return 0 + +execute as @a run function macroengine:core/tick/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/admin_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/admin_systems.mcfunction new file mode 100644 index 00000000..3a630b41 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/admin_systems.mcfunction @@ -0,0 +1,11 @@ +# Auto-grant macroengine.debug to admins — configurable via +# macroengine:engine security.auto_debug_tag (default 1b, legacy behavior). +# Set to 0b to require explicit debug-tag management instead: +# /function macroengine:debug/tools/admin/debug_tag/enable +# /function macroengine:debug/tools/admin/debug_tag/disable +execute if data storage macroengine:engine security{auto_debug_tag:1b} run tag @a[tag=macroengine.admin] add macroengine.debug + +scoreboard players enable @a[tag=macroengine.admin] macroengine_menu +scoreboard players enable @a[tag=macroengine.admin] macroengine_action +scoreboard players enable @a[tag=macroengine.admin] macroengine_run +function macroengine:core/internal/systems/geo/region_watch/tick_scan diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/disable.mcfunction new file mode 100644 index 00000000..ac79cff0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/disable.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/disable — Disable a tick channel by ID +# Usage: function macroengine:core/tick/channel/disable {id:"channel_id"} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {enabled:0b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/enable.mcfunction new file mode 100644 index 00000000..63e66946 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/enable.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/enable — Enable a tick channel by ID +# Usage: function macroengine:core/tick/channel/enable {id:"channel_id"} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {enabled:1b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/list.mcfunction new file mode 100644 index 00000000..8da63708 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/list.mcfunction @@ -0,0 +1,2 @@ +# macroengine:core/tick/channel/list — Print all registered tick channels +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/register.mcfunction new file mode 100644 index 00000000..9d69b234 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/register.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/tick/channel/register — Register or replace a tick channel +# Usage: +# function macroengine:core/tick/channel/register {id:"my_sys",rate:20,offset:0,fn:"my_ns:tick/my_system",enabled:1,condition:""} +# +# Fields: +# id (string) — unique channel identifier +# enabled (0|1) — 1 = active, 0 = paused; stored as byte internally +# rate (int) — fire every N ticks (1 = every tick, 20 = 1/s, 1200 = 1/min) +# offset (int) — phase shift 0..(rate-1); spread channels to avoid lag spikes +# fn (string) — function resource location to execute +# condition (string) — predicate path, or "" to always fire regardless of world state + +# Remove any existing channel with same ID (idempotent) +$data remove storage macroengine:engine tick.channels[{id:"$(id)"}] + +# Append new channel definition +$data modify storage macroengine:engine tick.channels append value {id:"$(id)",enabled:$(enabled)b,rate:$(rate),offset:$(offset),fn:"$(fn)",condition:"$(condition)"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_condition.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_condition.mcfunction new file mode 100644 index 00000000..a73a52db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_condition.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/tick/channel/set_condition — Set or clear condition predicate +# Usage: function macroengine:core/tick/channel/set_condition {id:"channel_id",condition:"ns:pred"} +# function macroengine:core/tick/channel/set_condition {id:"channel_id",condition:""} ← always-run +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {condition:"$(condition)"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_offset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_offset.mcfunction new file mode 100644 index 00000000..eb5fe09f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_offset.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/set_offset — Change phase offset (0 to rate-1) +# Usage: function macroengine:core/tick/channel/set_offset {id:"channel_id",offset:5} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {offset:$(offset)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_rate.mcfunction new file mode 100644 index 00000000..90cda5ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/set_rate.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/set_rate — Change execution rate (every N ticks, min 1) +# Usage: function macroengine:core/tick/channel/set_rate {id:"channel_id",rate:20} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {rate:$(rate)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/unregister.mcfunction new file mode 100644 index 00000000..f8f84d06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/channel/unregister.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/unregister — Remove a tick channel by ID +# Usage: function macroengine:core/tick/channel/unregister {id:"channel_id"} +$data remove storage macroengine:engine tick.channels[{id:"$(id)"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/config.mcfunction new file mode 100644 index 00000000..921255dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/config.mcfunction @@ -0,0 +1,54 @@ +# DL Tick Channel Defaults +# ───────────────────────────────────────────────────────────────────────────── +# This file is the "JSON config" for the tick engine. +# It is executed ONCE on first world load (and on macroengine:core/tick/reset_channels). +# Modify here to change the default channel layout that all new worlds receive. +# +# Channel fields +# ────────────── +# id (string) unique name — used by all API functions +# enabled (1b|0b) 1b = runs each applicable tick, 0b = dormant +# rate (int) fire every N ticks [1=every tick, 20=1/s, 200=10/s] +# offset (int) phase offset 0..(rate-1) +# use different offsets per channel to spread CPU load +# fn (string) function resource location to call +# condition (string) predicate path; "" means "always fire" +# e.g. "macroengine:is_daytime" — only runs during daylight +# +# API (available after load) +# ────────────────────────── +# function macroengine:core/tick/channel/enable {id:"..."} +# function macroengine:core/tick/channel/disable {id:"..."} +# function macroengine:core/tick/channel/set_rate {id:"...",rate:N} +# function macroengine:core/tick/channel/set_offset {id:"...",offset:N} +# function macroengine:core/tick/channel/set_condition {id:"...",condition:"ns:pred"} +# function macroengine:core/tick/channel/register {id:"...",rate:N,offset:N,fn:"ns:path",enabled:1,condition:""} +# function macroengine:core/tick/channel/unregister {id:"..."} +# function macroengine:core/tick/channel/list +# function macroengine:core/tick/pause +# function macroengine:core/tick/resume +# function macroengine:core/tick/status +# function macroengine:core/tick/reset_channels +# function macroengine:systems/log/testblock/place — (re)place the mode=log +# test_block at macroengine:engine debug_log_pos +# function macroengine:debug/tools/log/enable — mirror log messages to +# latest.log via the test_block (default: off) +# function macroengine:debug/tools/log/disable — turn that mirroring back off +# ───────────────────────────────────────────────────────────────────────────── + +data modify storage macroengine:engine tick.channels set value [] + +# time_systems — epoch counter; must stay at rate:1 offset:0 +data modify storage macroengine:engine tick.channels append value {id:"time_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/time_systems",condition:""} + +# player_systems — per-player state polling; every tick +data modify storage macroengine:engine tick.channels append value {id:"player_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/player_systems",condition:""} + +# queue_systems — scheduled task queue; every tick +data modify storage macroengine:engine tick.channels append value {id:"queue_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/queue_systems",condition:""} + +# hud_systems — HUD refresh; every 2 ticks, offset 1 (fires on odd ticks, avoiding collision with rate-1 channels) +data modify storage macroengine:engine tick.channels append value {id:"hud_systems",enabled:1b,rate:2,offset:1,fn:"macroengine:core/tick/hud_systems",condition:""} + +# admin_systems — admin tooling; every 4 ticks, offset 2 +data modify storage macroengine:engine tick.channels append value {id:"admin_systems",enabled:1b,rate:4,offset:2,fn:"macroengine:core/tick/admin_systems",condition:""} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/disabled.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/disabled.mcfunction new file mode 100644 index 00000000..e69de29b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch.mcfunction new file mode 100644 index 00000000..20d9e5be --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch.mcfunction @@ -0,0 +1,6 @@ +# DL Tick — Channel Dispatcher +# Increments the internal tick counter then iterates all channels. + +scoreboard players add #tick_ctr macroengine.tick 1 +data modify storage macroengine:tick_work i set value 0 +function macroengine:core/tick/dispatch/step with storage macroengine:tick_work \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/channel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/channel.mcfunction new file mode 100644 index 00000000..489f1427 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/channel.mcfunction @@ -0,0 +1,7 @@ +# DL Tick — Channel Loader [MACRO] +# Copies channels[i] into work storage, skips if disabled. +# Input: $(i) — channel index + +$data modify storage macroengine:tick_work channel set from storage macroengine:engine tick.channels[$(i)] +execute unless data storage macroengine:tick_work channel{enabled:1b} run return 0 +function macroengine:core/tick/dispatch/rate_check with storage macroengine:tick_work channel \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec.mcfunction new file mode 100644 index 00000000..bc4d0670 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec.mcfunction @@ -0,0 +1,8 @@ +# DL Tick — Channel Execute [MACRO] +# Calls fn directly if condition is empty, otherwise checks predicate first. +# Input: $(fn) +# +# condition:"" → always run (no predicate check) + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +execute if data storage macroengine:tick_work channel{condition:""} run function #macroengine:internal/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec2.mcfunction new file mode 100644 index 00000000..4d293e56 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/exec2.mcfunction @@ -0,0 +1,11 @@ +# DL Tick — Channel Execute [MACRO] +# Calls fn directly if condition is empty, otherwise checks predicate first. +# Input: $(fn), $(condition) +# +# condition:"" → always run (no predicate check) +# condition:"macroengine:is_daytime" → only run when predicate passes + +execute if data storage macroengine:tick_work channel{condition:""} run return 0 + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +$execute as @a[limit=1] at @s if predicate $(condition) run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/rate_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/rate_check.mcfunction new file mode 100644 index 00000000..cf67c438 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/rate_check.mcfunction @@ -0,0 +1,24 @@ +# DL Tick — Rate/Offset Check [MACRO] +# Fires when (#tick_ctr - offset) % rate == 0. +# Input: $(rate), $(offset), $(fn), $(condition) +# +# rate:1 = every tick | rate:20 = every second | rate:200 = every 10s +# offset: phase shift, spreads channels so they don't all run on the same tick + +$scoreboard players set #rate macroengine.tick $(rate) +$scoreboard players set #offset macroengine.tick $(offset) + +# Compute modular position +scoreboard players operation #check macroengine.tick = #tick_ctr macroengine.tick +scoreboard players operation #check macroengine.tick -= #offset macroengine.tick +scoreboard players operation #check macroengine.tick %= #rate macroengine.tick + +# Fix negative remainder (possible when tick_ctr < offset at world start) +execute if score #check macroengine.tick matches ..-1 run scoreboard players operation #check macroengine.tick += #rate macroengine.tick + +# Not this tick → skip +execute unless score #check macroengine.tick matches 0 run return 0 + +# Passed → execute channel function +execute if data storage macroengine:tick_work channel{condition:""} run function macroengine:core/tick/dispatch/exec with storage macroengine:tick_work channel +execute unless data storage macroengine:tick_work channel{condition:""} run function macroengine:core/tick/dispatch/exec2 with storage macroengine:tick_work channel \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/step.mcfunction new file mode 100644 index 00000000..d1c14655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/dispatch/step.mcfunction @@ -0,0 +1,16 @@ +# DL Tick — Dispatch Step [MACRO] +# Recursive iterator over tick.channels[]. +# Terminates automatically when index exceeds array length. +# Input: $(i) — current channel array index + +# Termination: channel[i] absent → stop +$execute unless data storage macroengine:engine tick.channels[$(i)] run return 0 + +# Process this channel +$function macroengine:core/tick/dispatch/channel {i:$(i)} + +# Advance: $(i)+1 → write back → recurse +$scoreboard players set #ch_next macroengine.tick $(i) +scoreboard players add #ch_next macroengine.tick 1 +execute store result storage macroengine:tick_work i int 1 run scoreboard players get #ch_next macroengine.tick +function macroengine:core/tick/dispatch/step with storage macroengine:tick_work \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/hud_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/hud_systems.mcfunction new file mode 100644 index 00000000..4bb4d597 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/hud_systems.mcfunction @@ -0,0 +1,3 @@ +execute if data storage macroengine:engine pb_obj run scoreboard players operation $pb_mod macroengine.tmp = $epoch macroengine.time +execute if data storage macroengine:engine pb_obj run scoreboard players operation $pb_mod macroengine.tmp %= $pb_four macroengine.tmp +execute if data storage macroengine:engine pb_obj run execute if score $pb_mod macroengine.tmp matches 0 run execute as @a run function macroengine:systems/string/progress_bar_self with storage macroengine:engine {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/init_channels.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/init_channels.mcfunction new file mode 100644 index 00000000..8a7d639c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/init_channels.mcfunction @@ -0,0 +1,4 @@ +# Called during every load — only writes defaults if channels don't exist yet. +# This preserves any runtime customisations made via the channel API. +# To reset to file defaults: function macroengine:core/tick/reset_channels +execute unless data storage macroengine:engine tick.channels run function macroengine:core/tick/config \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/pause.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/pause.mcfunction new file mode 100644 index 00000000..672b8f67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/pause.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/pause — Suspend all tick channels until macroengine:core/tick/resume +data modify storage macroengine:engine tick.paused set value 1b +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick engine paused.","color":"red"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/player_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/player_systems.mcfunction new file mode 100644 index 00000000..4817dfd5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/player_systems.mcfunction @@ -0,0 +1,19 @@ +execute as @a[scores={macroengine_menu=1..}] run function macroengine:menu +scoreboard players set @a[scores={macroengine_menu=1..}] macroengine_menu 0 +scoreboard players enable @a[scores={macroengine_menu=-1..}] macroengine_menu + +execute as @a[scores={macroengine_run=1..}] run function #macroengine:admin/run +scoreboard players set @a[scores={macroengine_run=1..}] macroengine_run 0 +scoreboard players enable @a[scores={macroengine_run=-1..}] macroengine_run + +execute as @a[scores={macroengine_action=1..}] run function macroengine:core/internal/api/trigger/dispatch + +function macroengine:core/internal/api/interaction/tick_scan + +function macroengine:core/internal/api/perm/trigger/tick_start + +function macroengine:core/internal/api/wand/tick_scan +function macroengine:core/internal/systems/hook/tick_scan + +function macroengine:core/internal/systems/geo/region_watch/tick_scan +function macroengine:core/internal/api/cmd/freeze/tick \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/queue_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/queue_systems.mcfunction new file mode 100644 index 00000000..2f50846a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/queue_systems.mcfunction @@ -0,0 +1,4 @@ +function macroengine:core/lib/process_queue + +# CB delay queue — process pending command block executions +execute if data storage macroengine:engine modules{cb:1b} run execute if data storage macroengine:engine cb_queue[0] run function macroengine:core/internal/systems/cb/tick diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/reset_channels.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/reset_channels.mcfunction new file mode 100644 index 00000000..1b86d85e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/reset_channels.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/tick/reset_channels — Overwrite channel storage with config file defaults +# WARNING: this discards ALL runtime API changes (enable/disable/set_rate/etc.) +function macroengine:core/tick/config +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick channels reset to defaults.","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/resume.mcfunction new file mode 100644 index 00000000..873524d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/resume.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/resume — Resume tick engine +data remove storage macroengine:engine tick.paused +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick engine resumed.","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/status.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/status.mcfunction new file mode 100644 index 00000000..600f4eac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/status.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/tick/status — Show tick engine diagnostics +tellraw @s [{"text":"","extra":[{"text":"══ DL Tick Engine v2 ══","color":"gold","bold":true}]}] +tellraw @s [{"text":" Counter ","color":"gray"},{"score":{"name":"#tick_ctr","objective":"macroengine.tick"},"color":"aqua"}] +tellraw @s [{"text":" Paused ","color":"gray"},{"plain":true ,"storage":"macroengine:engine","nbt":"tick.paused","color":"red"}] +tellraw @s [{"text":" Channels","color":"gray"}] +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/time_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/time_systems.mcfunction new file mode 100644 index 00000000..eb1e040d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/core/tick/time_systems.mcfunction @@ -0,0 +1,4 @@ +scoreboard players add $epoch macroengine.time 1 +scoreboard players add $tick macroengine.tmp 1 + +scoreboard players set $pq_depth macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug.mcfunction new file mode 100644 index 00000000..abd1d4d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug.mcfunction @@ -0,0 +1,15 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Debug Inspector ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━","color":"#555555"}] + +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.global ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"global","interpret":false,"color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.players ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"players","interpret":false,"color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.cooldowns ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns","interpret":false,"color":"yellow","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.queue ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"queue","interpret":false,"color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.events ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","interpret":false,"color":"light_purple","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.config ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"config","interpret":false,"color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.flags ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"flags","interpret":false,"color":"green","italic":false}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"I/O ","color":"aqua"},{"text":"─────────────────────────────────","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"input ","color":"white"},{"plain":true ,"storage":"macroengine:input","nbt":"","interpret":false,"color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"output ","color":"white"},{"plain":true ,"storage":"macroengine:output","nbt":"","interpret":false,"color":"aqua","italic":false}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_cooldowns.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_cooldowns.mcfunction new file mode 100644 index 00000000..f789533c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_cooldowns.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_cooldowns +# Dumps all active cooldown records to screen. +# Usage: /function macroengine:debug/dump_cooldowns +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Cooldown Dump ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.cooldowns","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns","color":"yellow","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"epoch now: ","color":"gray"},{"score":{"name":"$epoch","objective":"macroengine.time"},"color":"aqua"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_events.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_events.mcfunction new file mode 100644 index 00000000..c34ce748 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_events.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_events +# Lists all registered event handlers. +# Usage: /function macroengine:debug/dump_events +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Event Registry ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.events","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","color":"light_purple","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_players.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_players.mcfunction new file mode 100644 index 00000000..11c58fe6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_players.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_players +# Shows all player variables (player vars), PIDs and their states. +# Usage: /function macroengine:debug/dump_players +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player State Dump ","color":"aqua"},{"text":"━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"players ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"players","color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"pids ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"player_pids","color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"perms ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"permissions","color":"yellow","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_schedules.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_schedules.mcfunction new file mode 100644 index 00000000..3c6bbb97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/dump_schedules.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_schedules +# Shows active schedules and the queue. +# Usage: /function macroengine:debug/dump_schedules +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Schedule / Queue Dump ","color":"aqua"},{"text":"━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"schedules","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"schedules","color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"queue ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"queue","color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"throttle ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"throttle","color":"gray","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/example_events.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/example_events.mcfunction new file mode 100644 index 00000000..1b561cf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/example_events.mcfunction @@ -0,0 +1,19 @@ +tellraw @a[tag=macroengine.debug] {"text":"[DEBUG] Event system test starting...","color":"yellow"} + +data modify storage macroengine:input event set value "on_join" +data modify storage macroengine:input func set value "macroengine:debug/internal/on_join_handler" +function macroengine:events/register with storage macroengine:input {} + +data modify storage macroengine:input event set value "on_kill" +data modify storage macroengine:input func set value "macroengine:debug/internal/on_kill_handler" +function macroengine:events/register with storage macroengine:input {} + +data remove storage macroengine:engine event_context +data modify storage macroengine:engine event_context.player set value "TestPlayer" +data modify storage macroengine:engine event_context.reason set value "debug_test" + +data modify storage macroengine:input event set value "on_join" +function macroengine:events/fire with storage macroengine:input {} +data remove storage macroengine:input event + +tellraw @a[tag=macroengine.debug] {"text":"[DEBUG] example_events completed.","color":"green"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/add.mcfunction new file mode 100644 index 00000000..babea962 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/add.mcfunction @@ -0,0 +1,3 @@ + +$execute if entity @s[tag=macroengine.admin] run tag @a[name=$(target),limit=1] add macroengine.admin +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" added as admin.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/disable.mcfunction new file mode 100644 index 00000000..32aecf09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/disable.mcfunction @@ -0,0 +1,14 @@ +# macroengine:debug/tools/admin/debug_tag/disable +# Turns auto_debug_tag OFF: admins no longer get macroengine.debug +# automatically. Also strips macroengine.debug from every currently +# tagged admin so the effect is immediate, not just "stops granting +# new ones" — otherwise tags handed out by prior ticks would silently +# linger until manually removed, which defeats the point of disabling +# this. +# +# Use macroengine:debug/tools/admin/debug_tag/grant / revoke to manage +# macroengine.debug per-player once this is disabled. + +data modify storage macroengine:engine security.auto_debug_tag set value 0b +tag @a[tag=macroengine.admin] remove macroengine.debug +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"auto_debug_tag ","color":"white"},{"text":"disabled","color":"yellow"},{"text":" — macroengine.debug removed from all admins. Use debug_tag/grant to assign it manually.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/enable.mcfunction new file mode 100644 index 00000000..49dd8cb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/enable.mcfunction @@ -0,0 +1,6 @@ +# macroengine:debug/tools/admin/debug_tag/enable +# Turns auto_debug_tag back ON: every admin (macroengine.admin tag) is +# granted macroengine.debug automatically each tick (legacy default). + +data modify storage macroengine:engine security.auto_debug_tag set value 1b +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"auto_debug_tag ","color":"white"},{"text":"enabled","color":"green"},{"text":" — admins get macroengine.debug automatically again.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/grant.mcfunction new file mode 100644 index 00000000..b789b649 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/grant.mcfunction @@ -0,0 +1,9 @@ +# macroengine:debug/tools/admin/debug_tag/grant +# Manually grants macroengine.debug to a single player, regardless of the +# auto_debug_tag setting. Intended for use once auto_debug_tag is 0b — +# grants made while it's 1b have no visible effect since the tick +# system re-adds the tag to every admin anyway. +# Usage: /function macroengine:debug/tools/admin/debug_tag/grant {target:"PlayerName"} + +$tag @a[name=$(target),limit=1] add macroengine.debug +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" granted macroengine.debug.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/revoke.mcfunction new file mode 100644 index 00000000..6a6b576c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/debug_tag/revoke.mcfunction @@ -0,0 +1,9 @@ +# macroengine:debug/tools/admin/debug_tag/revoke +# Manually removes macroengine.debug from a single player. If +# auto_debug_tag is still 1b and the target is a macroengine.admin, the +# tag reappears on the next tick — revoke is only durable once +# auto_debug_tag is 0b. +# Usage: /function macroengine:debug/tools/admin/debug_tag/revoke {target:"PlayerName"} + +$tag @a[name=$(target),limit=1] remove macroengine.debug +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" — macroengine.debug revoked.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/list.mcfunction new file mode 100644 index 00000000..981606a6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/list.mcfunction @@ -0,0 +1,5 @@ + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Admin List ","color":"aqua"},{"text":"━━━━━━━━━━━━━━","color":"#555555"}] +execute if entity @a[tag=macroengine.admin] run tellraw @s ["",{"text":" ◈ ","color":"#00AAAA"},{"selector":"@a[tag=macroengine.admin]","color":"white"}] +execute unless entity @a[tag=macroengine.admin] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no admins)","color":"gray","italic":true}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/remove.mcfunction new file mode 100644 index 00000000..8cd3b519 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/admin/remove.mcfunction @@ -0,0 +1,3 @@ + +$execute if entity @s[tag=macroengine.admin] run tag @a[name=$(target),limit=1] remove macroengine.admin +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" removed from admins.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/disable.mcfunction new file mode 100644 index 00000000..94ba78ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/disable.mcfunction @@ -0,0 +1,4 @@ +# macroengine:debug/tools/log/disable +# Turns off test_block console mirroring for systems/log/add calls. +# Verify it took effect with: /data get storage macroengine:engine security.debug_log +data modify storage macroengine:engine security.debug_log set value 0b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/enable.mcfunction new file mode 100644 index 00000000..6f22414a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/log/enable.mcfunction @@ -0,0 +1,6 @@ +# macroengine: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 macroengine:systems/log/testblock/place first if you haven't. +# Verify it took effect with: /data get storage macroengine:engine security.debug_log +data modify storage macroengine:engine security.debug_log set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger.mcfunction new file mode 100644 index 00000000..3a1dc9c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger.mcfunction @@ -0,0 +1 @@ +$function macroengine:debug/tools/trigger/execute {type:"$(type)",data:$(data)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger/execute.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger/execute.mcfunction new file mode 100644 index 00000000..cbebfdf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/debug/tools/trigger/execute.mcfunction @@ -0,0 +1,23 @@ +# macroengine:debug/tools/trigger — single-call dispatch layer (EC-style). +# Does not require EventCore; uses AME's own macroengine:api/cmd/* functions. +# +# Usage: +# function macroengine:debug/tools/trigger {type:"", data:{...}} +# function macroengine:debug/tools/trigger {type:"", data:{...}, config:{silent:1}} +# +# config:{silent:1} → suppress debug tellraw. + +data modify storage macroengine:engine tools_trigger.data.uuid set from entity @s UUID + +$data modify storage macroengine:engine tools_trigger.type set value "$(type)" +$data modify storage macroengine:engine tools_trigger.data set value $(data) + +# Execute action +function macroengine:core/internal/debug/tools/trigger/dispatch + +# Debug message +$execute if data storage macroengine:engine tools_trigger.config{silent:1} run tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"tools/trigger/execute ","color":"aqua"},{"text":"► ","color":"yellow"},{"text":"$(type)","color":"white"}] +execute if data storage macroengine:engine tools_trigger.config{silent:0} run function macroengine:core/tick/disabled + +# Remove 'macroengine:engine tools_trigger' storage +data remove storage macroengine:engine tools_trigger diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/disable.mcfunction new file mode 100644 index 00000000..04b26597 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/disable.mcfunction @@ -0,0 +1,5 @@ +playsound minecraft:block.note_block.pling master @s ~ ~ ~ 4 2 + +function macroengine:core/disable/main + +tellraw @s [{"text":"To restart:"}," ",{"text":"/datapack enable 'file/macroengine.zip'","color":"aqua","bold":true,"italic":false,"clickEvent":{"action": "run_command", "value":"/datapack enable 'file/macroengine.zip'"}},", ",{"text":"/datapack enable 'file/macroengine'","color":"aqua","bold":true,"italic":false,"clickEvent":{"action": "run_command", "value":"/datapack enable 'file/macroengine'"}}," or",{"text":"/datapack enable 'file/macroengine-full.zip'","color":"aqua","bold":true,"italic":false,"clickEvent":{"action": "run_command", "value":"/datapack enable 'file/macroengine-full.zip'"}}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/clear_context.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/clear_context.mcfunction new file mode 100644 index 00000000..d2933a24 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/clear_context.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine event_context \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/count.mcfunction new file mode 100644 index 00000000..e4b5c2ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/count.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0 +$execute if data storage macroengine:engine events.$(event) run execute store result storage macroengine:output result int 1 run data get storage macroengine:engine events.$(event) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire.mcfunction new file mode 100644 index 00000000..8592b00b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire.mcfunction @@ -0,0 +1,7 @@ +$execute unless data storage macroengine:engine events.$(event) run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire ","color":"aqua"},{"text":"SKIP ","color":"#FF5555"},{"text":"$(event)","color":"#AAAAAA"},{"text":" — no handlers registered","color":"#555555"}] +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _event_tmp set from storage macroengine:engine events.$(event) +execute if data storage macroengine:engine _event_tmp[0] run function macroengine:core/internal/events/fire_next +data remove storage macroengine:engine _event_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_as.mcfunction new file mode 100644 index 00000000..f885153e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_as.mcfunction @@ -0,0 +1,7 @@ +$data modify storage macroengine:engine event_context.player set value "$(player)" + +function macroengine:events/fire with storage macroengine:input {} + +data remove storage macroengine:engine event_context.player + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_as ","color":"aqua"},{"text":"$(event)","color":"aqua"},{"text":" as ","color":"#555555"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_queued.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_queued.mcfunction new file mode 100644 index 00000000..a5f1469f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_queued.mcfunction @@ -0,0 +1,4 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine queue append value {func:"macroengine:events/internal/fire_deferred", delay:$(delay), event:"$(event)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_queued ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_to_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_to_player.mcfunction new file mode 100644 index 00000000..f063b3d8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/fire_to_player.mcfunction @@ -0,0 +1,7 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _event_tmp set from storage macroengine:engine events.$(event) + +$execute as @a[name=$(player),limit=1] run function macroengine:core/internal/events/fire_next +data remove storage macroengine:engine _event_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_to_player ","color":"aqua"},{"text":"$(event) → $(player)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/has.mcfunction new file mode 100644 index 00000000..38afd562 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine events.$(event) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/has ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/list.mcfunction new file mode 100644 index 00000000..a12dec85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Registered Events ","color":"aqua"},{"text":"━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine events run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","interpret":false,"color":"yellow"}] +execute unless data storage macroengine:engine events run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no registered events)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/register.mcfunction new file mode 100644 index 00000000..f3cc349a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/register.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine events.$(event) append value {func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/register ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister.mcfunction new file mode 100644 index 00000000..614f765f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine events.$(event) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/unregister ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister_one.mcfunction new file mode 100644 index 00000000..e16668e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/events/unregister_one.mcfunction @@ -0,0 +1,12 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _uro.event set value "$(event)" +$data modify storage macroengine:engine _uro.func set value "$(func)" +$data modify storage macroengine:engine _uro.src set from storage macroengine:engine events.$(event) + +$data remove storage macroengine:engine events.$(event) + +execute if data storage macroengine:engine _uro.src[0] run function macroengine:core/internal/events/uro_loop + +data remove storage macroengine:engine _uro +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/unregister_one ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/command_block_minecart.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/command_block_minecart.mcfunction new file mode 100644 index 00000000..f5c4d084 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/command_block_minecart.mcfunction @@ -0,0 +1,46 @@ +# ====================================================================================== +# macroengine:input/command_block_minecart +# ====================================================================================== +# +# TRIGGERED BY: #macroengine:input/command_block_minecart function tag +# +# PURPOSE: +# Reads the Command NBT off any command_block_minecart tagged 'macroengine_input', +# dropped into the world via +# 'summon minecraft:command_block_minecart ~ ~ ~ {Tags:["macroengine_input"]}'. +# CAPTURE ONLY — never executes the string itself. +# +# REWRITTEN based on Legends11's reference implementation (TunnelScript-1.20.1: +# tunnelscript_core:internal/minecart_scan + minecart_process + minecart_capture). +# Bugs fixed vs. the previous version: +# +# BUG 1 — wrong emptiness check. Previous version used +# 'execute unless data entity @s Command run return 0' +# which only checks whether the Command PATH exists, not whether its VALUE +# is empty. A minecart with Command:"" (path present, value empty) passed +# this check and was treated as real input — false positive capture. Fixed +# by comparing the actual value, matching TunnelScript's +# 'execute unless data storage tunnelscript:minecart {current:""}'. +# +# BUG 2 — killed the entity instead of clearing it. TunnelScript never +# kills the minecart: it resets Command back to "" and keeps the entity +# alive for reuse (this also matches the 'tunnelscript_input' tag used +# elsewhere by Legends11 for the align/tp helper, which assumes the +# minecart persists rather than being destroyed each capture). Fixed to +# clear Command instead of killing @s. +# +# BUG 3 — 'limit=1,sort=nearest' silently ignored every other tagged +# minecart in the world. TunnelScript scans ALL tagged minecarts every +# tick with a plain 'as @e[...]', no limit. Fixed to match. +# +# SECURITY NOTE (unchanged): whoever can summon this entity with a real +# Command value already has raw command-execution ability. This function +# transports that string into the datapack, it does not create the +# privilege — the real permission boundary is who can spawn a marked +# minecart at all. +# ====================================================================================== + +# Fast exit — nothing tagged, nothing to scan this tick. +execute unless entity @e[type=minecraft:command_block_minecart,tag=macroengine_input] run return 0 + +execute as @e[type=minecraft:command_block_minecart,tag=macroengine_input] run function macroengine:input/private/cbm_process diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/give_writable_book.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/give_writable_book.mcfunction new file mode 100644 index 00000000..0ea811a8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/give_writable_book.mcfunction @@ -0,0 +1 @@ +give @s minecraft:writable_book[minecraft:custom_data={macroengine:{input:1b}}] 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/book_capture.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/book_capture.mcfunction new file mode 100644 index 00000000..51f25f79 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/book_capture.mcfunction @@ -0,0 +1,23 @@ +# ====================================================================================== +# macroengine:input/private/book_capture [INTERNAL — do not call directly] +# ====================================================================================== +# +# Runs with @s bound to a single player holding the marked written_book. +# Extracts SelectedItem.components."minecraft:writable_book_content".pages[0].raw +# into macroengine:input storage. Read-only capture, no execution. +# +# book.raw is a RAW, UNVALIDATED string — same contract as cbm.command and +# run it through macroengine:input/validate/check first: +# function macroengine:input/validate/check with storage {source:"book.raw", type:"int"} +# ====================================================================================== + +data modify storage macroengine:input book.player set from entity @s UUID +data modify storage macroengine:input book.raw set from entity @s SelectedItem.components."minecraft:writable_book_content".pages[0].raw + +# Same "raw, unvalidated, unexecuted" contract as command_block_minecart capture. +data modify storage macroengine:input book.executed set value 0b +execute if data storage macroengine:input book{executed:0b} run function #macroengine:input/writable_book + +# Clear the custom_data marker so the same book cannot be resubmitted every +# tick while the player keeps holding it — this is a one-shot capture. +data remove entity @s SelectedItem.components."minecraft:custom_data".macroengine.input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_align_tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_align_tp.mcfunction new file mode 100644 index 00000000..a4714572 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_align_tp.mcfunction @@ -0,0 +1,16 @@ +# ====================================================================================== +# macroengine:input/private/cbm_align_tp [INTERNAL — call explicitly, not auto-ticked] +# ====================================================================================== +# +# Legends11's tested pattern: teleports the executing player to the nearest +# entity tagged 'macroengine_input' along their eye-line, avoiding a manual +# rail + redstone_block setup and skipping the "right-click to open" step. +# +# NOT added to #macroengine:events/on_tick automatically — this runs 'as @a', +# which is a different cost/behavior profile than the capture functions +# above (it moves players every tick if left running unconditionally). +# Hook this into whatever trigger Legends11 intends (a specific tag, +# a command, an advancement) — not assumed here. +# ====================================================================================== + +execute as @s at @s anchored eyes align y positioned ^ ^ ^0.0 run tp @e[type=minecraft:command_block_minecart,tag=macroengine_input,sort=nearest,limit=1] ~ ~-0.23 ~ diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_capture.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_capture.mcfunction new file mode 100644 index 00000000..5e96a55d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_capture.mcfunction @@ -0,0 +1,38 @@ +# ====================================================================================== +# macroengine:input/private/cbm_capture [INTERNAL — do not call directly] +# ====================================================================================== +# +# Only reached when cbm_process confirmed Command is non-empty. Runs with +# @s still bound to that minecart. +# +# TOCTOU note: snapshot into macroengine:input BEFORE clearing Command, so a +# later tick mutating the entity's NBT cannot change what we already +# captured this tick. +# +# Entity handling matches TunnelScript: Command is cleared back to "" so +# the minecart is reusable and is NOT killed. This also matches the +# 'tunnelscript_input' tag Legends11 uses elsewhere (cbm_align_tp), which +# assumes the tagged minecart persists in the world. +# ====================================================================================== + +# Snapshot raw command string as-is — no interpretation, no execution. +data modify storage macroengine:input cbm.command set from storage macroengine:input _cbm.current + +data modify storage macroengine:input cbm.source_uuid set from entity @s UUID +data modify storage macroengine:input cbm.pos set from entity @s Pos + +# "raw, unvalidated, unexecuted" — downstream (separate execution pack) +# macroengine:debug/tools/utils/input_check before ever treating it as +# runnable, and running it there stays optional, never mandatory. +# +# Separately, if a caller wants cbm.command as a number/bool/tag-safe +# literal (not as a runnable command), use macroengine:input/validate/check: +# function macroengine:input/validate/check with storage {source:"cbm.command", type:"int"} +data modify storage macroengine:input cbm.executed set value 0b +execute if data storage macroengine:input cbm{executed:0b} run function #macroengine:input/command_block_minecart + +# Clear Command so this same value isn't recaptured next tick — the +# minecart itself is kept alive, not killed. +data modify entity @s Command set value "" + +data remove storage macroengine:input _cbm diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_process.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_process.mcfunction new file mode 100644 index 00000000..eb2639a5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/private/cbm_process.mcfunction @@ -0,0 +1,16 @@ +# ====================================================================================== +# macroengine:input/private/cbm_process [INTERNAL — do not call directly] +# ====================================================================================== +# +# Runs with @s bound to a single tagged command_block_minecart. Reads its +# Command NBT into scratch storage, then only proceeds to capture if the +# value is a REAL non-empty string — matching TunnelScript's +# 'execute unless data storage tunnelscript:minecart {current:""}' check, +# not just a path-existence check. +# ====================================================================================== + +data modify storage macroengine:input _cbm.current set from entity @s Command + +# Compare the actual VALUE to "" — a compound match, not a path-existence +# check. This is the fix for the false-positive-on-empty-Command bug. +execute unless data storage macroengine:input {_cbm:{current:""}} run function macroengine:input/private/cbm_capture diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/summon_cbm.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/summon_cbm.mcfunction new file mode 100644 index 00000000..fa013252 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/summon_cbm.mcfunction @@ -0,0 +1,2 @@ +kill @e[type=minecraft:minecart,tag=macroengine_input,sort=nearest,limit=1,distance=..2] +summon minecraft:command_block_minecart ~ ~ ~ {OnGround:1b,UpdateLastExecution:1b,Command:"",Tags:["macroengine_input"],TrackOutput:1b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_bool.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_bool.mcfunction new file mode 100644 index 00000000..341212d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_bool.mcfunction @@ -0,0 +1,13 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_bool [INTERNAL] +# ====================================================================================== +# Requires scratch.value to be the exact string "true" or "false". No +# case-folding — "True"/"TRUE" are rejected on purpose, since silently +# accepting them just moves the ambiguity one step further down instead +# of resolving it. +# ====================================================================================== + +execute if data storage macroengine:input_validate {scratch:{value:"true"}} run data modify storage macroengine:input_validate result.valid set value 1b +execute if data storage macroengine:input_validate {scratch:{value:"false"}} run data modify storage macroengine:input_validate result.valid set value 1b + +execute unless data storage macroengine:input_validate {result:{valid:1b}} run data modify storage macroengine:input_validate result.error set value "expected exactly \"true\" or \"false\"" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float.mcfunction new file mode 100644 index 00000000..05a2fa67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float.mcfunction @@ -0,0 +1,57 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_float [INTERNAL] +# ====================================================================================== +# Same digit-counting strategy as check_int, but first strips at most one +# '.' (anywhere after a possible leading '-', not at position 0 of rest, +# not as the last character either — "1." and ".5" are rejected as +# ambiguous rather than guessed at). +# ====================================================================================== + +data modify storage macroengine:input_validate scratch.rest set from storage macroengine:input_validate scratch.value + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +# Count the dots via replace() — its return value is a real match count, +# unlike find()'s (see count_one_digit for why find()'s own return isn't +# usable as a count). +data modify storage macroengine_string:input replace.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input replace.Find set value "." +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 0 + +scoreboard players set #macroengine.DotHits macroengine.tmp 0 +execute store result score #macroengine.DotHits macroengine.tmp run function macroengine_string:util/replace + +execute if score #macroengine.DotHits macroengine.tmp matches 2.. run data modify storage macroengine:input_validate result.error set value "more than one '.'" +execute if score #macroengine.DotHits macroengine.tmp matches 2.. run return 0 + +# Exactly one dot: find its position (find()'s OUTPUT LIST is trustworthy — +# only its own return value isn't) and reject if it's first/last char. +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.rest +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.Find set value "." +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.n set value 1 +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine_string:util/find +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine:input/validate/_private/check_float_dot_position +execute if score #macroengine.DotHits macroengine.tmp matches 1 if data storage macroengine:input_validate {result:{error:"malformed decimal point"}} run return 0 + +# Strip leading '-' the same way check_int does. +data modify storage macroengine:input_validate scratch.first set string storage macroengine:input_validate scratch.rest 0 1 +execute if data storage macroengine:input_validate {scratch:{first:"-"}} run data modify storage macroengine:input_validate scratch.rest set string storage macroengine:input_validate scratch.rest 1 +data remove storage macroengine:input_validate scratch.first + +# Remove the single '.' itself before counting digits (it's not a digit, +# but it's the one non-digit char we're intentionally allowing). +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine:input/validate/_private/strip_one_dot + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "no digits" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +function macroengine:input/validate/_private/count_digits + +execute if score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.valid set value 1b +execute unless score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.error set value "contains a non-digit character" + +data remove storage macroengine:input_validate scratch.rest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float_dot_position.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float_dot_position.mcfunction new file mode 100644 index 00000000..70a84745 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_float_dot_position.mcfunction @@ -0,0 +1,17 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_float_dot_position [INTERNAL] +# ====================================================================================== +# macroengine_string:output find holds a one-element list [idx] for the '.' just +# located by check_float. Rejects idx == 0 (leading dot, e.g. ".5") and +# idx == len-1 (trailing dot, e.g. "1.") as malformed rather than +# guessing an implied leading/trailing zero. +# ====================================================================================== + +execute store result score #macroengine.DotIdx macroengine.tmp run data get storage macroengine_string:output find[0] +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest + +scoreboard players operation #macroengine.LastIdx macroengine.tmp = #macroengine.Len macroengine.tmp +scoreboard players remove #macroengine.LastIdx macroengine.tmp 1 + +execute if score #macroengine.DotIdx macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "malformed decimal point" +execute if score #macroengine.DotIdx macroengine.tmp = #macroengine.LastIdx macroengine.tmp run data modify storage macroengine:input_validate result.error set value "malformed decimal point" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_int.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_int.mcfunction new file mode 100644 index 00000000..20ad3321 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_int.mcfunction @@ -0,0 +1,39 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_int [INTERNAL] +# ====================================================================================== +# +# FAST METHOD (no per-character recursion): +# A string is "all digits, optional leading -" iff: +# 1. stripping one leading '-' (if present) leaves a non-empty rest, AND +# 2. the sum of how many times each of '0'..'9' occurs in that rest, +# via macroengine_string:util/find, equals the rest's total length. +# If every character is one of the 10 digits, the counts must add up to +# the full length — any non-digit character breaks the sum by definition, +# without needing to inspect it directly. +# +# Reuses macroengine_string:util/find (read-only substring search) — this never +# executes the input, only counts characters via a library already +# audited for the $$(command) macro-injection fix. +# ====================================================================================== + +data modify storage macroengine:input_validate scratch.rest set from storage macroengine:input_validate scratch.value + +# Strip one leading '-' if present (allowed once, at position 0 only). +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:input_validate scratch.first set string storage macroengine:input_validate scratch.rest 0 1 +execute if data storage macroengine:input_validate {scratch:{first:"-"}} run data modify storage macroengine:input_validate scratch.rest set string storage macroengine:input_validate scratch.rest 1 +data remove storage macroengine:input_validate scratch.first + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "no digits after '-'" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +function macroengine:input/validate/_private/count_digits + +execute if score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.valid set value 1b +execute unless score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.error set value "contains a non-digit character" + +data remove storage macroengine:input_validate scratch.rest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_tag_safe.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_tag_safe.mcfunction new file mode 100644 index 00000000..373f42dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/check_tag_safe.mcfunction @@ -0,0 +1,40 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_tag_safe [INTERNAL] +# ====================================================================================== +# Rejects empty strings and any string containing one of: space " ' { } [ ] : +# or a literal backslash. Safe result can be used as a scoreboard +# objective/player-name fragment or dropped unquoted into a single NBT +# string field without needing escaping. +# +# One macroengine_string:util/find per forbidden character — fixed cost (9 calls), +# not per-character-of-input. +# ====================================================================================== + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.value +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.value +data modify storage macroengine_string:input find.n set value 1 + +data modify storage macroengine:input_validate scratch.bad set value 0b + +function macroengine:input/validate/_private/reject_if_present {char:" "} +function macroengine:input/validate/_private/reject_if_present {char:"\""} +function macroengine:input/validate/_private/reject_if_present {char:"'"} +function macroengine:input/validate/_private/reject_if_present {char:"{"} +function macroengine:input/validate/_private/reject_if_present {char:"}"} +function macroengine:input/validate/_private/reject_if_present {char:"["} +function macroengine:input/validate/_private/reject_if_present {char:"]"} +function macroengine:input/validate/_private/reject_if_present {char:":"} +function macroengine:input/validate/_private/reject_if_present {char:"\\"} +function macroengine:input/validate/_private/reject_if_present {char:"§"} +function macroengine:input/validate/_private/reject_if_present {char:"|"} +function macroengine:input/validate/_private/reject_if_present {char:"^"} +function macroengine:input/validate/_private/reject_if_present {char:"<"} +function macroengine:input/validate/_private/reject_if_present {char:">"} + +execute unless data storage macroengine:input_validate {scratch:{bad:1b}} run data modify storage macroengine:input_validate result.valid set value 1b +execute if data storage macroengine:input_validate {scratch:{bad:1b}} run data modify storage macroengine:input_validate result.error set value "contains a disallowed character (space, quote, brace, bracket, colon, or backslash)" + +data remove storage macroengine:input_validate scratch.bad diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_digits.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_digits.mcfunction new file mode 100644 index 00000000..b5ed6498 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_digits.mcfunction @@ -0,0 +1,28 @@ +# ====================================================================================== +# macroengine:input/validate/_private/count_digits [INTERNAL] +# ====================================================================================== +# Requires scratch.rest to be set (the string to scan, already stripped of +# any leading sign/dot handling by the caller). Sets score +# #macroengine.DigitCount macroengine.tmp to the total number of '0'-'9' characters found +# in scratch.rest, using macroengine_string:util/find once per digit. +# +# Note on cost: this is 10 macroengine_string:util/find calls regardless of input +# length — flat cost, not per-character — which is what makes it cheap +# next to a recursive char-walk. +# ====================================================================================== + +scoreboard players set #macroengine.DigitCount macroengine.tmp 0 + +data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input find.n set value 0 + +function macroengine:input/validate/_private/count_one_digit {digit:"0"} +function macroengine:input/validate/_private/count_one_digit {digit:"1"} +function macroengine:input/validate/_private/count_one_digit {digit:"2"} +function macroengine:input/validate/_private/count_one_digit {digit:"3"} +function macroengine:input/validate/_private/count_one_digit {digit:"4"} +function macroengine:input/validate/_private/count_one_digit {digit:"5"} +function macroengine:input/validate/_private/count_one_digit {digit:"6"} +function macroengine:input/validate/_private/count_one_digit {digit:"7"} +function macroengine:input/validate/_private/count_one_digit {digit:"8"} +function macroengine:input/validate/_private/count_one_digit {digit:"9"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_one_digit.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_one_digit.mcfunction new file mode 100644 index 00000000..906541ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/count_one_digit.mcfunction @@ -0,0 +1,27 @@ +# ====================================================================================== +# macroengine:input/validate/_private/count_one_digit [INTERNAL — macro function] +# ====================================================================================== +# Called with {digit: "0".."9"}. macroengine_string:input find.String is assumed +# already set by the caller (count_digits) to the string being scanned — +# reused here as replace.String too. +# +# Uses macroengine_string:util/replace(Find:"", Replace:"") instead of +# macroengine_string:util/find, because replace()'s return value is a genuine +# running match count (see zprivate/replace/*.mcfunction: ReturnValue is +# incremented once per match). find()'s own return value is NOT a count — +# it's "execute if data storage macroengine_string:output find[]", which is just +# 1-or-fail regardless of how many indices are in the list. replace() +# gives the real number directly, with no separate list-length step +# needed, and its side effect (macroengine_string:output replace) is harmless here +# since count_digits never reads that key. +# ====================================================================================== + +data modify storage macroengine_string:input replace.String set from storage macroengine_string:input find.String +$data modify storage macroengine_string:input replace.Find set value "$(digit)" +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 0 + +scoreboard players set #macroengine.FindHits macroengine.tmp 0 +execute store result score #macroengine.FindHits macroengine.tmp run function macroengine_string:util/replace + +scoreboard players operation #macroengine.DigitCount macroengine.tmp += #macroengine.FindHits macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/reject_if_present.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/reject_if_present.mcfunction new file mode 100644 index 00000000..20ffc00f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/reject_if_present.mcfunction @@ -0,0 +1,18 @@ +# ====================================================================================== +# macroengine:input/validate/_private/reject_if_present [INTERNAL — macro function] +# ====================================================================================== +# Called with {char: ""}. macroengine_string:input find.String and +# find.n are already set by the caller. Sets scratch.bad = 1b if this +# character occurs anywhere. +# +# NOTE: unlike count_one_digit, this is a presence check, not a count — +# find()'s own return value (1 if found, fail if not — see find.mcfunction's +# final line) is exactly what a presence check needs, so store success +# is used deliberately here rather than reading the output list. +# ====================================================================================== + +$data modify storage macroengine_string:input find.Find set value "$(char)" + +execute store success score #macroengine.FindOk macroengine.tmp run function macroengine_string:util/find + +execute if score #macroengine.FindOk macroengine.tmp matches 1 run data modify storage macroengine:input_validate scratch.bad set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/strip_one_dot.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/strip_one_dot.mcfunction new file mode 100644 index 00000000..a84084c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/_private/strip_one_dot.mcfunction @@ -0,0 +1,15 @@ +# ====================================================================================== +# macroengine:input/validate/_private/strip_one_dot [INTERNAL] +# ====================================================================================== +# Removes exactly one '.' from scratch.rest (already confirmed to contain +# exactly one, at a valid non-edge position) via macroengine_string:util/replace, +# leaving the digit characters ready for count_digits. +# ====================================================================================== + +data modify storage macroengine_string:input replace.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input replace.Find set value "." +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 1 + +function macroengine_string:util/replace +data modify storage macroengine:input_validate scratch.rest set from storage macroengine_string:output replace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/check.mcfunction new file mode 100644 index 00000000..e10d5f38 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/validate/check.mcfunction @@ -0,0 +1,56 @@ +# ====================================================================================== +# macroengine:input/validate/check +# ====================================================================================== +# +# TYPE-SAFETY GUARD FOR CAPTURED PLAYER INPUT. +# +# Every input capture point (book_capture, cbm_capture) only +# ever stores the RAW string a player submitted — it does not know or care +# whether that string is the shape the caller actually needs. This function +# is the missing check: run it AFTER a capture, BEFORE you use the value as +# a number, bool, or safe scoreboard/tag literal. +# +# THIS DOES NOT EXECUTE THE INPUT. It only reads it and reports pass/fail. +# +# CALL WITH: +# function macroengine:input/validate/check with storage {source: "", type: "int"|"float"|"bool"|"tag_safe"} +# +# $(source) — a dot-path INTO macroengine:input, e.g. "book.raw", +# "cbm.command". Read via macro from macroengine:input directly. +# $(type) — one of: +# "int" — string must parse as a whole number (optional leading -) +# "float" — string must parse as int or decimal (optional leading -) +# "bool" — string must be exactly "true" or "false" +# "tag_safe" — string must contain none of: space, ", ', {, }, [, ], :, +# the literal backslash character, or be empty. Safe to use +# as a scoreboard objective/player name fragment or a +# single unquoted NBT string component. +# +# OUTPUT (written to storage macroengine:input_validate result): +# result.valid — 1b if input matches the requested type, else 0b +# result.error — human-readable reason when invalid (unset when valid) +# result.value — for "int"/"float": the raw string, unchanged (caller +# still owns turning it into a real number via +# macroengine_string:util/to_number AFTER checking result.valid — +# this function never calls to_number itself, since +# to_number has no failure mode of its own: feeding it +# a non-numeric string produces a raw SNBT parse error +# instead of a clean invalid result, which is exactly +# the gap this function exists to close upstream of it) +# +# THIS FUNCTION NEVER $$(...) MACRO-EXECUTES THE INPUT STRING. It only +# calls macroengine_string:util/find (read-only string search) against it. +# ====================================================================================== + +data remove storage macroengine:input_validate result +data modify storage macroengine:input_validate result.valid set value 0b + +$data modify storage macroengine:input_validate scratch.value set from storage macroengine:input $(source) +$data modify storage macroengine:input_validate scratch.type set value "$(type)" + +execute if data storage macroengine:input_validate {scratch:{type:"int"}} run function macroengine:input/validate/_private/check_int +execute if data storage macroengine:input_validate {scratch:{type:"float"}} run function macroengine:input/validate/_private/check_float +execute if data storage macroengine:input_validate {scratch:{type:"bool"}} run function macroengine:input/validate/_private/check_bool +execute if data storage macroengine:input_validate {scratch:{type:"tag_safe"}} run function macroengine:input/validate/_private/check_tag_safe + +data remove storage macroengine:input_validate scratch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/writable_book.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/writable_book.mcfunction new file mode 100644 index 00000000..9e408b95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/input/writable_book.mcfunction @@ -0,0 +1,31 @@ +# ====================================================================================== +# macroengine:input/writable_book +# ====================================================================================== +# +# TRIGGERED BY: #macroengine:input/writable_book function tag +# +# PURPOSE: +# Detect a player holding a written_book marked with +# custom_data={macroengine:{input:1b}} (given via +# 'give @s minecraft:written_book[minecraft:custom_data={macroengine:{input:1b}}]'), +# and extract the raw text of page[0] from +# SelectedItem.components."minecraft:writable_book_content".pages[0].raw +# into macroengine:input storage. Input capture ONLY — no execution here. +# +# WHY THIS ONLY CHECKS THE MAINHAND SELECTED ITEM: +# 'SelectedItem' reflects the player's currently held mainhand item at +# entity-data-read time. If the marked book is not currently selected, +# this tick simply finds nothing — this is intentional, not a bug: we +# don't want to scan a player's whole inventory every tick for cost +# reasons, and forcing "hold it to submit" is a reasonable UX contract. +# +# NO MACRO, NO EXECUTION: +# This function contains no $$(...) macro syntax. It only reads and +# stores text. Whether the captured text is ever treated as a command +# is entirely up to a separate, opt-in execution pack — never mandatory. +# ====================================================================================== + +# Fast exit — skip entirely if no player is holding the marked book +execute unless entity @a[nbt={SelectedItem:{components:{"minecraft:custom_data":{macroengine:{input:1b}}}}}] run return 0 + +execute as @a[nbt={SelectedItem:{components:{"minecraft:custom_data":{macroengine:{input:1b}}}}}] run function macroengine:input/private/book_capture diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/menu.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/menu.mcfunction new file mode 100644 index 00000000..d18efaf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/menu.mcfunction @@ -0,0 +1,2 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"menu ","color":"aqua"},{"text":"▶ dispatching","color":"#555555"}] +function #macroengine:admin/menu \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_default.mcfunction new file mode 100644 index 00000000..e8a35c5f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_default.mcfunction @@ -0,0 +1,2 @@ +$execute unless data storage macroengine:engine players.$(player).$(key) run data modify storage macroengine:engine players.$(player).$(key) set value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/add_default ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_to_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_to_var.mcfunction new file mode 100644 index 00000000..f3f11db3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/add_to_var.mcfunction @@ -0,0 +1,6 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +$scoreboard players set $pamount macroengine.tmp $(amount) +scoreboard players operation $pvar macroengine.tmp += $pamount macroengine.tmp +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/add_to_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/clamp_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/clamp_var.mcfunction new file mode 100644 index 00000000..d04209c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/clamp_var.mcfunction @@ -0,0 +1,8 @@ +$execute store result score $cv macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +$scoreboard players set $cv_mn macroengine.tmp $(min) +$scoreboard players set $cv_mx macroengine.tmp $(max) +execute if score $cv macroengine.tmp < $cv_mn macroengine.tmp run scoreboard players operation $cv macroengine.tmp = $cv_mn macroengine.tmp +execute if score $cv macroengine.tmp > $cv_mx macroengine.tmp run scoreboard players operation $cv macroengine.tmp = $cv_mx macroengine.tmp +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $cv macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $cv macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/clamp_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/copy_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/copy_var.mcfunction new file mode 100644 index 00000000..7a88f3a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/copy_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine players.$(to).$(key) set from storage macroengine:engine players.$(from).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/copy_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/decrement.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/decrement.mcfunction new file mode 100644 index 00000000..45316ee4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/decrement.mcfunction @@ -0,0 +1,5 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +scoreboard players remove $pvar macroengine.tmp 1 +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/decrement ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/del_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/del_var.mcfunction new file mode 100644 index 00000000..e5e7ea77 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/del_var.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine players.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/del_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_air.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_air.mcfunction new file mode 100644 index 00000000..b1586bb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_air.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/get_air +# Returns the current air supply of the named player. +# Air ranges from 0 (drowning) to 300 (full) in ticks. +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → air ticks (int, 0–300) +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_air {player:"Steve"} +# → macroengine:output result = 300 +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Air +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_air ","color":"aqua"},{"text":"$(player) → air=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_armor.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_armor.mcfunction new file mode 100644 index 00000000..bd96a19a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_armor.mcfunction @@ -0,0 +1,24 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/get_armor +# Returns the armor point value of the named player. +# Armor is read from the generic.armor attribute base value. +# Also returns armor toughness. +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → armor points (int) +# macroengine:output toughness → armor toughness (int, scaled x1000) +# macroengine:output found → 1b if player exists, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_armor {player:"Steve"} +# data get storage macroengine:output result +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Attributes[{Name:"minecraft:armor"}].Base +$execute as @a[name=$(player),limit=1] store result storage macroengine:output toughness int 1000 run data get entity @s Attributes[{Name:"minecraft:armor_toughness"}].Base +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_armor ","color":"aqua"},{"text":"$(player) → armor=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":" toughness=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"toughness","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_dimension.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_dimension.mcfunction new file mode 100644 index 00000000..67f4f86a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_dimension.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine:output result +$data modify storage macroengine:output result set from entity @a[name=$(player),limit=1] Dimension +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_dimension ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_food.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_food.mcfunction new file mode 100644 index 00000000..9548986d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_food.mcfunction @@ -0,0 +1,8 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output food int 1 run data get entity @s FoodLevel +$execute as @a[name=$(player),limit=1] store result storage macroengine:output saturation int 1000 run data get entity @s FoodSaturationLevel +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_food ","color":"aqua"},{"text":"$(player) → food=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"food","color":"green"},{"text":" sat=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"saturation","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_gamemode.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_gamemode.mcfunction new file mode 100644 index 00000000..9aa1b663 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_gamemode.mcfunction @@ -0,0 +1,29 @@ +# macroengine:player/get_gamemode [MACRO] +# Returns the gamemode of a named player as an integer. +# +# INPUT: $(player) — player name +# OUTPUT: macroengine:output result — 0=survival, 1=creative, 2=adventure, 3=spectator +# macroengine:output name — "survival" | "creative" | "adventure" | "spectator" +# macroengine:output found — 1b if player exists, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_gamemode {player:"Steve"} +# data get storage macroengine:output name + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b + +$execute if entity @a[name=$(player),gamemode=survival,limit=1] run data modify storage macroengine:output result set value 0 +$execute if entity @a[name=$(player),gamemode=creative,limit=1] run data modify storage macroengine:output result set value 1 +$execute if entity @a[name=$(player),gamemode=adventure,limit=1] run data modify storage macroengine:output result set value 2 +$execute if entity @a[name=$(player),gamemode=spectator,limit=1] run data modify storage macroengine:output result set value 3 + +$execute if entity @a[name=$(player),gamemode=survival,limit=1] run data modify storage macroengine:output name set value "survival" +$execute if entity @a[name=$(player),gamemode=creative,limit=1] run data modify storage macroengine:output name set value "creative" +$execute if entity @a[name=$(player),gamemode=adventure,limit=1] run data modify storage macroengine:output name set value "adventure" +$execute if entity @a[name=$(player),gamemode=spectator,limit=1] run data modify storage macroengine:output name set value "spectator" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_gamemode ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"name","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_health.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_health.mcfunction new file mode 100644 index 00000000..d2422e4f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_health.mcfunction @@ -0,0 +1,8 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Health +$execute as @a[name=$(player),limit=1] store result storage macroengine:output max int 1 run data get entity @s Attributes[{Name:"minecraft:max_health"}].Base +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_health ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"max","color":"yellow"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_name.mcfunction new file mode 100644 index 00000000..286026b6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_name.mcfunction @@ -0,0 +1,14 @@ +data remove storage macroengine:names temp + +setblock 0 300 0 black_shulker_box replace + +loot insert 0 300 0 loot macroengine:player/head + +data modify storage macroengine:names temp.NAME set from block 0 300 0 Items[0].components."minecraft:profile".name + +data modify storage macroengine:names temp.UUID insert 0 from entity @s UUID[0] +data modify storage macroengine:names temp.UUID insert 1 from entity @s UUID[1] +data modify storage macroengine:names temp.UUID insert 2 from entity @s UUID[2] +data modify storage macroengine:names temp.UUID insert 3 from entity @s UUID[3] + +setblock 0 300 0 air replace \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_online_count.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_online_count.mcfunction new file mode 100644 index 00000000..1b075124 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_online_count.mcfunction @@ -0,0 +1,3 @@ +scoreboard players set $poc macroengine.tmp 0 +execute as @a run scoreboard players add $poc macroengine.tmp 1 +execute store result storage macroengine:output result int 1 run scoreboard players get $poc macroengine.tmp \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_pos.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_pos.mcfunction new file mode 100644 index 00000000..56224731 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_pos.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output x int 1 run data get entity @s Pos[0] +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output y int 1 run data get entity @s Pos[1] +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output z int 1 run data get entity @s Pos[2] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_pos ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"x=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"green"},{"text":" y=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"green"},{"text":" z=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_var.mcfunction new file mode 100644 index 00000000..57b85eed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:output result set from storage macroengine:engine players.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_xp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_xp.mcfunction new file mode 100644 index 00000000..a895c190 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/get_xp.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output level int 1 run data get entity @s XpLevel +$execute as @a[name=$(player),limit=1] store result storage macroengine:output points int 1 run xp query @s points +$execute as @a[name=$(player),limit=1] store result storage macroengine:output progress int 1000 run data get entity @s XpP +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_xp ","color":"aqua"},{"text":"$(player) → level=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"level","color":"green"},{"text":" pts=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"points","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/has_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/has_var.mcfunction new file mode 100644 index 00000000..887c06bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/has_var.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine players.$(player).$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/has_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/increment.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/increment.mcfunction new file mode 100644 index 00000000..12436ab6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/increment.mcfunction @@ -0,0 +1,5 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +scoreboard players add $pvar macroengine.tmp 1 +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/increment ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/init.mcfunction new file mode 100644 index 00000000..8ffe7687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/init.mcfunction @@ -0,0 +1,9 @@ +$execute unless data storage macroengine:engine players.$(player) run data modify storage macroengine:engine players.$(player) set value {} +$execute unless data storage macroengine:engine players.$(player).coins run data modify storage macroengine:engine players.$(player).coins set value 0 +$execute unless data storage macroengine:engine players.$(player).level run data modify storage macroengine:engine players.$(player).level set value 1 +$execute unless data storage macroengine:engine players.$(player).xp run data modify storage macroengine:engine players.$(player).xp set value 0 +$data modify storage macroengine:engine players.$(player).online set value 1b +$execute unless data storage macroengine:engine players.$(player).first_join_tick run execute store result storage macroengine:engine players.$(player).first_join_tick int 1 run scoreboard players get $epoch macroengine.time +$execute store result storage macroengine:engine players.$(player).last_join_tick int 1 run scoreboard players get $epoch macroengine.time +$execute unless data storage macroengine:engine player_pids.$(player) run function macroengine:core/internal/player/assign_pid with storage macroengine:engine _pid_init_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/init ","color":"aqua"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_if_item.mcfunction new file mode 100644 index 00000000..467e333c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/chest_minecart_if_item ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_unless_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_unless_item.mcfunction new file mode 100644 index 00000000..4cc10d05 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/chest_minecart_unless_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless items entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/chest_minecart_unless_item ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/clear_custom.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/clear_custom.mcfunction new file mode 100644 index 00000000..3b9beb67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/clear_custom.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] run clear @s $(item)[minecraft:custom_data=$(customData)] $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/clear_custom ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/count_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/count_item.mcfunction new file mode 100644 index 00000000..53a7a4ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/count_item.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $inv_cnt macroengine.tmp 0 +$execute as @a[name=$(player),limit=1] run execute store result score $inv_cnt macroengine.tmp run clear @s *[minecraft:custom_data=$(customData)] 0 +execute store result storage macroengine:output count int 1 run scoreboard players get $inv_cnt macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/count_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/cursor_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/cursor_item.mcfunction new file mode 100644 index 00000000..88fc1fa5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/cursor_item.mcfunction @@ -0,0 +1,2 @@ +# Detect click (slot empty after interaction) +$execute as @a[name=$(player),limit=1] at @s if items entity @s player.cursor $(item)[minecraft:custom_data=$(data)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/offhand_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/offhand_item.mcfunction new file mode 100644 index 00000000..7de60ee2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/offhand_item.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/inv/offhand_item +# Runs a command/function for each player in @a whose offhand +# matches the given item id and custom data. +# Mirrors the pattern of macroengine:player/inv/selected_item (mainhand). +# +# INPUT : $(item) → item id (e.g. "minecraft:shield") +# $(customData) → custom_data compound to match (e.g. "{my_tag:1b}") +# $(invoke) → command to run as the matching player +# +# EXAMPLE: +# function macroengine:player/inv/offhand_item {item:"minecraft:shield",customData:"{my_tag:1b}",invoke:"function mypack:on_shield"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),limit=1] at @s if items entity @s weapon.offhand $(item)[minecraft:custom_data=$(customData)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_if_item.mcfunction new file mode 100644 index 00000000..dbd29be5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @s contents $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_if_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_slot_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_slot_if_item.mcfunction new file mode 100644 index 00000000..a0e608a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_slot_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @s $(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_slot_if_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_unless_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_unless_item.mcfunction new file mode 100644 index 00000000..c438859c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/player_unless_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless items entity @s contents $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_unless_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/selected_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/selected_item.mcfunction new file mode 100644 index 00000000..574f39a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/selected_item.mcfunction @@ -0,0 +1 @@ +$execute as @a[name=$(player),limit=1] as @a at @s if items entity @s weapon.mainhand $(item)[minecraft:custom_data=$(customData)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/transfer_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/transfer_item.mcfunction new file mode 100644 index 00000000..9a7dcf5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/inv/transfer_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run item replace entity @s weapon.mainhand from entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/transfer_item ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_burning.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_burning.mcfunction new file mode 100644 index 00000000..7e49b593 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_burning.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_burning +# Checks whether a named player is currently on fire. +# Uses the macroengine:is_burning predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if burning, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_burning {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_burning run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_burning ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_flying.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_flying.mcfunction new file mode 100644 index 00000000..bb198b3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_flying.mcfunction @@ -0,0 +1,14 @@ +# macroengine:player/is_flying +# Checks whether the named player is currently flying (creative/spectator flight or elytra). +# Params: player +# Output: macroengine:output result = 1b (flying) or 0b (not flying / not found) +# macroengine:output found = 1b if player exists online, else 0b + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if data entity @s {abilities:{flying:1b}} run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_flying ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_gliding.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_gliding.mcfunction new file mode 100644 index 00000000..f1512af2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_gliding.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_gliding +# Checks whether the named player is currently gliding with an elytra. +# Uses the macroengine:is_gliding predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if gliding, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_gliding {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_gliding run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_gliding ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_in_water.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_in_water.mcfunction new file mode 100644 index 00000000..c1fde5ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_in_water.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_in_water +# Checks whether the named player is currently submerged in water. +# Uses the macroengine:is_in_water predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if in water, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_in_water {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_in_water run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_in_water ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_on_ground.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_on_ground.mcfunction new file mode 100644 index 00000000..35170b6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_on_ground.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_on_ground +# Checks whether a named player is currently on the ground. +# Uses the macroengine:is_on_ground predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if on ground, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_on_ground {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_on_ground run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_on_ground ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_online.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_online.mcfunction new file mode 100644 index 00000000..4bc9afe8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_online.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_online +# Checks whether the player is on the server. +# Girdi : $(player) → player name +# Output: macroengine:output result → 1b (online) / 0b (offline) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_online ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sneaking.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sneaking.mcfunction new file mode 100644 index 00000000..cc648d7a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sneaking.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_sneaking +# Checks whether a named player is currently sneaking. +# Uses the macroengine:is_sneaking predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if sneaking, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_sneaking {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_sneaking run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_sneaking ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sprinting.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sprinting.mcfunction new file mode 100644 index 00000000..b1c6e871 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/is_sprinting.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_sprinting +# Checks whether a named player is currently sprinting. +# Uses the macroengine:is_sprinting predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if sprinting, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_sprinting {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_sprinting run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_sprinting ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/list_vars.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/list_vars.mcfunction new file mode 100644 index 00000000..3625b145 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/list_vars.mcfunction @@ -0,0 +1,6 @@ +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player: ","color":"aqua"},{"text":"$(player)","color":"white","bold":true},{"text":" ━━━━━━━━━━━━━━","color":"#555555"}] +$execute if data storage macroengine:engine players.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" vars ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"players.$(player)","interpret":false,"color":"yellow"}] +$execute unless data storage macroengine:engine players.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" vars ","color":"#555555"},{"text":"(no data)","color":"gray","italic":true}] +$execute if data storage macroengine:engine cooldowns.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" cooldowns ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns.$(player)","interpret":false,"color":"aqua"}] +$execute unless data storage macroengine:engine cooldowns.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" cooldowns ","color":"#555555"},{"text":"(none active)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/online_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/online_check.mcfunction new file mode 100644 index 00000000..c53167dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/online_check.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/online_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/reset.mcfunction new file mode 100644 index 00000000..0c527485 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/reset.mcfunction @@ -0,0 +1,6 @@ +$data remove storage macroengine:engine players.$(player) +$data remove storage macroengine:engine cooldowns.$(player) +$advancement revoke @a[name=$(player),limit=1] from macroengine:hidden/root +$data modify storage macroengine:engine _pid_init_tmp set value {player:"$(player)"} +function macroengine:player/init with storage macroengine:engine _pid_init_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/reset ","color":"aqua"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_cmd_as_uuid_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_cmd_as_uuid_macro.mcfunction new file mode 100644 index 00000000..b4000627 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_cmd_as_uuid_macro.mcfunction @@ -0,0 +1 @@ +$execute as @a[nbt={UUID:$(uuid)}] run $(cmd) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_func_as_uuid_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_func_as_uuid_macro.mcfunction new file mode 100644 index 00000000..1557f191 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/run_func_as_uuid_macro.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[nbt={UUID:$(uuid)}] run function #macroengine:internal/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/set_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/set_var.mcfunction new file mode 100644 index 00000000..1fdd3b47 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/set_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine players.$(player).$(key) set value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/set_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/swap_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/swap_var.mcfunction new file mode 100644 index 00000000..b9213d88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/swap_var.mcfunction @@ -0,0 +1,5 @@ +$data modify storage macroengine:engine _swap.tmp set from storage macroengine:engine players.$(player_a).$(key) +$data modify storage macroengine:engine players.$(player_a).$(key) set from storage macroengine:engine players.$(player_b).$(key) +$data modify storage macroengine:engine players.$(player_b).$(key) set from storage macroengine:engine _swap.tmp +data remove storage macroengine:engine _swap +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/swap_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/add.mcfunction new file mode 100644 index 00000000..fcb1d2bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/add.mcfunction @@ -0,0 +1,2 @@ +$team join $(team) $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/count.mcfunction new file mode 100644 index 00000000..a94df476 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/count.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $team_cnt macroengine.tmp 0 +$execute as @a[team=$(team)] run scoreboard players add $team_cnt macroengine.tmp 1 +execute store result storage macroengine:output result int 1 run scoreboard players get $team_cnt macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/create.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/create.mcfunction new file mode 100644 index 00000000..d89ce77d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/create.mcfunction @@ -0,0 +1,3 @@ +$team add $(team) +$data modify storage macroengine:engine teams.$(team) set value {color:"white",friendly_fire:"true",see_friendly_invisibles:"false"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/create ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/delete.mcfunction new file mode 100644 index 00000000..501a8985 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/delete.mcfunction @@ -0,0 +1,3 @@ +$team remove $(team) +$data remove storage macroengine:engine teams.$(team) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/delete ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/has.mcfunction new file mode 100644 index 00000000..e338eaa5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),team=$(team)] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/list.mcfunction new file mode 100644 index 00000000..6d49e617 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/list.mcfunction @@ -0,0 +1,3 @@ +tellraw @a[tag=macroengine.debug] {"text":"[Team] -- Registered Teams --","color":"aqua"} +tellraw @a[tag=macroengine.debug] {"nbt":"teams","plain":true ,"storage":"macroengine:engine","interpret":false,"color":"white"} +tellraw @a[tag=macroengine.debug] {"text":"[Team] ---------------------","color":"aqua"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/remove.mcfunction new file mode 100644 index 00000000..d612f083 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/remove.mcfunction @@ -0,0 +1,2 @@ +$team leave $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/remove ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_color.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_color.mcfunction new file mode 100644 index 00000000..e2b52592 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_color.mcfunction @@ -0,0 +1,3 @@ +$team modify $(team) color $(color) +$data modify storage macroengine:engine teams.$(team).color set value "$(color)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/set_color ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_friendly_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_friendly_fire.mcfunction new file mode 100644 index 00000000..6e9cdcef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/team/set_friendly_fire.mcfunction @@ -0,0 +1,3 @@ +$team modify $(team) friendlyFire $(value) +$data modify storage macroengine:engine teams.$(team).friendly_fire set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/set_friendly_fire ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/transfer_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/transfer_var.mcfunction new file mode 100644 index 00000000..443b2f6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/player/transfer_var.mcfunction @@ -0,0 +1,11 @@ +$execute store result score $tr_f macroengine.tmp run data get storage macroengine:engine players.$(from).$(key) +$scoreboard players set $tr_a macroengine.tmp $(amount) +scoreboard players operation $tr_f macroengine.tmp -= $tr_a macroengine.tmp +$execute store result storage macroengine:engine players.$(from).$(key) int 1 run scoreboard players get $tr_f macroengine.tmp + +$execute store result score $tr_t macroengine.tmp run data get storage macroengine:engine players.$(to).$(key) +scoreboard players operation $tr_t macroengine.tmp += $tr_a macroengine.tmp +$execute store result storage macroengine:engine players.$(to).$(key) int 1 run scoreboard players get $tr_t macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $tr_t macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/transfer_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/color/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/color/init.mcfunction new file mode 100644 index 00000000..3be592b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/color/init.mcfunction @@ -0,0 +1,30 @@ +# macroengine:systems/color/init +# Called during engine load. Populates the named color lookup table +# at macroengine:engine color._names for O(1) validate checks. +# Also initializes the color namespace in storage. + +execute unless data storage macroengine:engine color run data modify storage macroengine:engine color set value {} +execute unless data storage macroengine:engine color.palette run data modify storage macroengine:engine color.palette set value {} +execute unless data storage macroengine:engine color.gradients run data modify storage macroengine:engine color.gradients set value {} + +# Named color allowlist — 16 Minecraft text colors +data modify storage macroengine:engine color._names set value {\ + black:1b,\ + dark_blue:1b,\ + dark_green:1b,\ + dark_aqua:1b,\ + dark_red:1b,\ + dark_purple:1b,\ + gold:1b,\ + gray:1b,\ + dark_gray:1b,\ + blue:1b,\ + green:1b,\ + aqua:1b,\ + red:1b,\ + light_purple:1b,\ + yellow:1b,\ + white:1b\ +} + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/init ","color":"aqua"},{"text":"named color table loaded (16 entries)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/any.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/any.mcfunction new file mode 100644 index 00000000..8f72bfea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/any.mcfunction @@ -0,0 +1,34 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/any +# Checks whether ANY of two flags is set. +# Returns 1b if at least one of key_a or key_b is set, 0b otherwise. +# For three or more flags, chain calls or use flag/get on each. +# +# INPUT : $(key_a) → first flag key +# $(key_b) → second flag key +# OUTPUT: macroengine:output result → 1b if either flag set, 0b if neither +# macroengine:output result_a → 1b if key_a set, 0b otherwise +# macroengine:output result_b → 1b if key_b set, 0b otherwise +# +# EXAMPLE: +# function macroengine:systems/flag/any {key_a:"pvp_enabled",key_b:"war_active"} +# → macroengine:output result = 1b (if either is set) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result_a set value 0b +data modify storage macroengine:output result_b set value 0b +data modify storage macroengine:output result set value 0b + +scoreboard players set #fany_a macroengine.tmp 0 +scoreboard players set #fany_b macroengine.tmp 0 + +$execute if data storage macroengine:engine flags.$(key_a) run scoreboard players set #fany_a macroengine.tmp 1 +$execute if data storage macroengine:engine flags.$(key_b) run scoreboard players set #fany_b macroengine.tmp 1 + +execute if score #fany_a macroengine.tmp matches 1 run data modify storage macroengine:output result_a set value 1b +execute if score #fany_b macroengine.tmp matches 1 run data modify storage macroengine:output result_b set value 1b + +scoreboard players operation #fany_a macroengine.tmp += #fany_b macroengine.tmp +execute if score #fany_a macroengine.tmp matches 1.. run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/any ","color":"aqua"},{"text":"$(key_a)|$(key_b) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/clear.mcfunction new file mode 100644 index 00000000..9d3fe0ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine flags.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/clear ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/copy.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/copy.mcfunction new file mode 100644 index 00000000..4343ee2e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/copy.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/copy +# Copies a flag value from one key to another. +# If the source flag is set, the destination is set. +# If the source flag is absent, the destination is removed. +# Input : $(from) → source flag key +# $(to) → destination flag key +# Output: macroengine:output result → 1b if copied (flag was set), 0b if cleared +# +# Example: +# data modify storage macroengine:input from set value "feature_a" +# data modify storage macroengine:input to set value "feature_a_backup" +# function macroengine:systems/flag/copy with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +# Default: clear destination +data modify storage macroengine:output result set value 0b + +$execute if data storage macroengine:engine flags.$(from) run data modify storage macroengine:engine flags.$(to) set value 1b +$execute if data storage macroengine:engine flags.$(from) run data modify storage macroengine:output result set value 1b +$execute unless data storage macroengine:engine flags.$(from) run data remove storage macroengine:engine flags.$(to) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/copy ","color":"aqua"},{"text":"$(from) → $(to) ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get.mcfunction new file mode 100644 index 00000000..7653947f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine flags.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get_or_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get_or_default.mcfunction new file mode 100644 index 00000000..6e498e32 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/get_or_default.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/get_or_default +# Returns 1b if the flag is set, otherwise stores the given default. +# Input : $(key) → flag key +# $(default) → value to store if flag is absent (0b or 1b) +# Output: macroengine:output result → 1b if set, $(default) if absent +# +# Example: +# data modify storage macroengine:input key set value "my_feature" +# data modify storage macroengine:input default set value 0b +# function macroengine:systems/flag/get_or_default with storage macroengine:input {} +# # macroengine:output result = 0b (if flag not set) +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:output result set value $(default) +$execute if data storage macroengine:engine flags.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/get_or_default ","color":"aqua"},{"text":"$(key) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list.mcfunction new file mode 100644 index 00000000..d013f188 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Global Flags ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine flags run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"flags","interpret":false,"color":"white"}] +execute unless data storage macroengine:engine flags run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active flags)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list_systems.mcfunction new file mode 100644 index 00000000..9ebf05c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/list_systems.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/flag/list_systems — List all tick channels with their current config +tellraw @s [{"text":"[DL] Tick Channels","color":"gold","bold":true}] +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set.mcfunction new file mode 100644 index 00000000..1ae8a5bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine flags.$(key) set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set_if.mcfunction new file mode 100644 index 00000000..69942878 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/set_if.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/set_if +# Sets a flag only when a scoreboard condition is met. +# Condition: score of $(score_holder) in $(objective) must match $(matches). +# Uses scoreboard matches syntax (e.g. "1", "1..5", "..0", "2.."). +# +# INPUT : $(key) → flag key +# $(score_holder) → scoreboard entity/fake-player name +# $(objective) → scoreboard objective +# $(matches) → match range string (e.g. "1..") +# OUTPUT: macroengine:output result → 1b if flag was set, 0b if condition not met +# +# EXAMPLE: +# function macroengine:systems/flag/set_if {key:"night_mode",score_holder:"$time",objective:"macroengine.tmp",matches:"..12000"} +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute if score $(score_holder) $(objective) matches $(matches) run data modify storage macroengine:engine flags.$(key) set value 1b +$execute if score $(score_holder) $(objective) matches $(matches) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/set_if ","color":"aqua"},{"text":"$(key) if $(score_holder) $(objective) matches $(matches) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle.mcfunction new file mode 100644 index 00000000..ac81f97f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle.mcfunction @@ -0,0 +1,9 @@ +scoreboard players set $ftgl macroengine.tmp 0 +$execute if data storage macroengine:engine flags.$(key) run scoreboard players set $ftgl macroengine.tmp 1 + +$execute if score $ftgl macroengine.tmp matches 1 run data remove storage macroengine:engine flags.$(key) +execute if score $ftgl macroengine.tmp matches 1 run data modify storage macroengine:output result set value 0b + +$execute if score $ftgl macroengine.tmp matches 0 run data modify storage macroengine:engine flags.$(key) set value 1b +execute if score $ftgl macroengine.tmp matches 0 run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/toggle ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system.mcfunction new file mode 100644 index 00000000..fcd4f06a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/flag/toggle_system — Toggle a built-in tick channel on/off +# Usage: function macroengine:systems/flag/toggle_system {system:"time"} +# Valid systems: time | queue | player | hud | admin +# Delegates to macroengine:core/tick/channel/enable|disable internally. + +$data modify storage macroengine:tick_work _ftgl set from storage macroengine:engine tick.channels[{id:"$(system)_systems"}] +function macroengine:systems/flag/toggle_system/exec with storage macroengine:tick_work _ftgl \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system/exec.mcfunction new file mode 100644 index 00000000..e1728c81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/toggle_system/exec.mcfunction @@ -0,0 +1,3 @@ +# [MACRO] Internal exec for flag/toggle_system +$execute if data storage macroengine:tick_work _ftgl{enabled:1b} run function macroengine:core/tick/channel/disable {id:"$(id)"} +$execute if data storage macroengine:tick_work _ftgl{enabled:0b} run function macroengine:core/tick/channel/enable {id:"$(id)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/unset.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/unset.mcfunction new file mode 100644 index 00000000..6dc8de93 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/flag/unset.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine flags.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/unset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/as_nearby_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/as_nearby_player.mcfunction new file mode 100644 index 00000000..a8a69127 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/as_nearby_player.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[distance=..$(distance),limit=1,sort=nearest] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/as_nearby_player ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region.mcfunction new file mode 100644 index 00000000..fa7eec86 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region.mcfunction @@ -0,0 +1,34 @@ +data modify storage macroengine:output result set value 0b + +$scoreboard players set $rgn_x macroengine.tmp $(x) +$scoreboard players set $rgn_y macroengine.tmp $(y) +$scoreboard players set $rgn_z macroengine.tmp $(z) +$scoreboard players set $rgn_x1 macroengine.tmp $(x1) +$scoreboard players set $rgn_y1 macroengine.tmp $(y1) +$scoreboard players set $rgn_z1 macroengine.tmp $(z1) +$scoreboard players set $rgn_x2 macroengine.tmp $(x2) +$scoreboard players set $rgn_y2 macroengine.tmp $(y2) +$scoreboard players set $rgn_z2 macroengine.tmp $(z2) + +# min/max normalization +execute if score $rgn_x1 macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_x1 macroengine.tmp +execute if score $rgn_x1 macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_x1 macroengine.tmp = $rgn_x2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_x2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_y1 macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_y1 macroengine.tmp +execute if score $rgn_y1 macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_y1 macroengine.tmp = $rgn_y2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_y2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_z1 macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_z1 macroengine.tmp +execute if score $rgn_z1 macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_z1 macroengine.tmp = $rgn_z2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_z2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_x macroengine.tmp < $rgn_x1 macroengine.tmp run return 0 +execute if score $rgn_x macroengine.tmp > $rgn_x2 macroengine.tmp run return 0 +execute if score $rgn_y macroengine.tmp < $rgn_y1 macroengine.tmp run return 0 +execute if score $rgn_y macroengine.tmp > $rgn_y2 macroengine.tmp run return 0 +execute if score $rgn_z macroengine.tmp < $rgn_z1 macroengine.tmp run return 0 +execute if score $rgn_z macroengine.tmp > $rgn_z2 macroengine.tmp run return 0 + +data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_region ","color":"aqua"},{"text":"($(x),$(y),$(z)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region_unless.mcfunction new file mode 100644 index 00000000..951e875c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_region_unless.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] unless entity @s[x=$(x),y=$(y),z=$(z),dx=$(dx),dy=$(dy),dz=$(dz)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_region_unless ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_sphere.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_sphere.mcfunction new file mode 100644 index 00000000..3c795351 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/in_sphere.mcfunction @@ -0,0 +1,36 @@ +data modify storage macroengine:output result set value 0b + +$scoreboard players set $sph_dx macroengine.tmp $(x) +$scoreboard players set $sph_cx macroengine.tmp $(cx) +scoreboard players operation $sph_dx macroengine.tmp -= $sph_cx macroengine.tmp + +$scoreboard players set $sph_dy macroengine.tmp $(y) +$scoreboard players set $sph_cy macroengine.tmp $(cy) +scoreboard players operation $sph_dy macroengine.tmp -= $sph_cy macroengine.tmp + +$scoreboard players set $sph_dz macroengine.tmp $(z) +$scoreboard players set $sph_cz macroengine.tmp $(cz) +scoreboard players operation $sph_dz macroengine.tmp -= $sph_cz macroengine.tmp + +# Overflow prevention (max 26754 per axis) +execute if score $sph_dx macroengine.tmp matches 26755.. run scoreboard players set $sph_dx macroengine.tmp 26754 +execute if score $sph_dx macroengine.tmp matches ..-26755 run scoreboard players set $sph_dx macroengine.tmp -26754 +execute if score $sph_dy macroengine.tmp matches 26755.. run scoreboard players set $sph_dy macroengine.tmp 26754 +execute if score $sph_dy macroengine.tmp matches ..-26755 run scoreboard players set $sph_dy macroengine.tmp -26754 +execute if score $sph_dz macroengine.tmp matches 26755.. run scoreboard players set $sph_dz macroengine.tmp 26754 +execute if score $sph_dz macroengine.tmp matches ..-26755 run scoreboard players set $sph_dz macroengine.tmp -26754 + +scoreboard players operation $sph_dx macroengine.tmp *= $sph_dx macroengine.tmp +scoreboard players operation $sph_dy macroengine.tmp *= $sph_dy macroengine.tmp +scoreboard players operation $sph_dz macroengine.tmp *= $sph_dz macroengine.tmp + +scoreboard players operation $sph_dsq macroengine.tmp = $sph_dx macroengine.tmp +scoreboard players operation $sph_dsq macroengine.tmp += $sph_dy macroengine.tmp +scoreboard players operation $sph_dsq macroengine.tmp += $sph_dz macroengine.tmp +execute store result storage macroengine:output dist_sq int 1 run scoreboard players get $sph_dsq macroengine.tmp + +$scoreboard players set $sph_r macroengine.tmp $(r) +scoreboard players operation $sph_r macroengine.tmp *= $sph_r macroengine.tmp + +execute if score $sph_dsq macroengine.tmp <= $sph_r macroengine.tmp run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_sphere ","color":"aqua"},{"text":"r=$(r) dsq=","color":"gray"},{"score":{"name":"$sph_dsq","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity.mcfunction new file mode 100644 index 00000000..6a7466b4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if entity @e[type=$(type),tag=$(tag),distance=..$(distance),limit=1] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/near_entity ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity_unless.mcfunction new file mode 100644 index 00000000..eff69688 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/near_entity_unless.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless entity @e[type=$(type),tag=$(tag),distance=..$(distance),limit=1] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/near_entity_unless ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/list.mcfunction new file mode 100644 index 00000000..9064546c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/list.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/list +# Shows all registered regions to debug players. +# ───────────────────────────────────────────────────────────────── + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Region Watches ━━━━━━━━━━━━━━","color":"aqua"}] +execute if data storage macroengine:engine region_watches run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"region_watches","interpret":false,"color":"yellow"}] +execute unless data storage macroengine:engine region_watches run tellraw @a[tag=macroengine.debug] ["",{"text":" (no regions registered)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/register.mcfunction new file mode 100644 index 00000000..ea0512e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/register.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/register +# Defines a persistent region. Player position is checked every tick; +# on_enter fires when a player enters, on_leave when they leave. +# Depends on the hook/internal/tick_scan loop. +# +# INPUT (storage macroengine:input): +# id → region id (unique string) +# x1, y1, z1, x2, y2, z2 → corner coordinates (integer) +# on_enter → (optional) entry function — as the triggering player +# on_leave → (optional) leave function — as the triggering player +# on_enter_cmd → (optional) entry command +# on_leave_cmd → (optional) leave command +# +# EXAMPLE: +# data modify storage macroengine:input id set value "spawn_safe" +# data modify storage macroengine:input x1 set value 0 +# data modify storage macroengine:input y1 set value 60 +# data modify storage macroengine:input z1 set value 0 +# data modify storage macroengine:input x2 set value 100 +# data modify storage macroengine:input y2 set value 120 +# data modify storage macroengine:input z2 set value 100 +# data modify storage macroengine:input on_enter set value "mypack:zones/safe_enter" +# data modify storage macroengine:input on_leave set value "mypack:zones/safe_leave" +# function macroengine:systems/geo/region_watch/register +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/geo/region_watch/register_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/unregister.mcfunction new file mode 100644 index 00000000..9426a11f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/geo/region_watch/unregister.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/unregister +# Deletes a registered region. Player state scores are not cleared +# (automatically skipped in the next tick_scan loop). +# +# INPUT (storage macroengine:input): +# id → region id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/geo/region_watch/unregister_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/bind.mcfunction new file mode 100644 index 00000000..454aa97b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/bind.mcfunction @@ -0,0 +1,18 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/bind +# Binds a function or command to a specific event. +# Multiple binds can be added to the same event. +# +# INPUT (storage macroengine:input): +# event → event name: "player_join" | "player_death" | "player_respawn" +# "level_up" | "block_place" | "block_break" | "item_use" +# func → (optional) function to run — as the triggering player +# cmd → (optional) command to run — used if func is absent +# +# EXAMPLE: +# data modify storage macroengine:input event set value "player_death" +# data modify storage macroengine:input func set value "mypack:on_death" +# function macroengine:systems/hook/bind +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/bind_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/list.mcfunction new file mode 100644 index 00000000..1ead425b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/list.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/hook/list +# Shows all registered hook binds to macroengine.debug players. + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Hook Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine hook_binds[0] run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no hook binds)","color":"gray","italic":true}] +execute if data storage macroengine:engine hook_binds[0] run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"hook_binds","interpret":false,"color":"yellow"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_advancement_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_advancement_fire.mcfunction new file mode 100644 index 00000000..3d251a58 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_advancement_fire.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/on_advancement_fire +# Called from the user's own advancement reward function. +# Fires an event in "advancement:" format. +# +# INPUT (storage macroengine:input): +# advancement → advancement ID (e.g. "story/mine_stone") +# +# KULLANIM: +# 1) Define a function as the reward in your advancement JSON: +# "rewards": {"function": "mypack:advancements/mine_stone"} +# +# 2) Inside that function: +# data modify storage macroengine:input advancement set value "story/mine_stone" +# function macroengine:systems/hook/on_advancement_fire +# +# 3) Hook bind: +# data modify storage macroengine:input event set value "advancement:story/mine_stone" +# data modify storage macroengine:input func set value "mypack:on_first_mine" +# function macroengine:systems/hook/bind +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/on_advancement_fire with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_break_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_break_block.mcfunction new file mode 100644 index 00000000..d7e0ed43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_break_block.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_break_block +# Reward: break_block advancement (item_durability_changed, delta max -1) +# Feeds both break_block and using_item hooks. +advancement revoke @s only macroengine:systems/hook/break_block +scoreboard players add @s macroengine.hook_tool_used 1 +scoreboard players add @s macroengine.hook_using_item 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_dimension_change.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_dimension_change.mcfunction new file mode 100644 index 00000000..0f04db6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_dimension_change.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_dimension_change +# Advancement reward: runs when changed_dimension triggers. +# @s = player who changed dimension + +advancement revoke @s only macroengine:systems/hook/dimension_change +scoreboard players add @s macroengine.hook_dim_changed 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_drop.mcfunction new file mode 100644 index 00000000..de384746 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_drop.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_drop +# Binds a function or command to the "drop_item" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player drops an item +# cmd → command to run when a player drops an item (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_drop" +# function macroengine:systems/hook/on_drop +# -- or -- +# data modify storage macroengine:input cmd set value "say An item was dropped" +# function macroengine:systems/hook/on_drop +data modify storage macroengine:input event set value "drop_item" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_eat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_eat.mcfunction new file mode 100644 index 00000000..39921683 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_eat.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_eat +# Binds a function or command to the "eat" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player eats +# cmd → command to run when a player eats (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_eat" +# function macroengine:systems/hook/on_eat +# -- or -- +# data modify storage macroengine:input cmd set value "say I ate something" +# function macroengine:systems/hook/on_eat +data modify storage macroengine:input event set value "eat" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_entity_kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_entity_kill.mcfunction new file mode 100644 index 00000000..24207109 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_entity_kill.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_entity_kill +# Reward: entity_kill advancement (player_killed_entity trigger) +advancement revoke @s only macroengine:systems/hook/entity_kill +scoreboard players add @s macroengine.hook_entity_killed 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_fish_caught.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_fish_caught.mcfunction new file mode 100644 index 00000000..095cf99a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_fish_caught.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_fish_caught +# Binds a function or command to the "fish_caught" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player catches a fish +# cmd → command to run when a player catches a fish (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_fish" +# function macroengine:systems/hook/on_fish_caught +# -- or -- +# data modify storage macroengine:input cmd set value "give @s salmon 1" +# function macroengine:systems/hook/on_fish_caught +data modify storage macroengine:input event set value "fish_caught" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_hero_of_the_village.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_hero_of_the_village.mcfunction new file mode 100644 index 00000000..5c598838 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_hero_of_the_village.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_hero_of_the_village +# Reward: hero_of_the_village advancement (raid victory) +advancement revoke @s only macroengine:systems/hook/hero_of_the_village +scoreboard players add @s macroengine.hook_hero_of_the_village 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_anvil.mcfunction new file mode 100644 index 00000000..5ed866c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_anvil.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_interact_anvil +# Advancement reward: runs when player interacts with an anvil +advancement revoke @s only macroengine:systems/hook/interact_anvil +function macroengine:core/internal/systems/hook/on_interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_shulker_box.mcfunction new file mode 100644 index 00000000..ff40ea68 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_interact_shulker_box.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_interact_shulker_box +# Advancement reward: runs when player opens a shulker box +advancement revoke @s only macroengine:systems/hook/interact_shulker_box +function macroengine:core/internal/systems/hook/on_interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_item_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_item_use.mcfunction new file mode 100644 index 00000000..c617e7e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_item_use.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_item_use +# Reward: item_use advancement (using_item trigger) +advancement revoke @s only macroengine:systems/hook/item_use +scoreboard players add @s macroengine.hook_item_used 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_jump.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_jump.mcfunction new file mode 100644 index 00000000..42f77199 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_jump.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_jump +# Binds a function or command to the "jumped" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player jumps +# cmd → command to run when a player jumps (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_jump" +# function macroengine:systems/hook/on_jump +# -- or -- +# data modify storage macroengine:input cmd set value "say A player jumped" +# function macroengine:systems/hook/on_jump +data modify storage macroengine:input event set value "jumped" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_killed_by_arrow.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_killed_by_arrow.mcfunction new file mode 100644 index 00000000..c1f0f2ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_killed_by_arrow.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_killed_by_arrow +# Reward: killed_by_arrow advancement (entity_killed_player + killing_blow arrow) +advancement revoke @s only macroengine:systems/hook/killed_by_arrow +scoreboard players add @s macroengine.hook_killed_by_arrow 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_open_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_open_chest.mcfunction new file mode 100644 index 00000000..77401637 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_open_chest.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_open_chest +# Binds a function or command to the "open_chest" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player opens a chest +# cmd → command to run when a player opens a chest (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_open_chest" +# function macroengine:systems/hook/on_open_chest +# -- or -- +# data modify storage macroengine:input cmd set value "say A chest was opened" +# function macroengine:systems/hook/on_open_chest +data modify storage macroengine:input event set value "open_chest" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_placed_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_placed_block.mcfunction new file mode 100644 index 00000000..ea8b8b04 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_placed_block.mcfunction @@ -0,0 +1,8 @@ +# Advancement reward: runs when placed_block triggers +# Find the newly placed block in the direction the player is looking + +# Revoke advancement (so it can trigger again) +advancement revoke @s only macroengine:systems/hook/placed_block + +# Start raycast: begin from player's eyes +execute as @s at @s anchored eyes run function macroengine:systems/hook/raycast/start diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_target_hit.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_target_hit.mcfunction new file mode 100644 index 00000000..6b27a571 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_target_hit.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_target_hit +# Binds a function or command to the "target_hit" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player hits a target block +# cmd → command to run when a player hits a target block (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_target_hit" +# function macroengine:systems/hook/on_target_hit +# -- or -- +# data modify storage macroengine:input cmd set value "say Target hit" +# function macroengine:systems/hook/on_target_hit +data modify storage macroengine:input event set value "target_hit" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_trade.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_trade.mcfunction new file mode 100644 index 00000000..274493f8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_trade.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_trade +# Advancement reward: runs when villager_trade triggers. +# @s = the trading player + +advancement revoke @s only macroengine:systems/hook/trade +scoreboard players add @s macroengine.hook_traded 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_using_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_using_item.mcfunction new file mode 100644 index 00000000..b6bf0966 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/on_using_item.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/hook/on_using_item +# Called by tick_scan when macroengine.hook_using_item >= 1. +# Score is set by on_break_block (shared advancement). diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/found.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/found.mcfunction new file mode 100644 index 00000000..ad92a5c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/found.mcfunction @@ -0,0 +1,36 @@ +# Block found! +# Increment hook.placed scoreboard +scoreboard players add @s macroengine.hook_placed 1 + +# Write to hook event storage (other systems can listen) +# Save block coordinates (via marker summon from positioned context) +summon minecraft:marker ~ ~ ~ {Tags:["macroengine.hook_block_pos"]} +execute store result storage macroengine:hook placed.x int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[0] +execute store result storage macroengine:hook placed.y int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[1] +execute store result storage macroengine:hook placed.z int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[2] +kill @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] + +# Record timestamp (from macroengine.time scoreboard) +execute store result storage macroengine:hook placed.tick int 1 run scoreboard players get #time macroengine.time + +# Get player UUID and name via macroengine modules +execute as @s run function macroengine:systems/uuid/from_entity +data modify storage macroengine:hook placed.uuid set from storage macroengine:input value + +execute as @s run function macroengine:player/get_name +data modify storage macroengine:hook placed.name set from storage macroengine:names temp.NAME +data modify storage macroengine:hook placed.uuid_array set from storage macroengine:names temp.UUID + +# Set hook event flag +data modify storage macroengine:hook placed.active set value 1b + +# Hook event sistemine "placed_block" event'i fire et +data modify storage macroengine:engine _hook_fire_tmp set value {event:"placed_block"} +execute as @s run function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Legacy event system support (if present) +execute if score #m_hook macroengine.Flags matches 1.. run function macroengine:events/fire {id:"hook.placed"} + +# Cleanup: reset counter +scoreboard players reset @s macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/loop.mcfunction new file mode 100644 index 00000000..1a49cd71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/loop.mcfunction @@ -0,0 +1,15 @@ +# Raycast loop +# Check if there is a non-air block at the current position + +# Non-air block found → call found function +execute unless block ~ ~ ~ #minecraft:air run return run function macroengine:systems/hook/raycast/found + +# Still air → continue +# Increment counter +scoreboard players add @s macroengine.tmp 1 + +# Stop if max distance reached (50 steps = 5 blocks) +execute if score @s macroengine.tmp matches 50.. run return 0 + +# Advance position by 0.1 blocks and try again +execute positioned ^ ^ ^0.1 run function macroengine:systems/hook/raycast/loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/start.mcfunction new file mode 100644 index 00000000..2434578f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/raycast/start.mcfunction @@ -0,0 +1,6 @@ +# Raycast start +# Reset distance counter (max 50 steps = 5 blocks) +scoreboard players set @s macroengine.tmp 0 + +# Start loop +function macroengine:systems/hook/raycast/loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind.mcfunction new file mode 100644 index 00000000..0633de1d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/unbind +# Removes all binds belonging to a specific event. +# +# INPUT (storage macroengine:input): +# event → event name +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/unbind_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind_all.mcfunction new file mode 100644 index 00000000..057c6adf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/hook/unbind_all.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/unbind_all +# Clears all hook binds. + +data modify storage macroengine:engine hook_binds set value [] + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/unbind_all ","color":"aqua"},{"text":"⚠ all hook binds cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/add.mcfunction new file mode 100644 index 00000000..15992ca2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/add.mcfunction @@ -0,0 +1,16 @@ +# macroengine:systems/log/add (internal) +# Called by error/warn/info/debug — do not call directly. +# Appends to the 30-entry ring buffer in macroengine:engine log_display. +execute unless data storage macroengine:engine log_display run data modify storage macroengine:engine log_display set value [] + +$data modify storage macroengine:engine log_display append value {text:"[$(level)] $(message)",color:"$(color)"} + +scoreboard players add #macroengine.log_count macroengine.tmp 1 +execute if score #macroengine.log_count macroengine.tmp matches 31.. run data remove storage macroengine:engine log_display[0] +execute if score #macroengine.log_count macroengine.tmp matches 31.. run scoreboard players remove #macroengine.log_count macroengine.tmp 1 + +# Optional console mirroring via test_block (off by default — enable with +# /function macroengine: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 macroengine:engine security{debug_log:1b} run function macroengine:systems/log/testblock/pulse {message:"[$(level)] $(message)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/clear.mcfunction new file mode 100644 index 00000000..552852ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/clear.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/clear +# Usage: /function macroengine:systems/log/clear +# Clears the log buffer. +execute unless entity @s[tag=macroengine.admin] run return 0 +data remove storage macroengine:engine log_display +scoreboard players set #macroengine.log_count macroengine.tmp 0 +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log buffer cleared.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/debug.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/debug.mcfunction new file mode 100644 index 00000000..d9b6333f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/debug.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/debug +# Usage: $function macroengine:systems/log/debug {message:"[System] Trace detail"} +# Level: 4 — only shown when debug mode active +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "DEBUG" +data modify storage macroengine:engine _log_add_tmp.color set value "dark_gray" +execute if score #macroengine.log_level macroengine.log_level matches 4.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/error.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/error.mcfunction new file mode 100644 index 00000000..d4a98ce5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/error.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/error +# Usage: $function macroengine:systems/log/error {message:"[System] Something failed"} +# Level: 1 — always shown unless log is off +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "ERROR" +data modify storage macroengine:engine _log_add_tmp.color set value "red" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/get_level.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/get_level.mcfunction new file mode 100644 index 00000000..5593a6e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/get_level.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/log/get_level +# Usage: /function macroengine:systems/log/get_level +# Shows the current log level. +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log level: ","color":"gray"},{"score":{"name":"#macroengine.log_level","objective":"macroengine.log_level"},"color":"white","bold":true},{"text":" (0=off 1=error 2=warn 3=info 4=debug)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/info.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/info.mcfunction new file mode 100644 index 00000000..ed95c53f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/info.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/info +# Usage: $function macroengine:systems/log/info {message:"[System] Something happened"} +# Level: 3 +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "INFO" +data modify storage macroengine:engine _log_add_tmp.color set value "gray" +execute if score #macroengine.log_level macroengine.log_level matches 3.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/set_level.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/set_level.mcfunction new file mode 100644 index 00000000..cfa54cd8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/set_level.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/log/set_level +# Usage: $function macroengine:systems/log/set_level {level:3} +# Sets the active log level: +# 0 = off +# 1 = error only +# 2 = warn + error +# 3 = info + warn + error (default) +# 4 = debug (all) +execute unless entity @s[tag=macroengine.admin] run return 0 +$scoreboard players set #macroengine.log_level macroengine.log_level $(level) +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log level set to ","color":"gray"},{"text":"$(level)","color":"white","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/show.mcfunction new file mode 100644 index 00000000..36d50a5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/show.mcfunction @@ -0,0 +1,8 @@ +execute unless data storage macroengine:engine log_display[0] run tellraw @s {"text":"[Log] No entries.","color":"gray","italic":false} +execute unless data storage macroengine:engine log_display[0] run return 0 + +function macroengine:core/lib/input_push +data modify storage macroengine:engine _felist_input set from storage macroengine:engine log_display +data modify storage macroengine:input func set value "macroengine:core/internal/systems/log/print_entry" +function macroengine:core/lib/for_each_list with storage macroengine:input {} +function macroengine:core/lib/input_pop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place.mcfunction new file mode 100644 index 00000000..dccaddbe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place.mcfunction @@ -0,0 +1,10 @@ +# macroengine:systems/log/testblock/place +# Places (or re-places) the mode=log test_block at macroengine: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 macroengine:systems/log/testblock/place_at with storage macroengine:engine debug_log_pos diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place_at.mcfunction new file mode 100644 index 00000000..ba07ed61 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/place_at.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/log/testblock/place_at [MACRO] +# Input: $(x), $(y), $(z) — from debug_log_pos +$setblock $(x) $(y) $(z) minecraft:test_block[mode=log]{message:"[macroengine] (idle)",mode:"log",powered:0b} replace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse.mcfunction new file mode 100644 index 00000000..8a7c25e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse.mcfunction @@ -0,0 +1,20 @@ +# macroengine: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 macroengine: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 macroengine:tick_work testblock set from storage macroengine:engine debug_log_pos +$data modify storage macroengine:tick_work testblock.msg set value "$(message)" + +function macroengine:systems/log/testblock/pulse_at with storage macroengine: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 macroengine:systems/log/testblock/unpulse_at 1t replace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse_at.mcfunction new file mode 100644 index 00000000..d1d164d2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/pulse_at.mcfunction @@ -0,0 +1,7 @@ +# macroengine: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/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_at.mcfunction new file mode 100644 index 00000000..e352b75b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_at.mcfunction @@ -0,0 +1,8 @@ +# macroengine: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 macroengine:systems/log/testblock/unpulse_here with storage macroengine:engine debug_log_pos diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_here.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_here.mcfunction new file mode 100644 index 00000000..1e88871c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/testblock/unpulse_here.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/log/testblock/unpulse_here [MACRO] +# Input: $(x), $(y), $(z) +$data merge block $(x) $(y) $(z) {powered:0b} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/warn.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/warn.mcfunction new file mode 100644 index 00000000..b480a729 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/log/warn.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/warn +# Usage: $function macroengine:systems/log/warn {message:"[System] Something suspicious"} +# Level: 2 +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_eq.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_eq.mcfunction new file mode 100644 index 00000000..e9b25777 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_eq.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp = $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gt.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gt.mcfunction new file mode 100644 index 00000000..a922197a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gt.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp > $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gte.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gte.mcfunction new file mode 100644 index 00000000..fac32e51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_gte.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp >= $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lt.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lt.mcfunction new file mode 100644 index 00000000..e8359d09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lt.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp < $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lte.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lte.mcfunction new file mode 100644 index 00000000..6c016518 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_lte.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp <= $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_not_eq.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_not_eq.mcfunction new file mode 100644 index 00000000..af1e00e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/logic/if_not_eq.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute unless score $if_a macroengine.tmp = $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/abs.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/abs.mcfunction new file mode 100644 index 00000000..18a80436 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/abs.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $abs_v macroengine.tmp $(value) +scoreboard players set $abs_neg macroengine.tmp -1 +execute if score $abs_v macroengine.tmp matches ..-1 run scoreboard players operation $abs_v macroengine.tmp *= $abs_neg macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $abs_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/atan2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/atan2.mcfunction new file mode 100644 index 00000000..5f194c45 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/atan2.mcfunction @@ -0,0 +1,185 @@ +# macroengine:systems/math/atan2 [MACRO] +# Integer atan2 — returns angle in degrees × 1000 (range: -180000..180000) +# Uses octant decomposition + lookup table (same scale as sin/cos: ×1000) +# +# INPUT: $(y), $(x) — integer coordinates (scaled consistently) +# OUTPUT: macroengine:output result — degrees × 1000 +# +# EXAMPLE: +# function macroengine:systems/math/atan2 {y:500, x:500} +# → result = 45000 (45.000°) +# +# NOTES: +# - Both x and y zero → result = 0 +# - Result matches standard math convention (CCW from +X axis) + +$scoreboard players set $a2_y macroengine.tmp $(y) +$scoreboard players set $a2_x macroengine.tmp $(x) + +# Determine quadrant sign flags +scoreboard players set $a2_sx macroengine.tmp 1 +scoreboard players set $a2_sy macroengine.tmp 1 +execute if score $a2_x macroengine.tmp matches ..-1 run scoreboard players set $a2_sx macroengine.tmp -1 +execute if score $a2_y macroengine.tmp matches ..-1 run scoreboard players set $a2_sy macroengine.tmp -1 + +# Work in absolute values +scoreboard players set $a2_ax macroengine.tmp 0 +scoreboard players set $a2_ay macroengine.tmp 0 +execute store result score $a2_ax macroengine.tmp run scoreboard players get $a2_x macroengine.tmp +execute if score $a2_ax macroengine.tmp matches ..-1 run scoreboard players operation $a2_ax macroengine.tmp *= $a2_sx macroengine.tmp +execute store result score $a2_ay macroengine.tmp run scoreboard players get $a2_y macroengine.tmp +execute if score $a2_ay macroengine.tmp matches ..-1 run scoreboard players operation $a2_ay macroengine.tmp *= $a2_sy macroengine.tmp + +# Handle degenerate cases +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_ay macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_ay macroengine.tmp matches 0 run return 0 + +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches 1 run data modify storage macroengine:output result set value 90000 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches 1 run return 0 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches -1 run data modify storage macroengine:output result set value -90000 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches -1 run return 0 + +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches 1 run data modify storage macroengine:output result set value 0 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches 1 run return 0 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches -1 run data modify storage macroengine:output result set value 180000 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches -1 run return 0 + +# Compute ratio = (min/max) × 100 → 0..100 mapped to 0..45° +# Swap so we always divide smaller by larger (→ octant 0..45°) +scoreboard players set $a2_swap macroengine.tmp 0 +execute if score $a2_ay macroengine.tmp > $a2_ax macroengine.tmp run scoreboard players set $a2_swap macroengine.tmp 1 +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_ax macroengine.tmp >< $a2_ay macroengine.tmp + +# ratio = ay*100 / ax (ay ≤ ax here) +scoreboard players set $a2_100 macroengine.tmp 100 +scoreboard players operation $a2_ay macroengine.tmp *= $a2_100 macroengine.tmp +scoreboard players operation $a2_ay macroengine.tmp /= $a2_ax macroengine.tmp + +# Lookup table: ratio 0-100 → atan(ratio/100) × 1000 in degrees +execute if score $a2_ay macroengine.tmp matches 0 run scoreboard players set $a2_r macroengine.tmp 0 +execute if score $a2_ay macroengine.tmp matches 1 run scoreboard players set $a2_r macroengine.tmp 573 +execute if score $a2_ay macroengine.tmp matches 2 run scoreboard players set $a2_r macroengine.tmp 1146 +execute if score $a2_ay macroengine.tmp matches 3 run scoreboard players set $a2_r macroengine.tmp 1718 +execute if score $a2_ay macroengine.tmp matches 4 run scoreboard players set $a2_r macroengine.tmp 2291 +execute if score $a2_ay macroengine.tmp matches 5 run scoreboard players set $a2_r macroengine.tmp 2862 +execute if score $a2_ay macroengine.tmp matches 6 run scoreboard players set $a2_r macroengine.tmp 3433 +execute if score $a2_ay macroengine.tmp matches 7 run scoreboard players set $a2_r macroengine.tmp 4004 +execute if score $a2_ay macroengine.tmp matches 8 run scoreboard players set $a2_r macroengine.tmp 4574 +execute if score $a2_ay macroengine.tmp matches 9 run scoreboard players set $a2_r macroengine.tmp 5143 +execute if score $a2_ay macroengine.tmp matches 10 run scoreboard players set $a2_r macroengine.tmp 5711 +execute if score $a2_ay macroengine.tmp matches 11 run scoreboard players set $a2_r macroengine.tmp 6279 +execute if score $a2_ay macroengine.tmp matches 12 run scoreboard players set $a2_r macroengine.tmp 6843 +execute if score $a2_ay macroengine.tmp matches 13 run scoreboard players set $a2_r macroengine.tmp 7407 +execute if score $a2_ay macroengine.tmp matches 14 run scoreboard players set $a2_r macroengine.tmp 7969 +execute if score $a2_ay macroengine.tmp matches 15 run scoreboard players set $a2_r macroengine.tmp 8531 +execute if score $a2_ay macroengine.tmp matches 16 run scoreboard players set $a2_r macroengine.tmp 9090 +execute if score $a2_ay macroengine.tmp matches 17 run scoreboard players set $a2_r macroengine.tmp 9649 +execute if score $a2_ay macroengine.tmp matches 18 run scoreboard players set $a2_r macroengine.tmp 10205 +execute if score $a2_ay macroengine.tmp matches 19 run scoreboard players set $a2_r macroengine.tmp 10760 +execute if score $a2_ay macroengine.tmp matches 20 run scoreboard players set $a2_r macroengine.tmp 11310 +execute if score $a2_ay macroengine.tmp matches 21 run scoreboard players set $a2_r macroengine.tmp 11860 +execute if score $a2_ay macroengine.tmp matches 22 run scoreboard players set $a2_r macroengine.tmp 12407 +execute if score $a2_ay macroengine.tmp matches 23 run scoreboard players set $a2_r macroengine.tmp 12951 +execute if score $a2_ay macroengine.tmp matches 24 run scoreboard players set $a2_r macroengine.tmp 13495 +execute if score $a2_ay macroengine.tmp matches 25 run scoreboard players set $a2_r macroengine.tmp 14036 +execute if score $a2_ay macroengine.tmp matches 26 run scoreboard players set $a2_r macroengine.tmp 14574 +execute if score $a2_ay macroengine.tmp matches 27 run scoreboard players set $a2_r macroengine.tmp 15111 +execute if score $a2_ay macroengine.tmp matches 28 run scoreboard players set $a2_r macroengine.tmp 15643 +execute if score $a2_ay macroengine.tmp matches 29 run scoreboard players set $a2_r macroengine.tmp 16174 +execute if score $a2_ay macroengine.tmp matches 30 run scoreboard players set $a2_r macroengine.tmp 16699 +execute if score $a2_ay macroengine.tmp matches 31 run scoreboard players set $a2_r macroengine.tmp 17223 +execute if score $a2_ay macroengine.tmp matches 32 run scoreboard players set $a2_r macroengine.tmp 17744 +execute if score $a2_ay macroengine.tmp matches 33 run scoreboard players set $a2_r macroengine.tmp 18263 +execute if score $a2_ay macroengine.tmp matches 34 run scoreboard players set $a2_r macroengine.tmp 18778 +execute if score $a2_ay macroengine.tmp matches 35 run scoreboard players set $a2_r macroengine.tmp 19290 +execute if score $a2_ay macroengine.tmp matches 36 run scoreboard players set $a2_r macroengine.tmp 19799 +execute if score $a2_ay macroengine.tmp matches 37 run scoreboard players set $a2_r macroengine.tmp 20304 +execute if score $a2_ay macroengine.tmp matches 38 run scoreboard players set $a2_r macroengine.tmp 20806 +execute if score $a2_ay macroengine.tmp matches 39 run scoreboard players set $a2_r macroengine.tmp 21304 +execute if score $a2_ay macroengine.tmp matches 40 run scoreboard players set $a2_r macroengine.tmp 21801 +execute if score $a2_ay macroengine.tmp matches 41 run scoreboard players set $a2_r macroengine.tmp 22292 +execute if score $a2_ay macroengine.tmp matches 42 run scoreboard players set $a2_r macroengine.tmp 22782 +execute if score $a2_ay macroengine.tmp matches 43 run scoreboard players set $a2_r macroengine.tmp 23268 +execute if score $a2_ay macroengine.tmp matches 44 run scoreboard players set $a2_r macroengine.tmp 23749 +execute if score $a2_ay macroengine.tmp matches 45 run scoreboard players set $a2_r macroengine.tmp 24228 +execute if score $a2_ay macroengine.tmp matches 46 run scoreboard players set $a2_r macroengine.tmp 24703 +execute if score $a2_ay macroengine.tmp matches 47 run scoreboard players set $a2_r macroengine.tmp 25174 +execute if score $a2_ay macroengine.tmp matches 48 run scoreboard players set $a2_r macroengine.tmp 25642 +execute if score $a2_ay macroengine.tmp matches 49 run scoreboard players set $a2_r macroengine.tmp 26105 +execute if score $a2_ay macroengine.tmp matches 50 run scoreboard players set $a2_r macroengine.tmp 26565 +execute if score $a2_ay macroengine.tmp matches 51 run scoreboard players set $a2_r macroengine.tmp 27021 +execute if score $a2_ay macroengine.tmp matches 52 run scoreboard players set $a2_r macroengine.tmp 27473 +execute if score $a2_ay macroengine.tmp matches 53 run scoreboard players set $a2_r macroengine.tmp 27922 +execute if score $a2_ay macroengine.tmp matches 54 run scoreboard players set $a2_r macroengine.tmp 28367 +execute if score $a2_ay macroengine.tmp matches 55 run scoreboard players set $a2_r macroengine.tmp 28808 +execute if score $a2_ay macroengine.tmp matches 56 run scoreboard players set $a2_r macroengine.tmp 29145 +execute if score $a2_ay macroengine.tmp matches 57 run scoreboard players set $a2_r macroengine.tmp 29678 +execute if score $a2_ay macroengine.tmp matches 58 run scoreboard players set $a2_r macroengine.tmp 30107 +execute if score $a2_ay macroengine.tmp matches 59 run scoreboard players set $a2_r macroengine.tmp 30531 +execute if score $a2_ay macroengine.tmp matches 60 run scoreboard players set $a2_r macroengine.tmp 30964 +execute if score $a2_ay macroengine.tmp matches 61 run scoreboard players set $a2_r macroengine.tmp 31333 +execute if score $a2_ay macroengine.tmp matches 62 run scoreboard players set $a2_r macroengine.tmp 31759 +execute if score $a2_ay macroengine.tmp matches 63 run scoreboard players set $a2_r macroengine.tmp 32175 +execute if score $a2_ay macroengine.tmp matches 64 run scoreboard players set $a2_r macroengine.tmp 32619 +execute if score $a2_ay macroengine.tmp matches 65 run scoreboard players set $a2_r macroengine.tmp 33001 +execute if score $a2_ay macroengine.tmp matches 66 run scoreboard players set $a2_r macroengine.tmp 33401 +execute if score $a2_ay macroengine.tmp matches 67 run scoreboard players set $a2_r macroengine.tmp 33801 +execute if score $a2_ay macroengine.tmp matches 68 run scoreboard players set $a2_r macroengine.tmp 34200 +execute if score $a2_ay macroengine.tmp matches 69 run scoreboard players set $a2_r macroengine.tmp 34596 +execute if score $a2_ay macroengine.tmp matches 70 run scoreboard players set $a2_r macroengine.tmp 34992 +execute if score $a2_ay macroengine.tmp matches 71 run scoreboard players set $a2_r macroengine.tmp 35384 +execute if score $a2_ay macroengine.tmp matches 72 run scoreboard players set $a2_r macroengine.tmp 35757 +execute if score $a2_ay macroengine.tmp matches 73 run scoreboard players set $a2_r macroengine.tmp 36161 +execute if score $a2_ay macroengine.tmp matches 74 run scoreboard players set $a2_r macroengine.tmp 36541 +execute if score $a2_ay macroengine.tmp matches 75 run scoreboard players set $a2_r macroengine.tmp 36920 +execute if score $a2_ay macroengine.tmp matches 76 run scoreboard players set $a2_r macroengine.tmp 37297 +execute if score $a2_ay macroengine.tmp matches 77 run scoreboard players set $a2_r macroengine.tmp 37672 +execute if score $a2_ay macroengine.tmp matches 78 run scoreboard players set $a2_r macroengine.tmp 38045 +execute if score $a2_ay macroengine.tmp matches 79 run scoreboard players set $a2_r macroengine.tmp 38416 +execute if score $a2_ay macroengine.tmp matches 80 run scoreboard players set $a2_r macroengine.tmp 38785 +execute if score $a2_ay macroengine.tmp matches 81 run scoreboard players set $a2_r macroengine.tmp 39151 +execute if score $a2_ay macroengine.tmp matches 82 run scoreboard players set $a2_r macroengine.tmp 39516 +execute if score $a2_ay macroengine.tmp matches 83 run scoreboard players set $a2_r macroengine.tmp 39878 +execute if score $a2_ay macroengine.tmp matches 84 run scoreboard players set $a2_r macroengine.tmp 40236 +execute if score $a2_ay macroengine.tmp matches 85 run scoreboard players set $a2_r macroengine.tmp 40593 +execute if score $a2_ay macroengine.tmp matches 86 run scoreboard players set $a2_r macroengine.tmp 40948 +execute if score $a2_ay macroengine.tmp matches 87 run scoreboard players set $a2_r macroengine.tmp 41301 +execute if score $a2_ay macroengine.tmp matches 88 run scoreboard players set $a2_r macroengine.tmp 41634 +execute if score $a2_ay macroengine.tmp matches 89 run scoreboard players set $a2_r macroengine.tmp 41996 +execute if score $a2_ay macroengine.tmp matches 90 run scoreboard players set $a2_r macroengine.tmp 42274 +execute if score $a2_ay macroengine.tmp matches 91 run scoreboard players set $a2_r macroengine.tmp 42620 +execute if score $a2_ay macroengine.tmp matches 92 run scoreboard players set $a2_r macroengine.tmp 42965 +execute if score $a2_ay macroengine.tmp matches 93 run scoreboard players set $a2_r macroengine.tmp 43307 +execute if score $a2_ay macroengine.tmp matches 94 run scoreboard players set $a2_r macroengine.tmp 43648 +execute if score $a2_ay macroengine.tmp matches 95 run scoreboard players set $a2_r macroengine.tmp 43565 +execute if score $a2_ay macroengine.tmp matches 96 run scoreboard players set $a2_r macroengine.tmp 44321 +execute if score $a2_ay macroengine.tmp matches 97 run scoreboard players set $a2_r macroengine.tmp 44659 +execute if score $a2_ay macroengine.tmp matches 98 run scoreboard players set $a2_r macroengine.tmp 44996 +execute if score $a2_ay macroengine.tmp matches 99 run scoreboard players set $a2_r macroengine.tmp 44731 +execute if score $a2_ay macroengine.tmp matches 100 run scoreboard players set $a2_r macroengine.tmp 45000 + +# Undo swap: if swapped, angle = 90000 - angle +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players set $a2_90 macroengine.tmp 90000 +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_90 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_r macroengine.tmp = $a2_90 macroengine.tmp + +# Apply quadrant offsets +# Q2 (x<0, y≥0): angle = 180000 - angle +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players set $a2_180 macroengine.tmp 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players operation $a2_180 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players operation $a2_r macroengine.tmp = $a2_180 macroengine.tmp + +# Q3 (x<0, y<0): angle = -(180000 - angle) → angle - 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_180 macroengine.tmp 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_180 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_neg macroengine.tmp 0 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_neg macroengine.tmp -= $a2_180 macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_r macroengine.tmp = $a2_neg macroengine.tmp + +# Q4 (x≥0, y<0): angle = -angle +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_neg macroengine.tmp 0 +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_neg macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_r macroengine.tmp = $a2_neg macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $a2_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/atan2 ","color":"aqua"},{"text":"y=$(y) x=$(x) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000°","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/average.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/average.mcfunction new file mode 100644 index 00000000..41db4148 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/average.mcfunction @@ -0,0 +1,34 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/average +# Computes the integer average of up to 8 values. +# Input : $(v0)..(v7) → integer values +# $(count) → how many values (1-8) +# Output: macroengine:output result → floor(sum / count) +# +# Example: +# data modify storage macroengine:input v0 set value 10 +# data modify storage macroengine:input v1 set value 20 +# data modify storage macroengine:input v2 set value 30 +# data modify storage macroengine:input count set value 3 +# function macroengine:systems/math/average with storage macroengine:input {} +# # macroengine:output result = 20 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $avg_c macroengine.tmp $(count) + +execute if score $avg_c macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $avg_c macroengine.tmp matches ..0 run return 0 + +$scoreboard players set $avg_s macroengine.tmp $(v0) +$execute if score $avg_c macroengine.tmp matches 2.. run scoreboard players add $avg_s macroengine.tmp $(v1) +$execute if score $avg_c macroengine.tmp matches 3.. run scoreboard players add $avg_s macroengine.tmp $(v2) +$execute if score $avg_c macroengine.tmp matches 4.. run scoreboard players add $avg_s macroengine.tmp $(v3) +$execute if score $avg_c macroengine.tmp matches 5.. run scoreboard players add $avg_s macroengine.tmp $(v4) +$execute if score $avg_c macroengine.tmp matches 6.. run scoreboard players add $avg_s macroengine.tmp $(v5) +$execute if score $avg_c macroengine.tmp matches 7.. run scoreboard players add $avg_s macroengine.tmp $(v6) +$execute if score $avg_c macroengine.tmp matches 8.. run scoreboard players add $avg_s macroengine.tmp $(v7) + +scoreboard players operation $avg_s macroengine.tmp /= $avg_c macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $avg_s macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/average ","color":"aqua"},{"text":"count=$(count) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/ceil_div.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/ceil_div.mcfunction new file mode 100644 index 00000000..dc9b09d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/ceil_div.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $cdv_a macroengine.tmp $(a) +$scoreboard players set $cdv_b macroengine.tmp $(b) + +scoreboard players operation $cdv_t macroengine.tmp = $cdv_b macroengine.tmp +scoreboard players remove $cdv_t macroengine.tmp 1 + +scoreboard players operation $cdv_a macroengine.tmp += $cdv_t macroengine.tmp + +scoreboard players operation $cdv_a macroengine.tmp /= $cdv_b macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $cdv_a macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/clamp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/clamp.mcfunction new file mode 100644 index 00000000..7e8499bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/clamp.mcfunction @@ -0,0 +1,8 @@ +$scoreboard players set $clamp_v macroengine.tmp $(value) +$scoreboard players set $clamp_lo macroengine.tmp $(min) +$scoreboard players set $clamp_hi macroengine.tmp $(max) + +execute if score $clamp_v macroengine.tmp < $clamp_lo macroengine.tmp run scoreboard players operation $clamp_v macroengine.tmp = $clamp_lo macroengine.tmp +execute if score $clamp_v macroengine.tmp > $clamp_hi macroengine.tmp run scoreboard players operation $clamp_v macroengine.tmp = $clamp_hi macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $clamp_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/cos.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/cos.mcfunction new file mode 100644 index 00000000..eca2045a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/cos.mcfunction @@ -0,0 +1,110 @@ +# cos(x) = sin(x + 90) +$scoreboard players set $cos_d macroengine.tmp $(deg) +scoreboard players add $cos_d macroengine.tmp 90 +scoreboard players set $cos_360 macroengine.tmp 360 +scoreboard players operation $cos_d macroengine.tmp %= $cos_360 macroengine.tmp +execute if score $cos_d macroengine.tmp matches ..-1 run scoreboard players operation $cos_d macroengine.tmp += $cos_360 macroengine.tmp + +scoreboard players set $cos_nf macroengine.tmp 1 +execute if score $cos_d macroengine.tmp matches 180..359 run scoreboard players set $cos_nf macroengine.tmp -1 +execute if score $cos_d macroengine.tmp matches 180..359 run scoreboard players remove $cos_d macroengine.tmp 180 + +scoreboard players set $cos_180 macroengine.tmp 180 +execute if score $cos_d macroengine.tmp matches 91..179 run scoreboard players operation $cos_180 macroengine.tmp -= $cos_d macroengine.tmp +execute if score $cos_d macroengine.tmp matches 91..179 run scoreboard players operation $cos_d macroengine.tmp = $cos_180 macroengine.tmp + +execute if score $cos_d macroengine.tmp matches 0 run scoreboard players set $cos_r macroengine.tmp 0 +execute if score $cos_d macroengine.tmp matches 1 run scoreboard players set $cos_r macroengine.tmp 17 +execute if score $cos_d macroengine.tmp matches 2 run scoreboard players set $cos_r macroengine.tmp 35 +execute if score $cos_d macroengine.tmp matches 3 run scoreboard players set $cos_r macroengine.tmp 52 +execute if score $cos_d macroengine.tmp matches 4 run scoreboard players set $cos_r macroengine.tmp 70 +execute if score $cos_d macroengine.tmp matches 5 run scoreboard players set $cos_r macroengine.tmp 87 +execute if score $cos_d macroengine.tmp matches 6 run scoreboard players set $cos_r macroengine.tmp 105 +execute if score $cos_d macroengine.tmp matches 7 run scoreboard players set $cos_r macroengine.tmp 122 +execute if score $cos_d macroengine.tmp matches 8 run scoreboard players set $cos_r macroengine.tmp 139 +execute if score $cos_d macroengine.tmp matches 9 run scoreboard players set $cos_r macroengine.tmp 156 +execute if score $cos_d macroengine.tmp matches 10 run scoreboard players set $cos_r macroengine.tmp 174 +execute if score $cos_d macroengine.tmp matches 11 run scoreboard players set $cos_r macroengine.tmp 191 +execute if score $cos_d macroengine.tmp matches 12 run scoreboard players set $cos_r macroengine.tmp 208 +execute if score $cos_d macroengine.tmp matches 13 run scoreboard players set $cos_r macroengine.tmp 225 +execute if score $cos_d macroengine.tmp matches 14 run scoreboard players set $cos_r macroengine.tmp 242 +execute if score $cos_d macroengine.tmp matches 15 run scoreboard players set $cos_r macroengine.tmp 259 +execute if score $cos_d macroengine.tmp matches 16 run scoreboard players set $cos_r macroengine.tmp 276 +execute if score $cos_d macroengine.tmp matches 17 run scoreboard players set $cos_r macroengine.tmp 292 +execute if score $cos_d macroengine.tmp matches 18 run scoreboard players set $cos_r macroengine.tmp 309 +execute if score $cos_d macroengine.tmp matches 19 run scoreboard players set $cos_r macroengine.tmp 326 +execute if score $cos_d macroengine.tmp matches 20 run scoreboard players set $cos_r macroengine.tmp 342 +execute if score $cos_d macroengine.tmp matches 21 run scoreboard players set $cos_r macroengine.tmp 358 +execute if score $cos_d macroengine.tmp matches 22 run scoreboard players set $cos_r macroengine.tmp 375 +execute if score $cos_d macroengine.tmp matches 23 run scoreboard players set $cos_r macroengine.tmp 391 +execute if score $cos_d macroengine.tmp matches 24 run scoreboard players set $cos_r macroengine.tmp 407 +execute if score $cos_d macroengine.tmp matches 25 run scoreboard players set $cos_r macroengine.tmp 423 +execute if score $cos_d macroengine.tmp matches 26 run scoreboard players set $cos_r macroengine.tmp 438 +execute if score $cos_d macroengine.tmp matches 27 run scoreboard players set $cos_r macroengine.tmp 454 +execute if score $cos_d macroengine.tmp matches 28 run scoreboard players set $cos_r macroengine.tmp 469 +execute if score $cos_d macroengine.tmp matches 29 run scoreboard players set $cos_r macroengine.tmp 485 +execute if score $cos_d macroengine.tmp matches 30 run scoreboard players set $cos_r macroengine.tmp 500 +execute if score $cos_d macroengine.tmp matches 31 run scoreboard players set $cos_r macroengine.tmp 515 +execute if score $cos_d macroengine.tmp matches 32 run scoreboard players set $cos_r macroengine.tmp 530 +execute if score $cos_d macroengine.tmp matches 33 run scoreboard players set $cos_r macroengine.tmp 545 +execute if score $cos_d macroengine.tmp matches 34 run scoreboard players set $cos_r macroengine.tmp 559 +execute if score $cos_d macroengine.tmp matches 35 run scoreboard players set $cos_r macroengine.tmp 574 +execute if score $cos_d macroengine.tmp matches 36 run scoreboard players set $cos_r macroengine.tmp 588 +execute if score $cos_d macroengine.tmp matches 37 run scoreboard players set $cos_r macroengine.tmp 602 +execute if score $cos_d macroengine.tmp matches 38 run scoreboard players set $cos_r macroengine.tmp 616 +execute if score $cos_d macroengine.tmp matches 39 run scoreboard players set $cos_r macroengine.tmp 629 +execute if score $cos_d macroengine.tmp matches 40 run scoreboard players set $cos_r macroengine.tmp 643 +execute if score $cos_d macroengine.tmp matches 41 run scoreboard players set $cos_r macroengine.tmp 656 +execute if score $cos_d macroengine.tmp matches 42 run scoreboard players set $cos_r macroengine.tmp 669 +execute if score $cos_d macroengine.tmp matches 43 run scoreboard players set $cos_r macroengine.tmp 682 +execute if score $cos_d macroengine.tmp matches 44 run scoreboard players set $cos_r macroengine.tmp 695 +execute if score $cos_d macroengine.tmp matches 45 run scoreboard players set $cos_r macroengine.tmp 707 +execute if score $cos_d macroengine.tmp matches 46 run scoreboard players set $cos_r macroengine.tmp 719 +execute if score $cos_d macroengine.tmp matches 47 run scoreboard players set $cos_r macroengine.tmp 731 +execute if score $cos_d macroengine.tmp matches 48 run scoreboard players set $cos_r macroengine.tmp 743 +execute if score $cos_d macroengine.tmp matches 49 run scoreboard players set $cos_r macroengine.tmp 755 +execute if score $cos_d macroengine.tmp matches 50 run scoreboard players set $cos_r macroengine.tmp 766 +execute if score $cos_d macroengine.tmp matches 51 run scoreboard players set $cos_r macroengine.tmp 777 +execute if score $cos_d macroengine.tmp matches 52 run scoreboard players set $cos_r macroengine.tmp 788 +execute if score $cos_d macroengine.tmp matches 53 run scoreboard players set $cos_r macroengine.tmp 799 +execute if score $cos_d macroengine.tmp matches 54 run scoreboard players set $cos_r macroengine.tmp 809 +execute if score $cos_d macroengine.tmp matches 55 run scoreboard players set $cos_r macroengine.tmp 819 +execute if score $cos_d macroengine.tmp matches 56 run scoreboard players set $cos_r macroengine.tmp 829 +execute if score $cos_d macroengine.tmp matches 57 run scoreboard players set $cos_r macroengine.tmp 839 +execute if score $cos_d macroengine.tmp matches 58 run scoreboard players set $cos_r macroengine.tmp 848 +execute if score $cos_d macroengine.tmp matches 59 run scoreboard players set $cos_r macroengine.tmp 857 +execute if score $cos_d macroengine.tmp matches 60 run scoreboard players set $cos_r macroengine.tmp 866 +execute if score $cos_d macroengine.tmp matches 61 run scoreboard players set $cos_r macroengine.tmp 875 +execute if score $cos_d macroengine.tmp matches 62 run scoreboard players set $cos_r macroengine.tmp 883 +execute if score $cos_d macroengine.tmp matches 63 run scoreboard players set $cos_r macroengine.tmp 891 +execute if score $cos_d macroengine.tmp matches 64 run scoreboard players set $cos_r macroengine.tmp 899 +execute if score $cos_d macroengine.tmp matches 65 run scoreboard players set $cos_r macroengine.tmp 906 +execute if score $cos_d macroengine.tmp matches 66 run scoreboard players set $cos_r macroengine.tmp 914 +execute if score $cos_d macroengine.tmp matches 67 run scoreboard players set $cos_r macroengine.tmp 921 +execute if score $cos_d macroengine.tmp matches 68 run scoreboard players set $cos_r macroengine.tmp 927 +execute if score $cos_d macroengine.tmp matches 69 run scoreboard players set $cos_r macroengine.tmp 934 +execute if score $cos_d macroengine.tmp matches 70 run scoreboard players set $cos_r macroengine.tmp 940 +execute if score $cos_d macroengine.tmp matches 71 run scoreboard players set $cos_r macroengine.tmp 946 +execute if score $cos_d macroengine.tmp matches 72 run scoreboard players set $cos_r macroengine.tmp 951 +execute if score $cos_d macroengine.tmp matches 73 run scoreboard players set $cos_r macroengine.tmp 956 +execute if score $cos_d macroengine.tmp matches 74 run scoreboard players set $cos_r macroengine.tmp 961 +execute if score $cos_d macroengine.tmp matches 75 run scoreboard players set $cos_r macroengine.tmp 966 +execute if score $cos_d macroengine.tmp matches 76 run scoreboard players set $cos_r macroengine.tmp 970 +execute if score $cos_d macroengine.tmp matches 77 run scoreboard players set $cos_r macroengine.tmp 974 +execute if score $cos_d macroengine.tmp matches 78 run scoreboard players set $cos_r macroengine.tmp 978 +execute if score $cos_d macroengine.tmp matches 79 run scoreboard players set $cos_r macroengine.tmp 982 +execute if score $cos_d macroengine.tmp matches 80 run scoreboard players set $cos_r macroengine.tmp 985 +execute if score $cos_d macroengine.tmp matches 81 run scoreboard players set $cos_r macroengine.tmp 988 +execute if score $cos_d macroengine.tmp matches 82 run scoreboard players set $cos_r macroengine.tmp 990 +execute if score $cos_d macroengine.tmp matches 83 run scoreboard players set $cos_r macroengine.tmp 993 +execute if score $cos_d macroengine.tmp matches 84 run scoreboard players set $cos_r macroengine.tmp 995 +execute if score $cos_d macroengine.tmp matches 85 run scoreboard players set $cos_r macroengine.tmp 996 +execute if score $cos_d macroengine.tmp matches 86 run scoreboard players set $cos_r macroengine.tmp 998 +execute if score $cos_d macroengine.tmp matches 87 run scoreboard players set $cos_r macroengine.tmp 999 +execute if score $cos_d macroengine.tmp matches 88 run scoreboard players set $cos_r macroengine.tmp 999 +execute if score $cos_d macroengine.tmp matches 89 run scoreboard players set $cos_r macroengine.tmp 1000 +execute if score $cos_d macroengine.tmp matches 90 run scoreboard players set $cos_r macroengine.tmp 1000 + +scoreboard players operation $cos_r macroengine.tmp *= $cos_nf macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $cos_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/cos ","color":"aqua"},{"text":"deg=$(deg) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance2d.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance2d.mcfunction new file mode 100644 index 00000000..d1102fc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance2d.mcfunction @@ -0,0 +1,33 @@ +$scoreboard players set $d2d_x1 macroengine.tmp $(x1) +$scoreboard players set $d2d_z1 macroengine.tmp $(z1) +$scoreboard players set $d2d_x2 macroengine.tmp $(x2) +$scoreboard players set $d2d_z2 macroengine.tmp $(z2) + +scoreboard players operation $d2d_dx macroengine.tmp = $d2d_x2 macroengine.tmp +scoreboard players operation $d2d_dx macroengine.tmp -= $d2d_x1 macroengine.tmp + +scoreboard players operation $d2d_dz macroengine.tmp = $d2d_z2 macroengine.tmp +scoreboard players operation $d2d_dz macroengine.tmp -= $d2d_z1 macroengine.tmp + +# Overflow prevention: 2 * 32767² = 2,147,354,578 ≤ INT_MAX (2,147,483,647) +execute if score $d2d_dx macroengine.tmp matches 32768.. run scoreboard players set $d2d_dx macroengine.tmp 32767 +execute if score $d2d_dx macroengine.tmp matches ..-32768 run scoreboard players set $d2d_dx macroengine.tmp -32767 +execute if score $d2d_dz macroengine.tmp matches 32768.. run scoreboard players set $d2d_dz macroengine.tmp 32767 +execute if score $d2d_dz macroengine.tmp matches ..-32768 run scoreboard players set $d2d_dz macroengine.tmp -32767 + +scoreboard players operation $d2d_dx macroengine.tmp *= $d2d_dx macroengine.tmp +scoreboard players operation $d2d_dz macroengine.tmp *= $d2d_dz macroengine.tmp +scoreboard players operation $d2d_sq macroengine.tmp = $d2d_dx macroengine.tmp +scoreboard players operation $d2d_sq macroengine.tmp += $d2d_dz macroengine.tmp + +execute if score $d2d_sq macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $d2d_sq macroengine.tmp matches 0 run return 0 + +scoreboard players operation $sqrt_n macroengine.tmp = $d2d_sq macroengine.tmp +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance3d.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance3d.mcfunction new file mode 100644 index 00000000..929255ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/distance3d.mcfunction @@ -0,0 +1,42 @@ +$scoreboard players set $d3d_x1 macroengine.tmp $(x1) +$scoreboard players set $d3d_y1 macroengine.tmp $(y1) +$scoreboard players set $d3d_z1 macroengine.tmp $(z1) +$scoreboard players set $d3d_x2 macroengine.tmp $(x2) +$scoreboard players set $d3d_y2 macroengine.tmp $(y2) +$scoreboard players set $d3d_z2 macroengine.tmp $(z2) + +scoreboard players operation $d3d_dx macroengine.tmp = $d3d_x2 macroengine.tmp +scoreboard players operation $d3d_dx macroengine.tmp -= $d3d_x1 macroengine.tmp + +scoreboard players operation $d3d_dy macroengine.tmp = $d3d_y2 macroengine.tmp +scoreboard players operation $d3d_dy macroengine.tmp -= $d3d_y1 macroengine.tmp + +scoreboard players operation $d3d_dz macroengine.tmp = $d3d_z2 macroengine.tmp +scoreboard players operation $d3d_dz macroengine.tmp -= $d3d_z1 macroengine.tmp + +# Overflow prevention: 3 * 26754² = 2,147,329,548 ≤ INT_MAX (2,147,483,647) +execute if score $d3d_dx macroengine.tmp matches 26755.. run scoreboard players set $d3d_dx macroengine.tmp 26754 +execute if score $d3d_dx macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dx macroengine.tmp -26754 +execute if score $d3d_dy macroengine.tmp matches 26755.. run scoreboard players set $d3d_dy macroengine.tmp 26754 +execute if score $d3d_dy macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dy macroengine.tmp -26754 +execute if score $d3d_dz macroengine.tmp matches 26755.. run scoreboard players set $d3d_dz macroengine.tmp 26754 +execute if score $d3d_dz macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dz macroengine.tmp -26754 + +scoreboard players operation $d3d_dx macroengine.tmp *= $d3d_dx macroengine.tmp +scoreboard players operation $d3d_dy macroengine.tmp *= $d3d_dy macroengine.tmp +scoreboard players operation $d3d_dz macroengine.tmp *= $d3d_dz macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp = $d3d_dx macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp += $d3d_dy macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp += $d3d_dz macroengine.tmp + +execute if score $d3d_sq macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $d3d_sq macroengine.tmp matches 0 run return 0 + +scoreboard players operation $sqrt_n macroengine.tmp = $d3d_sq macroengine.tmp +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/divmod.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/divmod.mcfunction new file mode 100644 index 00000000..109dcf70 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/divmod.mcfunction @@ -0,0 +1,16 @@ +$scoreboard players set $dvm_v macroengine.tmp $(value) +$scoreboard players set $dvm_d macroengine.tmp $(divisor) + +execute if score $dvm_d macroengine.tmp matches ..0 run data modify storage macroengine:output quotient set value 0 +execute if score $dvm_d macroengine.tmp matches ..0 run data modify storage macroengine:output remainder set value 0 +execute if score $dvm_d macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $dvm_q macroengine.tmp = $dvm_v macroengine.tmp +scoreboard players operation $dvm_q macroengine.tmp /= $dvm_d macroengine.tmp +execute store result storage macroengine:output quotient int 1 run scoreboard players get $dvm_q macroengine.tmp + +scoreboard players operation $dvm_v macroengine.tmp %= $dvm_d macroengine.tmp +execute if score $dvm_v macroengine.tmp matches ..-1 run scoreboard players operation $dvm_v macroengine.tmp += $dvm_d macroengine.tmp +execute store result storage macroengine:output remainder int 1 run scoreboard players get $dvm_v macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/divmod ","color":"aqua"},{"text":"($(value)/$(divisor))","color":"gray"},{"text":" → ","color":"#555555"},{"text":"q=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"quotient","color":"green"},{"text":" r=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"remainder","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/factorial.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/factorial.mcfunction new file mode 100644 index 00000000..fbe0907d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/factorial.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/factorial +# Computes n! for integer n in range 0–12. +# Values outside this range are clamped: +# n < 0 → result = 0 (undefined) +# n > 12 → result = 0 (would overflow INT32) +# +# Input : $(n) → non-negative integer +# Output: macroengine:output result → n! +# +# Lookup table approach — avoids recursion overhead and is safe +# against scoreboard overflow (12! = 479001600 < 2147483647). +# +# Example: +# function macroengine:systems/math/factorial {n:5} +# # macroengine:output result = 120 +# function macroengine:systems/math/factorial {n:0} +# # macroengine:output result = 1 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fact_n macroengine.tmp $(n) + +# Out-of-range guard +execute if score $fact_n macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value 0 +execute if score $fact_n macroengine.tmp matches ..-1 run return 0 +execute if score $fact_n macroengine.tmp matches 13.. run data modify storage macroengine:output result set value 0 +execute if score $fact_n macroengine.tmp matches 13.. run return 0 + +# Lookup table 0! – 12! +execute if score $fact_n macroengine.tmp matches 0 run data modify storage macroengine:output result set value 1 +execute if score $fact_n macroengine.tmp matches 1 run data modify storage macroengine:output result set value 1 +execute if score $fact_n macroengine.tmp matches 2 run data modify storage macroengine:output result set value 2 +execute if score $fact_n macroengine.tmp matches 3 run data modify storage macroengine:output result set value 6 +execute if score $fact_n macroengine.tmp matches 4 run data modify storage macroengine:output result set value 24 +execute if score $fact_n macroengine.tmp matches 5 run data modify storage macroengine:output result set value 120 +execute if score $fact_n macroengine.tmp matches 6 run data modify storage macroengine:output result set value 720 +execute if score $fact_n macroengine.tmp matches 7 run data modify storage macroengine:output result set value 5040 +execute if score $fact_n macroengine.tmp matches 8 run data modify storage macroengine:output result set value 40320 +execute if score $fact_n macroengine.tmp matches 9 run data modify storage macroengine:output result set value 362880 +execute if score $fact_n macroengine.tmp matches 10 run data modify storage macroengine:output result set value 3628800 +execute if score $fact_n macroengine.tmp matches 11 run data modify storage macroengine:output result set value 39916800 +execute if score $fact_n macroengine.tmp matches 12 run data modify storage macroengine:output result set value 479001600 + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/factorial ","color":"aqua"},{"text":"$(n)! = ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/gcd.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/gcd.mcfunction new file mode 100644 index 00000000..b7c0a1f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/gcd.mcfunction @@ -0,0 +1,30 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/gcd +# Computes GCD using the Euclidean algorithm. +# Input : $(a), $(b) → integers (may be negative) +# Output: macroengine:output result → GCD(|a|, |b|) +# +# Example: +# data modify storage macroengine:input a set value 48 +# data modify storage macroengine:input b set value 18 +# function macroengine:systems/math/gcd with storage macroengine:input {} +# # macroengine:output result = 6 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $gcd_a macroengine.tmp $(a) +$scoreboard players set $gcd_b macroengine.tmp $(b) + +# Take absolute value +scoreboard players set $gcd_neg macroengine.tmp -1 +execute if score $gcd_a macroengine.tmp matches ..-1 run scoreboard players operation $gcd_a macroengine.tmp *= $gcd_neg macroengine.tmp +execute if score $gcd_b macroengine.tmp matches ..-1 run scoreboard players operation $gcd_b macroengine.tmp *= $gcd_neg macroengine.tmp + +# b=0 → result is a +execute if score $gcd_b macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $gcd_a macroengine.tmp +execute if score $gcd_b macroengine.tmp matches 0 run return 0 + +# Euclidean loop (inner function) +function macroengine:core/internal/systems/math/gcd_loop + +execute store result storage macroengine:output result int 1 run scoreboard players get $gcd_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/gcd ","color":"aqua"},{"text":"($(a),$(b)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/is_between.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/is_between.mcfunction new file mode 100644 index 00000000..aa2b7e8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/is_between.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/is_between +# Checks if value is in the inclusive range [min, max]. +# Input : $(value), $(min), $(max) +# Output: macroengine:output result → 1b (true) or 0b (false) +# +# Example: +# data modify storage macroengine:input value set value 15 +# data modify storage macroengine:input min set value 10 +# data modify storage macroengine:input max set value 20 +# function macroengine:systems/math/is_between with storage macroengine:input {} +# # macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $ib_v macroengine.tmp $(value) +$scoreboard players set $ib_lo macroengine.tmp $(min) +$scoreboard players set $ib_hi macroengine.tmp $(max) + +data modify storage macroengine:output result set value 0b + +execute if score $ib_v macroengine.tmp >= $ib_lo macroengine.tmp run execute if score $ib_v macroengine.tmp <= $ib_hi macroengine.tmp run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/is_between ","color":"aqua"},{"text":"$(value) in [$(min),$(max)] → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lcm.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lcm.mcfunction new file mode 100644 index 00000000..a0c31642 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lcm.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/lcm +# EKOK (LCM) hesaplar: lcm(a,b) = |a*b| / gcd(a,b) +# Input : $(a), $(b) → integers +# Output: macroengine:output result → LCM(a, b) +# NOTE : Overflow risk — result may exceed INT_MAX for large inputs. +# +# Example: +# data modify storage macroengine:input a set value 12 +# data modify storage macroengine:input b set value 8 +# function macroengine:systems/math/lcm with storage macroengine:input {} +# # macroengine:output result = 24 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $lcm_a macroengine.tmp $(a) +$scoreboard players set $lcm_b macroengine.tmp $(b) + +# Zero check +execute if score $lcm_a macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $lcm_a macroengine.tmp matches 0 run return 0 +execute if score $lcm_b macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $lcm_b macroengine.tmp matches 0 run return 0 + +# Absolute value +scoreboard players set $lcm_neg macroengine.tmp -1 +execute if score $lcm_a macroengine.tmp matches ..-1 run scoreboard players operation $lcm_a macroengine.tmp *= $lcm_neg macroengine.tmp +execute if score $lcm_b macroengine.tmp matches ..-1 run scoreboard players operation $lcm_b macroengine.tmp *= $lcm_neg macroengine.tmp + +# Compute GCD (lcm_a, lcm_b share gcd_a, gcd_b variables) +scoreboard players operation $gcd_a macroengine.tmp = $lcm_a macroengine.tmp +scoreboard players operation $gcd_b macroengine.tmp = $lcm_b macroengine.tmp +function macroengine:core/internal/systems/math/gcd_loop + +# lcm = (a / gcd) * b (divide first to prevent overflow) +scoreboard players operation $lcm_a macroengine.tmp /= $gcd_a macroengine.tmp +scoreboard players operation $lcm_a macroengine.tmp *= $lcm_b macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lcm_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/lcm ","color":"aqua"},{"text":"($(a),$(b)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp.mcfunction new file mode 100644 index 00000000..7dd6f687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp.mcfunction @@ -0,0 +1,13 @@ +$scoreboard players set $lerp_a macroengine.tmp $(a) +$scoreboard players set $lerp_b macroengine.tmp $(b) +$scoreboard players set $lerp_t macroengine.tmp $(t) + +scoreboard players operation $lerp_r macroengine.tmp = $lerp_b macroengine.tmp +scoreboard players operation $lerp_r macroengine.tmp -= $lerp_a macroengine.tmp + +scoreboard players operation $lerp_r macroengine.tmp *= $lerp_t macroengine.tmp +scoreboard players set $lerp_100 macroengine.tmp 100 +scoreboard players operation $lerp_r macroengine.tmp /= $lerp_100 macroengine.tmp +scoreboard players operation $lerp_r macroengine.tmp += $lerp_a macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lerp_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp_clamped.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp_clamped.mcfunction new file mode 100644 index 00000000..e5fdf390 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/lerp_clamped.mcfunction @@ -0,0 +1,17 @@ +$scoreboard players set $lc_a macroengine.tmp $(a) +$scoreboard players set $lc_b macroengine.tmp $(b) +$scoreboard players set $lc_t macroengine.tmp $(t) + +execute if score $lc_t macroengine.tmp matches ..-1 run scoreboard players set $lc_t macroengine.tmp 0 +scoreboard players set $lc_100 macroengine.tmp 100 +execute if score $lc_t macroengine.tmp > $lc_100 macroengine.tmp run scoreboard players operation $lc_t macroengine.tmp = $lc_100 macroengine.tmp + +scoreboard players operation $lc_r macroengine.tmp = $lc_b macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp -= $lc_a macroengine.tmp + +scoreboard players operation $lc_r macroengine.tmp *= $lc_t macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp /= $lc_100 macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp += $lc_a macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lc_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/lerp_clamped ","color":"aqua"},{"text":"a=","color":"#555555"},{"text":"$(a)","color":"white"},{"text":" b=","color":"#555555"},{"text":"$(b)","color":"white"},{"text":" t=","color":"#555555"},{"text":"$(t)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/log2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/log2.mcfunction new file mode 100644 index 00000000..246e91ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/log2.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $lg2_v macroengine.tmp $(value) + +execute if score $lg2_v macroengine.tmp matches ..0 run data modify storage macroengine:output result set value -1 +execute if score $lg2_v macroengine.tmp matches ..0 run return 0 + +scoreboard players set $lg2_r macroengine.tmp 0 +scoreboard players set $lg2_2 macroengine.tmp 2 + +function macroengine:core/internal/systems/math/log2_loop + +execute store result storage macroengine:output result int 1 run scoreboard players get $lg2_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/map.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/map.mcfunction new file mode 100644 index 00000000..09f4ee1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/map.mcfunction @@ -0,0 +1,23 @@ +$scoreboard players set $map_v macroengine.tmp $(value) +$scoreboard players set $map_imin macroengine.tmp $(in_min) +$scoreboard players set $map_imax macroengine.tmp $(in_max) +$scoreboard players set $map_omin macroengine.tmp $(out_min) +$scoreboard players set $map_omax macroengine.tmp $(out_max) + +scoreboard players operation $map_ir macroengine.tmp = $map_imax macroengine.tmp +scoreboard players operation $map_ir macroengine.tmp -= $map_imin macroengine.tmp + +execute if score $map_ir macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $map_omin macroengine.tmp +execute if score $map_ir macroengine.tmp matches 0 run return 0 + +scoreboard players operation $map_or macroengine.tmp = $map_omax macroengine.tmp +scoreboard players operation $map_or macroengine.tmp -= $map_omin macroengine.tmp + +scoreboard players operation $map_off macroengine.tmp = $map_v macroengine.tmp +scoreboard players operation $map_off macroengine.tmp -= $map_imin macroengine.tmp + +scoreboard players operation $map_off macroengine.tmp *= $map_or macroengine.tmp +scoreboard players operation $map_off macroengine.tmp /= $map_ir macroengine.tmp +scoreboard players operation $map_off macroengine.tmp += $map_omin macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $map_off macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/max.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/max.mcfunction new file mode 100644 index 00000000..1c1bdae7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/max.mcfunction @@ -0,0 +1,6 @@ +$scoreboard players set $max_a macroengine.tmp $(a) +$scoreboard players set $max_b macroengine.tmp $(b) + +execute store result storage macroengine:output result int 1 run scoreboard players get $max_a macroengine.tmp + +execute if score $max_b macroengine.tmp > $max_a macroengine.tmp run execute store result storage macroengine:output result int 1 run scoreboard players get $max_b macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/min.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/min.mcfunction new file mode 100644 index 00000000..e16a9c49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/min.mcfunction @@ -0,0 +1,6 @@ +$scoreboard players set $min_a macroengine.tmp $(a) +$scoreboard players set $min_b macroengine.tmp $(b) + +execute store result storage macroengine:output result int 1 run scoreboard players get $min_a macroengine.tmp + +execute if score $min_b macroengine.tmp < $min_a macroengine.tmp run execute store result storage macroengine:output result int 1 run scoreboard players get $min_b macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/minmax.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/minmax.mcfunction new file mode 100644 index 00000000..4f670e3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/minmax.mcfunction @@ -0,0 +1,13 @@ +$scoreboard players set $mmx_a macroengine.tmp $(a) +$scoreboard players set $mmx_b macroengine.tmp $(b) + +scoreboard players operation $mmx_lo macroengine.tmp = $mmx_a macroengine.tmp +execute if score $mmx_b macroengine.tmp < $mmx_a macroengine.tmp run scoreboard players operation $mmx_lo macroengine.tmp = $mmx_b macroengine.tmp + +scoreboard players operation $mmx_hi macroengine.tmp = $mmx_a macroengine.tmp +execute if score $mmx_b macroengine.tmp > $mmx_a macroengine.tmp run scoreboard players operation $mmx_hi macroengine.tmp = $mmx_b macroengine.tmp + +execute store result storage macroengine:output min int 1 run scoreboard players get $mmx_lo macroengine.tmp +execute store result storage macroengine:output max int 1 run scoreboard players get $mmx_hi macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/minmax ","color":"aqua"},{"text":"($(a),$(b))","color":"gray"},{"text":" → ","color":"#555555"},{"text":"min=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"min","color":"green"},{"text":" max=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"max","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mod.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mod.mcfunction new file mode 100644 index 00000000..19b3a2ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mod.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $mod_v macroengine.tmp $(value) +$scoreboard players set $mod_d macroengine.tmp $(divisor) + +execute if score $mod_d macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $mod_d macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $mod_v macroengine.tmp %= $mod_d macroengine.tmp + +execute if score $mod_v macroengine.tmp matches ..-1 run scoreboard players operation $mod_v macroengine.tmp += $mod_d macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $mod_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mul_div.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mul_div.mcfunction new file mode 100644 index 00000000..b0f61f69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/mul_div.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/mul_div +# Computes floor(a * b / c) without 32-bit integer overflow. +# Uses the identity: floor(a*b/c) = (a/c)*b + (a%c)*b/c +# This avoids overflow when a*b would exceed ±2147483647. +# Input : $(a), $(b), $(c) → integers; c must not be 0 +# Output: macroengine:output result → floor(a * b / c) +# +# Note: if (a % c) * b still overflows (e.g. huge b with c=1), +# the result is clamped by Java's 32-bit signed wrapping. +# For those cases, reduce inputs before calling. +# +# Example: +# data modify storage macroengine:input a set value 1000000 +# data modify storage macroengine:input b set value 1000000 +# data modify storage macroengine:input c set value 500000 +# function macroengine:systems/math/mul_div with storage macroengine:input {} +# # macroengine:output result = 2000000 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $md_a macroengine.tmp $(a) +$scoreboard players set $md_b macroengine.tmp $(b) +$scoreboard players set $md_c macroengine.tmp $(c) + +# Guard: c = 0 → undefined, return 0 +execute if score $md_c macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $md_c macroengine.tmp matches 0 run return 0 + +# q = a / c (integer quotient) +scoreboard players operation $md_q macroengine.tmp = $md_a macroengine.tmp +scoreboard players operation $md_q macroengine.tmp /= $md_c macroengine.tmp + +# r = a % c (remainder, Java truncated — may be negative) +scoreboard players operation $md_r macroengine.tmp = $md_a macroengine.tmp +scoreboard players operation $md_r macroengine.tmp %= $md_c macroengine.tmp + +# result = q * b + r * b / c +scoreboard players operation $md_q macroengine.tmp *= $md_b macroengine.tmp +scoreboard players operation $md_r macroengine.tmp *= $md_b macroengine.tmp +scoreboard players operation $md_r macroengine.tmp /= $md_c macroengine.tmp +scoreboard players operation $md_q macroengine.tmp += $md_r macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $md_q macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/mul_div ","color":"aqua"},{"text":"($(a)*$(b)/$(c)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/pow.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/pow.mcfunction new file mode 100644 index 00000000..952580dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/pow.mcfunction @@ -0,0 +1,9 @@ +$scoreboard players set $pow_a macroengine.tmp $(a) +$scoreboard players set $pow_n macroengine.tmp $(n) +scoreboard players set $pow_r macroengine.tmp 1 + +execute if score $pow_n macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $pow_r macroengine.tmp +execute if score $pow_n macroengine.tmp matches 0 run return 0 + +function macroengine:core/internal/systems/math/pow_loop +execute store result storage macroengine:output result int 1 run scoreboard players get $pow_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/random.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/random.mcfunction new file mode 100644 index 00000000..f3b18700 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/random.mcfunction @@ -0,0 +1,30 @@ +$scoreboard players set $rnd_min macroengine.tmp $(min) +$scoreboard players set $rnd_max macroengine.tmp $(max) + +scoreboard players operation $rnd_max macroengine.tmp -= $rnd_min macroengine.tmp +scoreboard players add $rnd_max macroengine.tmp 1 + +execute if data storage macroengine:engine _rng_state run execute store result score $rnd macroengine.tmp run data get storage macroengine:engine _rng_state +execute unless data storage macroengine:engine _rng_state run execute store result score $rnd macroengine.tmp run scoreboard players get $epoch macroengine.time +execute unless data storage macroengine:engine _rng_state run scoreboard players add $rnd macroengine.tmp 57005 + +scoreboard players set $rnd_tick macroengine.tmp 31 +execute store result score $rnd_t macroengine.tmp run scoreboard players get $tick macroengine.tmp +scoreboard players operation $rnd_t macroengine.tmp *= $rnd_tick macroengine.tmp +scoreboard players operation $rnd macroengine.tmp += $rnd_t macroengine.tmp + +scoreboard players set $rnd_a macroengine.tmp 1664525 +scoreboard players operation $rnd macroengine.tmp *= $rnd_a macroengine.tmp +scoreboard players add $rnd macroengine.tmp 1013904223 + +execute store result storage macroengine:engine _rng_state int 1 run scoreboard players get $rnd macroengine.tmp + +execute if score $rnd macroengine.tmp matches -2147483648 run scoreboard players set $rnd macroengine.tmp 2147483647 +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players set $rnd_neg macroengine.tmp -1 +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players operation $rnd macroengine.tmp *= $rnd_neg macroengine.tmp + +scoreboard players operation $rnd macroengine.tmp %= $rnd_max macroengine.tmp +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players operation $rnd macroengine.tmp += $rnd_max macroengine.tmp +scoreboard players operation $rnd macroengine.tmp += $rnd_min macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $rnd macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/round.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/round.mcfunction new file mode 100644 index 00000000..fc709a5b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/round.mcfunction @@ -0,0 +1,35 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/round +# Rounds a value to the nearest multiple of a given step. +# Integer division truncates toward zero; adding half the step before +# dividing gives standard rounding (0.5 rounds away from zero). +# +# INPUT : $(value) → integer to round +# $(step) → rounding step (must be > 0) +# OUTPUT: macroengine:output result → rounded value +# +# EXAMPLE: +# function macroengine:systems/math/round {value:37, step:10} +# → macroengine:output result = 40 +# function macroengine:systems/math/round {value:34, step:10} +# → macroengine:output result = 30 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #rnd_v macroengine.tmp $(value) +$scoreboard players set #rnd_s macroengine.tmp $(step) + +execute if score #rnd_s macroengine.tmp matches ..0 run return fail + +# add half step for rounding (integer division: step=10 → half=5) +scoreboard players operation #rnd_half macroengine.tmp = #rnd_s macroengine.tmp +scoreboard players set #rnd_2 macroengine.tmp 2 +scoreboard players operation #rnd_half macroengine.tmp /= #rnd_2 macroengine.tmp + +execute if score #rnd_v macroengine.tmp matches 0.. run scoreboard players operation #rnd_v macroengine.tmp += #rnd_half macroengine.tmp +execute if score #rnd_v macroengine.tmp matches ..-1 run scoreboard players operation #rnd_v macroengine.tmp -= #rnd_half macroengine.tmp + +scoreboard players operation #rnd_v macroengine.tmp /= #rnd_s macroengine.tmp +scoreboard players operation #rnd_v macroengine.tmp *= #rnd_s macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get #rnd_v macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/round ","color":"aqua"},{"text":"$(value) step=$(step) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign.mcfunction new file mode 100644 index 00000000..88c282f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $sign_v macroengine.tmp $(value) +execute if score $sign_v macroengine.tmp matches 1.. run data modify storage macroengine:output result set value 1 +execute if score $sign_v macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $sign_v macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value -1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign_nonzero.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign_nonzero.mcfunction new file mode 100644 index 00000000..c61d7599 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sign_nonzero.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/sign_nonzero +# Returns -1 for negative, +1 for zero-or-positive. +# Useful when you need a non-zero multiplier (e.g. direction vectors). +# +# INPUT : $(value) → integer +# OUTPUT: macroengine:output result → 1 or -1 +# +# EXAMPLE: +# function macroengine:systems/math/sign_nonzero {value:-5} +# → macroengine:output result = -1 +# function macroengine:systems/math/sign_nonzero {value:0} +# → macroengine:output result = 1 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #snz_v macroengine.tmp $(value) +data modify storage macroengine:output result set value 1 +execute if score #snz_v macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value -1 +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sign_nonzero ","color":"aqua"},{"text":"$(value) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sin.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sin.mcfunction new file mode 100644 index 00000000..f8a82306 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sin.mcfunction @@ -0,0 +1,115 @@ +$scoreboard players set $sin_d macroengine.tmp $(deg) + +# Wrap to range 0-359 +scoreboard players set $sin_360 macroengine.tmp 360 +scoreboard players operation $sin_d macroengine.tmp %= $sin_360 macroengine.tmp +execute if score $sin_d macroengine.tmp matches ..-1 run scoreboard players operation $sin_d macroengine.tmp += $sin_360 macroengine.tmp + +# Sign: 180-359 → negative +scoreboard players set $sin_nf macroengine.tmp 1 +execute if score $sin_d macroengine.tmp matches 180..359 run scoreboard players set $sin_nf macroengine.tmp -1 +# 180-359 → map down to 0-179 +execute if score $sin_d macroengine.tmp matches 180..359 run scoreboard players remove $sin_d macroengine.tmp 180 + +# 91-179 → symmetry: sin(deg) = sin(180-deg) +# tmp2 = 180 - sin_d (only for range 91-179) +scoreboard players set $sin_180 macroengine.tmp 180 +execute if score $sin_d macroengine.tmp matches 91..179 run scoreboard players operation $sin_180 macroengine.tmp -= $sin_d macroengine.tmp +execute if score $sin_d macroengine.tmp matches 91..179 run scoreboard players operation $sin_d macroengine.tmp = $sin_180 macroengine.tmp + +# Lookup table 0-90 → sin × 1000 +execute if score $sin_d macroengine.tmp matches 0 run scoreboard players set $sin_r macroengine.tmp 0 +execute if score $sin_d macroengine.tmp matches 1 run scoreboard players set $sin_r macroengine.tmp 17 +execute if score $sin_d macroengine.tmp matches 2 run scoreboard players set $sin_r macroengine.tmp 35 +execute if score $sin_d macroengine.tmp matches 3 run scoreboard players set $sin_r macroengine.tmp 52 +execute if score $sin_d macroengine.tmp matches 4 run scoreboard players set $sin_r macroengine.tmp 70 +execute if score $sin_d macroengine.tmp matches 5 run scoreboard players set $sin_r macroengine.tmp 87 +execute if score $sin_d macroengine.tmp matches 6 run scoreboard players set $sin_r macroengine.tmp 105 +execute if score $sin_d macroengine.tmp matches 7 run scoreboard players set $sin_r macroengine.tmp 122 +execute if score $sin_d macroengine.tmp matches 8 run scoreboard players set $sin_r macroengine.tmp 139 +execute if score $sin_d macroengine.tmp matches 9 run scoreboard players set $sin_r macroengine.tmp 156 +execute if score $sin_d macroengine.tmp matches 10 run scoreboard players set $sin_r macroengine.tmp 174 +execute if score $sin_d macroengine.tmp matches 11 run scoreboard players set $sin_r macroengine.tmp 191 +execute if score $sin_d macroengine.tmp matches 12 run scoreboard players set $sin_r macroengine.tmp 208 +execute if score $sin_d macroengine.tmp matches 13 run scoreboard players set $sin_r macroengine.tmp 225 +execute if score $sin_d macroengine.tmp matches 14 run scoreboard players set $sin_r macroengine.tmp 242 +execute if score $sin_d macroengine.tmp matches 15 run scoreboard players set $sin_r macroengine.tmp 259 +execute if score $sin_d macroengine.tmp matches 16 run scoreboard players set $sin_r macroengine.tmp 276 +execute if score $sin_d macroengine.tmp matches 17 run scoreboard players set $sin_r macroengine.tmp 292 +execute if score $sin_d macroengine.tmp matches 18 run scoreboard players set $sin_r macroengine.tmp 309 +execute if score $sin_d macroengine.tmp matches 19 run scoreboard players set $sin_r macroengine.tmp 326 +execute if score $sin_d macroengine.tmp matches 20 run scoreboard players set $sin_r macroengine.tmp 342 +execute if score $sin_d macroengine.tmp matches 21 run scoreboard players set $sin_r macroengine.tmp 358 +execute if score $sin_d macroengine.tmp matches 22 run scoreboard players set $sin_r macroengine.tmp 375 +execute if score $sin_d macroengine.tmp matches 23 run scoreboard players set $sin_r macroengine.tmp 391 +execute if score $sin_d macroengine.tmp matches 24 run scoreboard players set $sin_r macroengine.tmp 407 +execute if score $sin_d macroengine.tmp matches 25 run scoreboard players set $sin_r macroengine.tmp 423 +execute if score $sin_d macroengine.tmp matches 26 run scoreboard players set $sin_r macroengine.tmp 438 +execute if score $sin_d macroengine.tmp matches 27 run scoreboard players set $sin_r macroengine.tmp 454 +execute if score $sin_d macroengine.tmp matches 28 run scoreboard players set $sin_r macroengine.tmp 469 +execute if score $sin_d macroengine.tmp matches 29 run scoreboard players set $sin_r macroengine.tmp 485 +execute if score $sin_d macroengine.tmp matches 30 run scoreboard players set $sin_r macroengine.tmp 500 +execute if score $sin_d macroengine.tmp matches 31 run scoreboard players set $sin_r macroengine.tmp 515 +execute if score $sin_d macroengine.tmp matches 32 run scoreboard players set $sin_r macroengine.tmp 530 +execute if score $sin_d macroengine.tmp matches 33 run scoreboard players set $sin_r macroengine.tmp 545 +execute if score $sin_d macroengine.tmp matches 34 run scoreboard players set $sin_r macroengine.tmp 559 +execute if score $sin_d macroengine.tmp matches 35 run scoreboard players set $sin_r macroengine.tmp 574 +execute if score $sin_d macroengine.tmp matches 36 run scoreboard players set $sin_r macroengine.tmp 588 +execute if score $sin_d macroengine.tmp matches 37 run scoreboard players set $sin_r macroengine.tmp 602 +execute if score $sin_d macroengine.tmp matches 38 run scoreboard players set $sin_r macroengine.tmp 616 +execute if score $sin_d macroengine.tmp matches 39 run scoreboard players set $sin_r macroengine.tmp 629 +execute if score $sin_d macroengine.tmp matches 40 run scoreboard players set $sin_r macroengine.tmp 643 +execute if score $sin_d macroengine.tmp matches 41 run scoreboard players set $sin_r macroengine.tmp 656 +execute if score $sin_d macroengine.tmp matches 42 run scoreboard players set $sin_r macroengine.tmp 669 +execute if score $sin_d macroengine.tmp matches 43 run scoreboard players set $sin_r macroengine.tmp 682 +execute if score $sin_d macroengine.tmp matches 44 run scoreboard players set $sin_r macroengine.tmp 695 +execute if score $sin_d macroengine.tmp matches 45 run scoreboard players set $sin_r macroengine.tmp 707 +execute if score $sin_d macroengine.tmp matches 46 run scoreboard players set $sin_r macroengine.tmp 719 +execute if score $sin_d macroengine.tmp matches 47 run scoreboard players set $sin_r macroengine.tmp 731 +execute if score $sin_d macroengine.tmp matches 48 run scoreboard players set $sin_r macroengine.tmp 743 +execute if score $sin_d macroengine.tmp matches 49 run scoreboard players set $sin_r macroengine.tmp 755 +execute if score $sin_d macroengine.tmp matches 50 run scoreboard players set $sin_r macroengine.tmp 766 +execute if score $sin_d macroengine.tmp matches 51 run scoreboard players set $sin_r macroengine.tmp 777 +execute if score $sin_d macroengine.tmp matches 52 run scoreboard players set $sin_r macroengine.tmp 788 +execute if score $sin_d macroengine.tmp matches 53 run scoreboard players set $sin_r macroengine.tmp 799 +execute if score $sin_d macroengine.tmp matches 54 run scoreboard players set $sin_r macroengine.tmp 809 +execute if score $sin_d macroengine.tmp matches 55 run scoreboard players set $sin_r macroengine.tmp 819 +execute if score $sin_d macroengine.tmp matches 56 run scoreboard players set $sin_r macroengine.tmp 829 +execute if score $sin_d macroengine.tmp matches 57 run scoreboard players set $sin_r macroengine.tmp 839 +execute if score $sin_d macroengine.tmp matches 58 run scoreboard players set $sin_r macroengine.tmp 848 +execute if score $sin_d macroengine.tmp matches 59 run scoreboard players set $sin_r macroengine.tmp 857 +execute if score $sin_d macroengine.tmp matches 60 run scoreboard players set $sin_r macroengine.tmp 866 +execute if score $sin_d macroengine.tmp matches 61 run scoreboard players set $sin_r macroengine.tmp 875 +execute if score $sin_d macroengine.tmp matches 62 run scoreboard players set $sin_r macroengine.tmp 883 +execute if score $sin_d macroengine.tmp matches 63 run scoreboard players set $sin_r macroengine.tmp 891 +execute if score $sin_d macroengine.tmp matches 64 run scoreboard players set $sin_r macroengine.tmp 899 +execute if score $sin_d macroengine.tmp matches 65 run scoreboard players set $sin_r macroengine.tmp 906 +execute if score $sin_d macroengine.tmp matches 66 run scoreboard players set $sin_r macroengine.tmp 914 +execute if score $sin_d macroengine.tmp matches 67 run scoreboard players set $sin_r macroengine.tmp 921 +execute if score $sin_d macroengine.tmp matches 68 run scoreboard players set $sin_r macroengine.tmp 927 +execute if score $sin_d macroengine.tmp matches 69 run scoreboard players set $sin_r macroengine.tmp 934 +execute if score $sin_d macroengine.tmp matches 70 run scoreboard players set $sin_r macroengine.tmp 940 +execute if score $sin_d macroengine.tmp matches 71 run scoreboard players set $sin_r macroengine.tmp 946 +execute if score $sin_d macroengine.tmp matches 72 run scoreboard players set $sin_r macroengine.tmp 951 +execute if score $sin_d macroengine.tmp matches 73 run scoreboard players set $sin_r macroengine.tmp 956 +execute if score $sin_d macroengine.tmp matches 74 run scoreboard players set $sin_r macroengine.tmp 961 +execute if score $sin_d macroengine.tmp matches 75 run scoreboard players set $sin_r macroengine.tmp 966 +execute if score $sin_d macroengine.tmp matches 76 run scoreboard players set $sin_r macroengine.tmp 970 +execute if score $sin_d macroengine.tmp matches 77 run scoreboard players set $sin_r macroengine.tmp 974 +execute if score $sin_d macroengine.tmp matches 78 run scoreboard players set $sin_r macroengine.tmp 978 +execute if score $sin_d macroengine.tmp matches 79 run scoreboard players set $sin_r macroengine.tmp 982 +execute if score $sin_d macroengine.tmp matches 80 run scoreboard players set $sin_r macroengine.tmp 985 +execute if score $sin_d macroengine.tmp matches 81 run scoreboard players set $sin_r macroengine.tmp 988 +execute if score $sin_d macroengine.tmp matches 82 run scoreboard players set $sin_r macroengine.tmp 990 +execute if score $sin_d macroengine.tmp matches 83 run scoreboard players set $sin_r macroengine.tmp 993 +execute if score $sin_d macroengine.tmp matches 84 run scoreboard players set $sin_r macroengine.tmp 995 +execute if score $sin_d macroengine.tmp matches 85 run scoreboard players set $sin_r macroengine.tmp 996 +execute if score $sin_d macroengine.tmp matches 86 run scoreboard players set $sin_r macroengine.tmp 998 +execute if score $sin_d macroengine.tmp matches 87 run scoreboard players set $sin_r macroengine.tmp 999 +execute if score $sin_d macroengine.tmp matches 88 run scoreboard players set $sin_r macroengine.tmp 999 +execute if score $sin_d macroengine.tmp matches 89 run scoreboard players set $sin_r macroengine.tmp 1000 +execute if score $sin_d macroengine.tmp matches 90 run scoreboard players set $sin_r macroengine.tmp 1000 + +scoreboard players operation $sin_r macroengine.tmp *= $sin_nf macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $sin_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sin ","color":"aqua"},{"text":"deg=$(deg) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sqrt.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sqrt.mcfunction new file mode 100644 index 00000000..9ca35c19 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sqrt.mcfunction @@ -0,0 +1,16 @@ +$scoreboard players set $sqrt_n macroengine.tmp $(value) + +execute if score $sqrt_n macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $sqrt_n macroengine.tmp matches ..0 run return 0 + +execute if score $sqrt_n macroengine.tmp matches 1 run data modify storage macroengine:output result set value 1 +execute if score $sqrt_n macroengine.tmp matches 1 run return 0 + +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 + +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sum3.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sum3.mcfunction new file mode 100644 index 00000000..b946ce20 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/sum3.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/sum3 +# Adds three integers with INT_MAX overflow guard. +# Input : $(a), $(b), $(c) +# Output: macroengine:output result → a + b + c (clamped to 2147483647) +# +# Example: +# data modify storage macroengine:input a set value 100 +# data modify storage macroengine:input b set value 200 +# data modify storage macroengine:input c set value 300 +# function macroengine:systems/math/sum3 with storage macroengine:input {} +# # macroengine:output result = 600 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $s3_a macroengine.tmp $(a) +$scoreboard players set $s3_b macroengine.tmp $(b) +$scoreboard players set $s3_c macroengine.tmp $(c) + +scoreboard players operation $s3_a macroengine.tmp += $s3_b macroengine.tmp +# Overflow clamp after first add +execute if score $s3_a macroengine.tmp matches 2147483647.. run scoreboard players set $s3_a macroengine.tmp 2147483647 + +scoreboard players operation $s3_a macroengine.tmp += $s3_c macroengine.tmp +# Overflow clamp after second add +execute if score $s3_a macroengine.tmp matches 2147483647.. run scoreboard players set $s3_a macroengine.tmp 2147483647 + +execute store result storage macroengine:output result int 1 run scoreboard players get $s3_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sum3 ","color":"aqua"},{"text":"($(a)+$(b)+$(c)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/add.mcfunction new file mode 100644 index 00000000..90a1b24d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/add.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/add +# Adds two 3D vectors. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/add_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/angle_between.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/angle_between.mcfunction new file mode 100644 index 00000000..079b2f1b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/angle_between.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/angle_between +# Returns the angle between two vectors in degrees. +# cos(θ) = dot(A,B) / (|A| × |B|) → θ = arccos(...) +# Uses ×1000 fixed-point cos table for arccos. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output result (0–180, integer degrees) +# result=0 for zero vectors. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/angle_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/cross.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/cross.mcfunction new file mode 100644 index 00000000..a6de37ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/cross.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/cross +# Computes the cross product of two vectors. +# cx = ay*bz - az*by +# cy = az*bx - ax*bz +# cz = ax*by - ay*bx +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/cross_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/dot.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/dot.mcfunction new file mode 100644 index 00000000..93160343 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/dot.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/dot +# Computes the dot product of two vectors. (ax*bx + ay*by + az*bz) +# Result is integer — no fractions. May overflow for large vectors. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output result (int) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/dot_exec with storage macroengine:engine _vec_dot_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/normalize.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/normalize.mcfunction new file mode 100644 index 00000000..0309fded --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/normalize.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/normalize +# Scales vector to unit length (×1000 fixed-point). +# Length computed via math/distance3d (floor(√(x²+y²+z²))). +# Results are ×1000 — divide by 1000 before using as direction vector. +# +# INPUT: x, y, z +# OUTPUT: macroengine:output {x, y, z, length} +# If length=0, zero vector — returns x,y,z=0. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/normalize_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/sub.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/sub.mcfunction new file mode 100644 index 00000000..468cd328 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/vec/sub.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/sub +# Subtracts vector B from vector A. (A - B) +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/sub_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/weighted_random.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/weighted_random.mcfunction new file mode 100644 index 00000000..8b23f0c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/weighted_random.mcfunction @@ -0,0 +1,59 @@ +$scoreboard players set $wr_total macroengine.tmp $(total) + +execute if score $wr_total macroengine.tmp matches ..0 run data modify storage macroengine:output result set value -1 +execute if score $wr_total macroengine.tmp matches ..0 run return 0 + +# Draw random in range 0..total-1 +data modify storage macroengine:engine _math_rnd_tmp.min set value 0 +scoreboard players remove $wr_total macroengine.tmp 1 +execute store result storage macroengine:engine _math_rnd_tmp.max int 1 run scoreboard players get $wr_total macroengine.tmp +function macroengine:systems/math/random with storage macroengine:engine _math_rnd_tmp + +execute store result score $wr_roll macroengine.tmp run data get storage macroengine:output result +execute store result storage macroengine:output roll int 1 run scoreboard players get $wr_roll macroengine.tmp + +data modify storage macroengine:output result set value -1 +scoreboard players set $wr_done macroengine.tmp 0 + +# Cumulative threshold check +$scoreboard players set $wr_acc macroengine.tmp $(w0) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 0 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w1) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 1 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w2) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 2 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w3) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 3 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w4) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 4 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w5) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 5 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w6) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 6 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w7) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 7 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w8) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 8 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w9) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 9 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/weighted_random ","color":"aqua"},{"text":"total=$(total) roll=","color":"gray"},{"score":{"name":"$wr_roll","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/wrap.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/wrap.mcfunction new file mode 100644 index 00000000..207f7829 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/math/wrap.mcfunction @@ -0,0 +1,19 @@ +$scoreboard players set $wrap_v macroengine.tmp $(value) +$scoreboard players set $wrap_min macroengine.tmp $(min) +$scoreboard players set $wrap_max macroengine.tmp $(max) + +scoreboard players operation $wrap_r macroengine.tmp = $wrap_max macroengine.tmp +scoreboard players operation $wrap_r macroengine.tmp -= $wrap_min macroengine.tmp + +execute if score $wrap_r macroengine.tmp matches ..0 run execute store result storage macroengine:output result int 1 run scoreboard players get $wrap_min macroengine.tmp +execute if score $wrap_r macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $wrap_off macroengine.tmp = $wrap_v macroengine.tmp +scoreboard players operation $wrap_off macroengine.tmp -= $wrap_min macroengine.tmp + +scoreboard players operation $wrap_off macroengine.tmp %= $wrap_r macroengine.tmp +execute if score $wrap_off macroengine.tmp matches ..-1 run scoreboard players operation $wrap_off macroengine.tmp += $wrap_r macroengine.tmp + +scoreboard players operation $wrap_off macroengine.tmp += $wrap_min macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $wrap_off macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/append.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/append.mcfunction new file mode 100644 index 00000000..eb29d6e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/append.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/append +# Appends an element from another storage path to a list in storage. +# +# INPUT (storage macroengine:input): +# dst_storage → destination storage +# dst_path → destination list path +# src_storage → source storage +# src_path → path of the value to append +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/append_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/clear.mcfunction new file mode 100644 index 00000000..8db1f2a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/clear.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/clear +# Removes a specific path from storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → path to remove +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/clear_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/copy.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/copy.mcfunction new file mode 100644 index 00000000..2eb1ec63 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/copy.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/copy +# Copies a path between two storages or within the same storage. +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace (e.g. "macroengine:engine") +# src_path → source NBT path (e.g. "players.Steve") +# dst_storage → destination storage namespace +# dst_path → destination NBT path +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "players.Steve" +# data modify storage macroengine:input dst_storage set value "mypack:data" +# data modify storage macroengine:input dst_path set value "backup.Steve" +# function macroengine:systems/nbt/copy +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/copy_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/count.mcfunction new file mode 100644 index 00000000..2af68ba6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/count.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/count +# Returns the element count of a list in storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → list path +# +# OUTPUT: macroengine:output result (int) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/count_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/exists.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/exists.mcfunction new file mode 100644 index 00000000..a44a8298 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/exists.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/exists +# Checks whether a specific path exists in storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → path to check +# +# OUTPUT: macroengine:output result → 1b (exists) or 0b (not found) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/exists_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/first.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/first.mcfunction new file mode 100644 index 00000000..f8bc13f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/first.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/first +# Copies the first element [0] of a list at src_path into dst_path. +# If the list is empty or path does not exist, does nothing (silent fail). +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace +# src_path → list path (element [0] will be read) +# dst_storage → destination storage namespace +# dst_path → destination path to write into +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "event_queue" +# data modify storage macroengine:input dst_storage set value "macroengine:output" +# data modify storage macroengine:input dst_path set value "result" +# function macroengine:systems/nbt/first +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/first_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/merge.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/merge.mcfunction new file mode 100644 index 00000000..84f0cbb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/merge.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/merge +# Merges a compound from src_storage:src_path into dst_storage:dst_path. +# Equivalent to: data modify merge from +# Existing keys in dst are overwritten by src values; missing keys added. +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace (e.g. "macroengine:engine") +# src_path → source compound path +# dst_storage → destination storage namespace +# dst_path → destination compound path +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "players.Steve" +# data modify storage macroengine:input dst_storage set value "mypack:data" +# data modify storage macroengine:input dst_path set value "backup.Steve" +# function macroengine:systems/nbt/merge +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/merge_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/move.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/move.mcfunction new file mode 100644 index 00000000..e1974987 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/move.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/move +# Moves a path within the same storage (copy + delete). +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# from_path → source path +# to_path → destination path +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/move_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/pop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/pop.mcfunction new file mode 100644 index 00000000..a9ed54c1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/pop.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/pop +# Copies the first element of a list to macroengine:output result and removes it. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → list path +# +# OUTPUT: macroengine:output result (popped element) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/pop_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/swap.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/swap.mcfunction new file mode 100644 index 00000000..36143a45 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/nbt/swap.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/swap +# Swaps the values of two paths within the same storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path_a → birinci path +# path_b → ikinci path +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/swap_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/channel/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/channel/check.mcfunction new file mode 100644 index 00000000..07cfd824 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/channel/check.mcfunction @@ -0,0 +1,16 @@ +# macroengine:systems/rate_limit/channel/check — Per-channel rate guard [MACRO] +# +# Prevents a tick channel's function from running too frequently even if +# the channel itself fires every tick. Place at the TOP of the channel function. +# +# Usage (inside your channel function): +# function macroengine:systems/rate_limit/channel/check {id:"my_channel"} +# execute if data storage macroengine:output {result:0b} run return 0 +# # ... rest of channel logic +# +# Rule must be registered via: +# function macroengine:systems/rate_limit/channel/config {id:"my_channel",limit:5,window:20} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +$function macroengine:systems/rate_limit/check {key:"channel:$(id)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/check.mcfunction new file mode 100644 index 00000000..90d6fb5b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/check.mcfunction @@ -0,0 +1,36 @@ +# macroengine:systems/rate_limit/check — Sliding window check + consume [MACRO] +# +# The core API call. Checks whether the key is under its configured limit +# for the current sliding window, then records this hit. +# +# Output → macroengine:output result +# 1b = ALLOWED (hit was recorded, call may proceed) +# 0b = DENIED (limit reached, hit NOT recorded) +# +# Usage: +# function macroengine:systems/rate_limit/check {key:"global:my_event"} +# execute if data storage macroengine:output {result:1b} run function my_ns:do_thing +# +# For per-player (build key in caller): +# $function macroengine:systems/rate_limit/check {key:"player:shop:$(player)"} +# +# Rule must be pre-registered via macroengine:systems/rate_limit/config. +# If no rule exists for the key → ALLOWED (fail-open; log warning). + +data modify storage macroengine:output result set value 1b + +# Guard: rule must exist — try auto-create from player template first +# Key format "player::" → tpl is the second segment +# We attempt player_ensure unconditionally; it exits early if not a player key or no template +$data modify storage macroengine:rl_work ensure_key set value "$(key)" +function macroengine:core/internal/systems/rate_limit/player_check with storage macroengine:rl_work + +$execute unless data storage macroengine:engine rate_limit.rules.$(key) run function macroengine:core/internal/systems/rate_limit/no_rule +$execute unless data storage macroengine:engine rate_limit.rules.$(key) run return 0 + +# Copy rule into work storage with key context +$data modify storage macroengine:rl_work rule set from storage macroengine:engine rate_limit.rules.$(key) +$data modify storage macroengine:rl_work rule.key set value "$(key)" + +# Run the sliding window evaluation +function macroengine:core/internal/systems/rate_limit/evaluate with storage macroengine:rl_work rule diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/config.mcfunction new file mode 100644 index 00000000..edd0ce07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/config.mcfunction @@ -0,0 +1,23 @@ +# macroengine:systems/rate_limit/config — Register or update a rate limit rule [MACRO] +# +# Creates or replaces a sliding window rule for any key. +# Rules survive reloads because they live in macroengine:engine storage. +# +# Usage: +# function macroengine:systems/rate_limit/config {key:"global:my_event",limit:5,window:100} +# function macroengine:systems/rate_limit/config {key:"player:Steve:shop",limit:3,window:600} +# function macroengine:systems/rate_limit/config {key:"channel:admin_systems",limit:10,window:20} +# +# Fields: +# key (string) — unique rule identifier; convention: +# "global:" → server-wide shared bucket +# "player::" → per-player bucket (use $(player)) +# "channel:" → tick-channel guard +# limit (int) — max number of hits allowed inside the window +# window (int) — sliding window width in ticks (20 = 1 second) +# +# Removing a rule: function macroengine:systems/rate_limit/delete {key:"..."} +# Listing rules: function macroengine:systems/rate_limit/list + +$data modify storage macroengine:engine rate_limit.rules.$(key) set value {limit:$(limit),window:$(window),hits:[]} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/config ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(key)","color":"white"},{"text":" limit=","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":" window=","color":"#555555"},{"text":"$(window)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/check.mcfunction new file mode 100644 index 00000000..b23ae868 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/check.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/rate_limit/global/check — Global sliding window check [MACRO] +# +# Convenience wrapper for global (server-wide) rate limits. +# All players share the same bucket under this key. +# +# Usage: +# function macroengine:systems/rate_limit/global/check {key:"boss_spawn"} +# +# Rule must be registered via: +# function macroengine:systems/rate_limit/global/config {key:"boss_spawn",limit:1,window:24000} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +$function macroengine:systems/rate_limit/check {key:"global:$(key)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/config.mcfunction new file mode 100644 index 00000000..5597125b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/global/config.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/rate_limit/global/config — Register a global (server-wide) rate limit [MACRO] +# +# Usage: +# function macroengine:systems/rate_limit/global/config {key:"boss_spawn",limit:1,window:24000} +# +# Equivalent to: +# function macroengine:systems/rate_limit/config {key:"global:boss_spawn",limit:1,window:24000} + +$function macroengine:systems/rate_limit/config {key:"global:$(key)",limit:$(limit),window:$(window)} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/check.mcfunction new file mode 100644 index 00000000..7f4b90fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/check.mcfunction @@ -0,0 +1,18 @@ +# macroengine:systems/rate_limit/player/check — Per-player sliding window check [MACRO] +# +# Builds the compound key "player::" and ensures the bucket exists. +# If no bucket exists yet for this player, auto-creates from the player_template. +# +# Usage: +# $function macroengine:systems/rate_limit/player/check {key:"shop",player:"$(player)"} +# +# Rule template must be registered via: +# function macroengine:systems/rate_limit/player/config {key:"shop",limit:3,window:600} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +# Auto-seed: if bucket for this player+key doesn't exist, create from template +$execute unless data storage macroengine:engine "rate_limit.rules.player:$(key):$(player)" run function macroengine:core/internal/systems/rate_limit/player/ensure {tpl:"$(key)",full:"player:$(key):$(player)"} + +# Delegate to generic check with full compound key +$function macroengine:systems/rate_limit/check {key:"player:$(key):$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/config.mcfunction new file mode 100644 index 00000000..ea846fcf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/rate_limit/player/config.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/rate_limit/player/config — Register per-player rate limit rule [MACRO] +# +# Creates one template rule. The player bucket key is "player::". +# This function registers the TEMPLATE rule used for ALL players under this key. +# Individual player buckets are auto-created on first check. +# +# Usage: +# function macroengine:systems/rate_limit/player/config {key:"shop",limit:3,window:600} +# +# This allows: $function macroengine:systems/rate_limit/player/check {key:"shop",player:"$(player)"} +# +# Note: each player gets their own independent sliding window bucket. +# To register a SHARED (global) rule use macroengine:systems/rate_limit/config directly. + +# Store template rule — concrete player buckets inherit limit+window on first hit +$data modify storage macroengine:engine rate_limit.player_templates.$(key) set value {limit:$(limit),window:$(window)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/player/config ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"player:$(key):","color":"white"},{"text":" limit=","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":" window=","color":"#555555"},{"text":"$(window)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play.mcfunction new file mode 100644 index 00000000..94163444 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play.mcfunction @@ -0,0 +1,21 @@ +# macroengine:systems/sound/play +# Entity-targeted playsound wrapper. +# Runs at the executor's position — call inside execute as at @s if +# positional accuracy matters (e.g. per-player distance checks). +# +# Input (macroengine:input sound): +# sound — sound event ID e.g. "minecraft:entity.player.levelup" +# category — source category master|music|record|weather|block| +# hostile|neutral|player|ambient|voice +# target — selector string e.g. "@a" "@s" "@p" +# volume — float ≥ 0 1.0 = full volume, >1 increases range +# pitch — float 0.0–2.0 1.0 = normal pitch +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {sound:"minecraft:entity.player.levelup",category:"player",\ +# target:"@a",volume:1.0f,pitch:1.0f} +# function macroengine:systems/sound/play with storage macroengine:input sound + +$playsound $(sound) $(category) $(target) ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/play ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(sound)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(category)","color":"green"},{"text":"]","color":"#555555"},{"text":" vol:","color":"#555555"},{"text":"$(volume)","color":"yellow"},{"text":" pitch:","color":"#555555"},{"text":"$(pitch)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play_at.mcfunction new file mode 100644 index 00000000..e763abd9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/play_at.mcfunction @@ -0,0 +1,20 @@ +# macroengine:systems/sound/play_at +# Coordinate-targeted playsound. Anyone within range of (x,y,z) hears it. +# Use for world-position sounds (explosions, ambient effects, etc.). +# +# Input (macroengine:input sound): +# sound — sound event ID +# category — source category +# x, y, z — world coordinates (int or double) +# volume — float ≥ 0 (controls audible radius: radius = 16*volume blocks) +# pitch — float 0.0–2.0 +# min_volume — float 0.0–1.0 (audibility outside radius; 0.0 = silent outside) +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {sound:"minecraft:block.note_block.bell",category:"block",\ +# x:0,y:64,z:0,volume:1.0f,pitch:1.0f,min_volume:0.0f} +# function macroengine:systems/sound/play_at with storage macroengine:input sound + +$playsound $(sound) $(category) @a $(x) $(y) $(z) $(volume) $(pitch) $(min_volume) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/play_at ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(sound)","color":"white"},{"text":" @ ","color":"#555555"},{"text":"$(x) $(y) $(z)","color":"#AAAAAA"},{"text":" vol:","color":"#555555"},{"text":"$(volume)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/stop.mcfunction new file mode 100644 index 00000000..774662dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/sound/stop.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/sound/stop +# Stops a specific sound (and category) on a target selector. +# +# Input (macroengine:input sound): +# target — selector string e.g. "@a" "@s" +# category — source category (use "*" to match all categories) +# sound — sound event ID (use "*" to stop all sounds in category) +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {target:"@a",category:"*",sound:"*"} +# function macroengine:systems/sound/stop with storage macroengine:input sound + +$stopsound $(target) $(category) $(sound) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/stop ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(target)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(category)","color":"green"},{"text":"] ","color":"#555555"},{"text":"$(sound)","color":"#AAAAAA"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce.mcfunction new file mode 100644 index 00000000..86c054e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce.mcfunction @@ -0,0 +1 @@ +$tellraw @a {"text":"$(message)","color":"$(color)"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce_prefix.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce_prefix.mcfunction new file mode 100644 index 00000000..dabb7cb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/announce_prefix.mcfunction @@ -0,0 +1 @@ +$tellraw @a [{"text":"$(prefix) ","color":"$(prefix_color)","bold":true},{"text":"$(message)","color":"$(color)","bold":false}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_coords.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_coords.mcfunction new file mode 100644 index 00000000..fd1bd1a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_coords.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/format_coords +# Stores three integer coordinates in macroengine:output and exposes +# them for use in tellraw components. +# +# Input : $(x) → X coordinate (integer) +# $(y) → Y coordinate (integer) +# $(z) → Z coordinate (integer) +# +# Output: macroengine:output x → X int +# macroengine:output y → Y int +# macroengine:output z → Z int +# +# USAGE — embed the stored values directly in a tellraw: +# function macroengine:systems/string/format_coords {x:100,y:64,z:-200} +# tellraw @a ["", +# {"text":"(","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"x","color":"green"}, +# {"text":", ","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"y","color":"green"}, +# {"text":", ","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"z","color":"green"}, +# {"text":")","color":"gray"} +# ] +# → (100, 64, -200) +# +# NOTE: macroengine:output is shared — copy x/y/z to your own storage +# before making other macroengine calls if you need them later. +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fc_x macroengine.tmp $(x) +$scoreboard players set $fc_y macroengine.tmp $(y) +$scoreboard players set $fc_z macroengine.tmp $(z) + +execute store result storage macroengine:output x int 1 run scoreboard players get $fc_x macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $fc_y macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $fc_z macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_coords ","color":"aqua"},{"text":"(","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"#aaffaa"},{"text":", ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"#aaffaa"},{"text":", ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"#aaffaa"},{"text":")","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_number.mcfunction new file mode 100644 index 00000000..1c0e15d2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_number.mcfunction @@ -0,0 +1,46 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/format_number +# Converts large numbers to readable abbreviations. +# Input : $(value) → integer +# Output: macroengine:output text → abbreviated text (storage string) +# macroengine:output value → original value +# macroengine:output suffix → k / M / B / "" suffix +# macroengine:output short → abbreviated integer part +# +# Examples: +# 500 → "500" +# 1500 → "1.5k" +# 1000000 → "1M" +# 2500000 → "2.5M" +# 1000000000 → "1B" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fn_v macroengine.tmp $(value) +execute store result storage macroengine:output value int 1 run scoreboard players get $fn_v macroengine.tmp + +# < 1000 → plain number +execute if score $fn_v macroengine.tmp matches ..999 run data modify storage macroengine:output suffix set value "" +execute if score $fn_v macroengine.tmp matches ..999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches ..999 run return 0 + +# 1000 – 999999 → k +execute if score $fn_v macroengine.tmp matches 1000..999999 run data modify storage macroengine:output suffix set value "k" +execute if score $fn_v macroengine.tmp matches 1000..999999 run scoreboard players set $fn_div macroengine.tmp 100 +execute if score $fn_v macroengine.tmp matches 1000..999999 run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000..999999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000..999999 run return 0 + +# 1_000_000 – 999_999_999 → M +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run data modify storage macroengine:output suffix set value "M" +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run scoreboard players set $fn_div macroengine.tmp 100000 +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run return 0 + +# >= 1_000_000_000 → B +execute if score $fn_v macroengine.tmp matches 1000000000.. run data modify storage macroengine:output suffix set value "B" +execute if score $fn_v macroengine.tmp matches 1000000000.. run scoreboard players set $fn_div macroengine.tmp 100000000 +execute if score $fn_v macroengine.tmp matches 1000000000.. run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000000.. run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_number ","color":"aqua"},{"text":"$(value) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"short","color":"green"},{"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_ticks.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_ticks.mcfunction new file mode 100644 index 00000000..a4f50a94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/format_ticks.mcfunction @@ -0,0 +1,18 @@ +$scoreboard players set $ft_t macroengine.tmp $(ticks) + +scoreboard players set $ft_20 macroengine.tmp 20 +scoreboard players operation $ft_s macroengine.tmp = $ft_t macroengine.tmp +scoreboard players operation $ft_s macroengine.tmp /= $ft_20 macroengine.tmp + +execute store result storage macroengine:output total_seconds int 1 run scoreboard players get $ft_s macroengine.tmp + +scoreboard players set $ft_60 macroengine.tmp 60 +scoreboard players operation $ft_m macroengine.tmp = $ft_s macroengine.tmp +scoreboard players operation $ft_m macroengine.tmp /= $ft_60 macroengine.tmp + +scoreboard players operation $ft_s macroengine.tmp %= $ft_60 macroengine.tmp + +execute store result storage macroengine:output minutes int 1 run scoreboard players get $ft_m macroengine.tmp +execute store result storage macroengine:output seconds int 1 run scoreboard players get $ft_s macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_ticks ","color":"aqua"},{"text":"$(ticks)t","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"minutes","color":"green"},{"text":"m ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"seconds","color":"green"},{"text":"s","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/header.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/header.mcfunction new file mode 100644 index 00000000..a0d5c055 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/header.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) [{"text":"◆── ","color":"$(color)"},{"text":"$(text)","color":"$(color)","bold":true},{"text":" ──◆","color":"$(color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/hover_text.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/hover_text.mcfunction new file mode 100644 index 00000000..0531aa5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/hover_text.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) {"text":"$(text)","color":"$(color)","hoverEvent":{"action":"show_text","value":{"text":"$(hover)","color":"$(hover_color)"}}} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/ordinal.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/ordinal.mcfunction new file mode 100644 index 00000000..e60923fc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/ordinal.mcfunction @@ -0,0 +1,49 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/ordinal +# Determines the English ordinal suffix for a positive integer. +# Handles the 11th/12th/13th exception correctly. +# +# Input : $(n) → positive integer (1-based) +# Output: macroengine:output n → original value (int) +# macroengine:output suffix → "st" / "nd" / "rd" / "th" +# +# To display "3rd place" in chat: +# function macroengine:systems/string/ordinal {n:3} +# tellraw @a ["", +# {"plain":true ,"storage":"macroengine:output","nbt":"n"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"gold"}, +# {"text":" place"}] +# +# Examples: +# {n:1} → suffix="st" {n:11} → suffix="th" +# {n:2} → suffix="nd" {n:12} → suffix="th" +# {n:3} → suffix="rd" {n:13} → suffix="th" +# {n:4} → suffix="th" {n:21} → suffix="st" +# {n:22} → suffix="nd" {n:103}→ suffix="rd" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $ord_n macroengine.tmp $(n) +execute store result storage macroengine:output n int 1 run scoreboard players get $ord_n macroengine.tmp + +# last-two-digits mod 100 (teen detection) +scoreboard players operation $ord_h macroengine.tmp = $ord_n macroengine.tmp +scoreboard players set $ord_100 macroengine.tmp 100 +scoreboard players operation $ord_h macroengine.tmp %= $ord_100 macroengine.tmp + +# last digit mod 10 (suffix selection) +scoreboard players operation $ord_d macroengine.tmp = $ord_n macroengine.tmp +scoreboard players set $ord_10 macroengine.tmp 10 +scoreboard players operation $ord_d macroengine.tmp %= $ord_10 macroengine.tmp + +# Default: th +data modify storage macroengine:output suffix set value "th" + +# Apply last-digit rules +execute if score $ord_d macroengine.tmp matches 1 run data modify storage macroengine:output suffix set value "st" +execute if score $ord_d macroengine.tmp matches 2 run data modify storage macroengine:output suffix set value "nd" +execute if score $ord_d macroengine.tmp matches 3 run data modify storage macroengine:output suffix set value "rd" + +# Teen override — 11, 12, 13 must always be "th" +execute if score $ord_h macroengine.tmp matches 11..13 run data modify storage macroengine:output suffix set value "th" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/ordinal ","color":"aqua"},{"text":"$(n)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pad_left.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pad_left.mcfunction new file mode 100644 index 00000000..23f0b078 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pad_left.mcfunction @@ -0,0 +1,29 @@ +$scoreboard players set $pl_v macroengine.tmp $(value) +$scoreboard players set $pl_w macroengine.tmp $(width) + +scoreboard players set $pl_neg macroengine.tmp -1 +execute if score $pl_v macroengine.tmp matches ..-1 run scoreboard players operation $pl_v macroengine.tmp *= $pl_neg macroengine.tmp + +scoreboard players set $pl_digits macroengine.tmp 1 +execute if score $pl_v macroengine.tmp matches 10.. run scoreboard players set $pl_digits macroengine.tmp 2 +execute if score $pl_v macroengine.tmp matches 100.. run scoreboard players set $pl_digits macroengine.tmp 3 +execute if score $pl_v macroengine.tmp matches 1000.. run scoreboard players set $pl_digits macroengine.tmp 4 +execute if score $pl_v macroengine.tmp matches 10000.. run scoreboard players set $pl_digits macroengine.tmp 5 +execute if score $pl_v macroengine.tmp matches 100000.. run scoreboard players set $pl_digits macroengine.tmp 6 +execute if score $pl_v macroengine.tmp matches 1000000.. run scoreboard players set $pl_digits macroengine.tmp 7 +execute if score $pl_v macroengine.tmp matches 10000000.. run scoreboard players set $pl_digits macroengine.tmp 8 + +scoreboard players operation $pl_pad macroengine.tmp = $pl_w macroengine.tmp +scoreboard players operation $pl_pad macroengine.tmp -= $pl_digits macroengine.tmp + +data modify storage macroengine:output result set value "" + +execute if score $pl_pad macroengine.tmp matches 1.. run data modify storage macroengine:output result set value "0" +execute if score $pl_pad macroengine.tmp matches 2.. run data modify storage macroengine:output result set value "00" +execute if score $pl_pad macroengine.tmp matches 3.. run data modify storage macroengine:output result set value "000" +execute if score $pl_pad macroengine.tmp matches 4.. run data modify storage macroengine:output result set value "0000" +execute if score $pl_pad macroengine.tmp matches 5.. run data modify storage macroengine:output result set value "00000" +execute if score $pl_pad macroengine.tmp matches 6.. run data modify storage macroengine:output result set value "000000" +execute if score $pl_pad macroengine.tmp matches 7.. run data modify storage macroengine:output result set value "0000000" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/pad_left ","color":"aqua"},{"text":"$(value) w=$(width) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"[NUM]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/player_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/player_raw.mcfunction new file mode 100644 index 00000000..fefa830e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/player_raw.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) $(json) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pluralize.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pluralize.mcfunction new file mode 100644 index 00000000..abb18864 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/pluralize.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/pluralize +# Stores the singular or plural form of a word based on count. +# Simple English rule: count == 1 → singular, else → plural. +# +# INPUT : $(count) → integer count +# $(singular) → singular form (e.g. "item") +# $(plural) → plural form (e.g. "items") +# OUTPUT: macroengine:output result → chosen string +# macroengine:output count → original count +# +# EXAMPLE: +# function macroengine:systems/string/pluralize {count:3,singular:"apple",plural:"apples"} +# → macroengine:output result = "apples" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #plr_c macroengine.tmp $(count) +execute store result storage macroengine:output count int 1 run scoreboard players get #plr_c macroengine.tmp + +$data modify storage macroengine:engine _plr_singular set value $(singular) +$data modify storage macroengine:engine _plr_plural set value $(plural) + +data modify storage macroengine:output result set from storage macroengine:engine _plr_plural +execute if score #plr_c macroengine.tmp matches 1 run data modify storage macroengine:output result set from storage macroengine:engine _plr_singular + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/pluralize ","color":"aqua"},{"text":"count=$(count) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar.mcfunction new file mode 100644 index 00000000..b2be6e2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar.mcfunction @@ -0,0 +1,24 @@ +$scoreboard players set $pb1_seg macroengine.tmp $(current) +$scoreboard players set $pb1_max macroengine.tmp $(max) + +execute if score $pb1_max macroengine.tmp matches ..0 run return fail + +scoreboard players set $pb1_ten macroengine.tmp 10 +scoreboard players operation $pb1_seg macroengine.tmp *= $pb1_ten macroengine.tmp +scoreboard players operation $pb1_seg macroengine.tmp /= $pb1_max macroengine.tmp + +execute if score $pb1_seg macroengine.tmp matches ..0 run scoreboard players set $pb1_seg macroengine.tmp 0 +execute if score $pb1_seg macroengine.tmp matches 10.. run scoreboard players set $pb1_seg macroengine.tmp 10 + +$execute if score $pb1_seg macroengine.tmp matches 0 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ░░░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 1 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █░░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 2 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 3 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ███░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 4 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ████░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 5 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █████░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 6 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██████░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 7 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ███████░░░"} +$execute if score $pb1_seg macroengine.tmp matches 8 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ████████░░"} +$execute if score $pb1_seg macroengine.tmp matches 9 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █████████░"} +$execute if score $pb1_seg macroengine.tmp matches 10 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██████████"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/progress_bar ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(label)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar_self.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar_self.mcfunction new file mode 100644 index 00000000..8f59d354 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/progress_bar_self.mcfunction @@ -0,0 +1,23 @@ +$scoreboard players set $pbs_max macroengine.tmp $(pb_max) +execute if score $pbs_max macroengine.tmp matches ..0 run return fail + +$execute store result score $pbs_seg macroengine.tmp run scoreboard players get @s $(pb_obj) + +scoreboard players set $pbs_ten macroengine.tmp 10 +scoreboard players operation $pbs_seg macroengine.tmp *= $pbs_ten macroengine.tmp +scoreboard players operation $pbs_seg macroengine.tmp /= $pbs_max macroengine.tmp + +execute if score $pbs_seg macroengine.tmp matches ..0 run scoreboard players set $pbs_seg macroengine.tmp 0 +execute if score $pbs_seg macroengine.tmp matches 10.. run scoreboard players set $pbs_seg macroengine.tmp 10 + +$execute if score $pbs_seg macroengine.tmp matches 0 run title @s actionbar {"text":"$(pb_label) ░░░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 1 run title @s actionbar {"text":"$(pb_label) █░░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 2 run title @s actionbar {"text":"$(pb_label) ██░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 3 run title @s actionbar {"text":"$(pb_label) ███░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 4 run title @s actionbar {"text":"$(pb_label) ████░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 5 run title @s actionbar {"text":"$(pb_label) █████░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 6 run title @s actionbar {"text":"$(pb_label) ██████░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 7 run title @s actionbar {"text":"$(pb_label) ███████░░░"} +$execute if score $pbs_seg macroengine.tmp matches 8 run title @s actionbar {"text":"$(pb_label) ████████░░"} +$execute if score $pbs_seg macroengine.tmp matches 9 run title @s actionbar {"text":"$(pb_label) █████████░"} +$execute if score $pbs_seg macroengine.tmp matches 10 run title @s actionbar {"text":"$(pb_label) ██████████"} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/repeat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/repeat.mcfunction new file mode 100644 index 00000000..14da2863 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/repeat.mcfunction @@ -0,0 +1,33 @@ +# macroengine:systems/string/repeat +# Repeats a single character (char) exactly `count` times (1–16). +# Params: char (single character), count (integer 1–16) +# Output: macroengine:output result = repeated string +# Note: count is clamped to 1–16. Larger repeats should be assembled by the caller. +# +# Implementation: static dispatch to internal/repeat_N which sets the literal string. +# Each internal file uses a single $data modify line with N $(char) expansions. + +data modify storage macroengine:output result set value "" + +$scoreboard players set $sr_n macroengine.tmp $(count) +execute if score $sr_n macroengine.tmp matches ..0 run scoreboard players set $sr_n macroengine.tmp 1 +execute if score $sr_n macroengine.tmp matches 17.. run scoreboard players set $sr_n macroengine.tmp 16 + +execute if score $sr_n macroengine.tmp matches 1 run function macroengine:core/internal/systems/string/repeat_1 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 2 run function macroengine:core/internal/systems/string/repeat_2 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 3 run function macroengine:core/internal/systems/string/repeat_3 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 4 run function macroengine:core/internal/systems/string/repeat_4 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 5 run function macroengine:core/internal/systems/string/repeat_5 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 6 run function macroengine:core/internal/systems/string/repeat_6 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 7 run function macroengine:core/internal/systems/string/repeat_7 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 8 run function macroengine:core/internal/systems/string/repeat_8 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 9 run function macroengine:core/internal/systems/string/repeat_9 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 10 run function macroengine:core/internal/systems/string/repeat_10 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 11 run function macroengine:core/internal/systems/string/repeat_11 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 12 run function macroengine:core/internal/systems/string/repeat_12 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 13 run function macroengine:core/internal/systems/string/repeat_13 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 14 run function macroengine:core/internal/systems/string/repeat_14 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 15 run function macroengine:core/internal/systems/string/repeat_15 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 16 run function macroengine:core/internal/systems/string/repeat_16 with storage macroengine:input {} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/repeat ","color":"aqua"},{"text":"'$(char)'","color":"yellow"},{"text":" × $(count) → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/score_display.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/score_display.mcfunction new file mode 100644 index 00000000..6cdc09ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/score_display.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/score_display +# Sends a formatted label: value line from a scoreboard objective. +# Input : $(target) → selector to receive the message +# $(label) → display label (e.g. "Points") +# $(player) → scoreboard player name (e.g. "@s", "") +# $(objective) → scoreboard objective name +# $(color) → value color (e.g. "green", "gold") +# +# Example: +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input label set value "Points" +# data modify storage macroengine:input player set value "@s" +# data modify storage macroengine:input objective set value "myPoints" +# data modify storage macroengine:input color set value "green" +# function macroengine:systems/string/score_display with storage macroengine:input {} +# # Output: "Points 42" (42 from scoreboard) +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"$(label)","color":"gray"},{"text":" ","color":"#555555"},{"score":{"name":"$(player)","objective":"$(objective)"},"color":"$(color)","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/separator.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/separator.mcfunction new file mode 100644 index 00000000..a77b743c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/separator.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/separator +# Sends a decorative horizontal separator line. +# Input : $(target) → selector +# $(color) → line color (e.g. "gray", "aqua", "#555555") +# $(label) → optional center label (use "" for plain line) +# +# Example (plain line): +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input color set value "gray" +# data modify storage macroengine:input label set value "" +# function macroengine:systems/string/separator with storage macroengine:input {} +# +# Example (labeled): +# data modify storage macroengine:input label set value " Settings " +# function macroengine:systems/string/separator with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"──────────","color":"$(color)"},{"text":"$(label)","color":"$(color)","bold":true},{"text":"──────────","color":"$(color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tag_badge.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tag_badge.mcfunction new file mode 100644 index 00000000..e842fae0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tag_badge.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/tag_badge +# Sends a styled [TAG] badge with optional hover text. +# Input : $(target) → selector +# $(tag) → badge label (e.g. "ADMIN", "VIP") +# $(color) → badge color (e.g. "red", "gold") +# $(hover) → hover tooltip text +# +# Example: +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input tag set value "ADMIN" +# data modify storage macroengine:input color set value "red" +# data modify storage macroengine:input hover set value "Server Administrator" +# function macroengine:systems/string/tag_badge with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"[","color":"#555555","bold":false},{"text":"$(tag)","color":"$(color)","bold":true,"hoverEvent":{"action":"show_text","value":{"text":"$(hover)","color":"gray","italic":true}}},{"text":"]","color":"#555555","bold":false}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tooltip_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tooltip_item.mcfunction new file mode 100644 index 00000000..a4a74c85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/tooltip_item.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) {"text":"$(text)","color":"$(color)","hoverEvent":{"action":"show_item","value":{"id":"$(item)","count":1}}} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/truncate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/truncate.mcfunction new file mode 100644 index 00000000..c1904e2b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/string/truncate.mcfunction @@ -0,0 +1,29 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/truncate +# Displays text in the named player's actionbar, optionally with a +# suffix to indicate truncation. The caller decides whether the text +# needs truncating and passes truncated:1b or truncated:0b. +# Because mcfunction cannot measure string byte-length at runtime, +# length-checking must be done externally. +# +# INPUT : $(player) → player name +# $(text) → string to display +# $(suffix) → suffix shown when truncated (e.g. "...") +# $(truncated) → 1b = append suffix, 0b = show as-is +# OUTPUT: macroengine:output text → stored original text +# +# EXAMPLE: +# function macroengine:systems/string/truncate {player:"Steve",text:"Hello Wor",suffix:"...",truncated:1b} +# → actionbar: "Hello Wor..." +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:output text set value $(text) +$data modify storage macroengine:engine _trunc_t set value $(truncated) + +scoreboard players set #trunc_flag macroengine.tmp 0 +execute store result score #trunc_flag macroengine.tmp run data get storage macroengine:engine _trunc_t + +$execute if score #trunc_flag macroengine.tmp matches 0 run title @a[name=$(player),limit=1] actionbar {"plain":true ,"storage":"macroengine:output","nbt":"text"} +$execute if score #trunc_flag macroengine.tmp matches 1.. run title @a[name=$(player),limit=1] actionbar ["",{"plain":true ,"storage":"macroengine:output","nbt":"text"},{"text":"$(suffix)","color":"gray"}] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/truncate ","color":"aqua"},{"text":"$(player) truncated=$(truncated)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/cache_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/cache_clear.mcfunction new file mode 100644 index 00000000..14266a69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/cache_clear.mcfunction @@ -0,0 +1,11 @@ +# ============================================================ +# macroengine:systems/uuid/cache_clear +# Clears all cache (all entries saved with uuid/store) +# +# KULLANIM: +# function macroengine:systems/uuid/cache_clear +# +# Warning: This operation is irreversible. All stored UUIDs are deleted. +# Typically used when resetting the world or when a player leaves. +# ============================================================ +data modify storage macroengine:engine uuid_cache set value {} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/forget.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/forget.mcfunction new file mode 100644 index 00000000..0dc66c3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/forget.mcfunction @@ -0,0 +1,12 @@ +# ============================================================ +# macroengine:systems/uuid/forget +# Deletes a UUID entry from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/forget +# +# INPUT: +# macroengine:input key → name of the key to delete +# ============================================================ +function macroengine:core/internal/systems/uuid/forget_key with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_array.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_array.mcfunction new file mode 100644 index 00000000..c5a57d2d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_array.mcfunction @@ -0,0 +1,27 @@ +# ============================================================ +# macroengine:systems/uuid/from_array +# Converts int array in macroengine:input value to UUID string +# +# KULLANIM: +# data modify storage macroengine:input value set value [I; a, b, c, d] +# function macroengine:systems/uuid/from_array +# +# INPUT: +# macroengine:input value → [I; int0, int1, int2, int3] +# +# OUTPUT: +# macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# Output is written to macroengine:input value (AME standard) +# ============================================================ + +# Read int[4] array directly from macroengine:input value +execute store result score $uuid.0 macroengine.tmp run data get storage macroengine:input value[0] +execute store result score $uuid.1 macroengine.tmp run data get storage macroengine:input value[1] +execute store result score $uuid.2 macroengine.tmp run data get storage macroengine:input value[2] +execute store result score $uuid.3 macroengine.tmp run data get storage macroengine:input value[3] + +# Split into 16 bytes → convert to hex chars → concatenate UUID string +function macroengine:core/internal/systems/uuid/extract_bytes +function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_entity.mcfunction new file mode 100644 index 00000000..ae6ec953 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/from_entity.mcfunction @@ -0,0 +1,28 @@ +# ============================================================ +# macroengine:systems/uuid/from_entity +# Converts the current entity's (@s) UUID to a hex string +# +# KULLANIM: +# execute as run function macroengine:systems/uuid/from_entity +# +# OUTPUT: +# macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# Output is written to macroengine:input value (AME standard) +# Direct NBT read on each call — always up to date +# Negative byte error is fixed (see extract_bytes) +# ============================================================ + +# Copy entity UUID as int[4] to working storage +data modify storage macroengine:uuid _work set from entity @s UUID + +# Load four ints to scoreboard (without writing scores to entity) +execute store result score $uuid.0 macroengine.tmp run data get storage macroengine:uuid _work[0] +execute store result score $uuid.1 macroengine.tmp run data get storage macroengine:uuid _work[1] +execute store result score $uuid.2 macroengine.tmp run data get storage macroengine:uuid _work[2] +execute store result score $uuid.3 macroengine.tmp run data get storage macroengine:uuid _work[3] + +# Split into 16 bytes → convert to hex chars → concatenate UUID string +function macroengine:core/internal/systems/uuid/extract_bytes +function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/has.mcfunction new file mode 100644 index 00000000..e3b5805c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/has.mcfunction @@ -0,0 +1,17 @@ +# ============================================================ +# macroengine:systems/uuid/has +# Checks whether the specified key exists in the cache +# +# EXAMPLE: +# data modify storage macroengine:input key set value "my_key" +# execute if score $result macroengine.tmp matches 1 ... +# function macroengine:systems/uuid/has +# +# INPUT: +# macroengine:input key → name of the key to check +# +# OUTPUT: +# $uuid.has macroengine.tmp → 1 (found) or 0 (not found) +# ============================================================ +scoreboard players set $uuid.has macroengine.tmp 0 +function macroengine:core/internal/systems/uuid/has_check with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/match.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/match.mcfunction new file mode 100644 index 00000000..65364333 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/match.mcfunction @@ -0,0 +1,27 @@ +# ============================================================ +# macroengine:systems/uuid/match +# Compares @s entity's UUID with macroengine:input value +# If matched, runs macroengine:input func function +# +# KULLANIM: +# data modify storage macroengine:input value set value "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# data modify storage macroengine:input func set value "mynamespace:my_function" +# execute as run function macroengine:systems/uuid/match +# +# INPUT: +# macroengine:input value → UUID string to compare (expected) +# macroengine:input func → function to run if matched +# +# NOTE: func is run in the same entity context. +# ============================================================ + +# Save expected UUID string to temporary field +# (from_entity call overwrites macroengine:input value) +data modify storage macroengine:uuid _match_target set from storage macroengine:input value + +# Convert @s UUID to string → macroengine:input value +function macroengine:systems/uuid/from_entity + +# Compare: if matched, run func +# Is the current UUID (macroengine:input value) equal to the expected? +function macroengine:core/internal/systems/uuid/match_check with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall.mcfunction new file mode 100644 index 00000000..2e919677 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall.mcfunction @@ -0,0 +1,16 @@ +# ============================================================ +# macroengine:systems/uuid/recall +# Retrieves UUID string from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/recall +# +# INPUT: +# macroengine:input key → key name used with uuid/store +# +# OUTPUT: +# macroengine:input value → UUID hex string +# (value unchanged if key not found) +# ============================================================ +function macroengine:core/internal/systems/uuid/recall_read with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall_array.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall_array.mcfunction new file mode 100644 index 00000000..af7dee83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/recall_array.mcfunction @@ -0,0 +1,18 @@ +# ============================================================ +# macroengine:systems/uuid/recall_array +# Retrieves UUID int array from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/recall_array +# +# INPUT: +# macroengine:input key → key name used with uuid/store +# +# OUTPUT: +# macroengine:input value → UUID int array [I; a, b, c, d] +# (value unchanged if key not found) +# +# Use case: writing UUID to entity NBT (e.g. Owner field) +# ============================================================ +function macroengine:core/internal/systems/uuid/recall_arr_read with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/store.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/store.mcfunction new file mode 100644 index 00000000..68761019 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/systems/uuid/store.mcfunction @@ -0,0 +1,26 @@ +# ============================================================ +# macroengine:systems/uuid/store +# Caches @s entity's UUID as both string and int array +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# execute as run function macroengine:systems/uuid/store +# +# INPUT: +# macroengine:input key → storage key name (e.g. "spawn_point_owner") +# +# OUTPUT (macroengine:engine uuid_cache.): +# .str → UUID hex string +# .arr → UUID int array [I; a, b, c, d] +# +# Not available in GU — an advanced AME-specific function. +# ============================================================ + +# Build UUID string → macroengine:input value +function macroengine:systems/uuid/from_entity + +# Also save array form (from_entity already filled _work) +data modify storage macroengine:uuid _store_arr set from storage macroengine:uuid _work + +# Write both to cache (get key name via macro) +function macroengine:core/internal/systems/uuid/store_write with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/version.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/version.mcfunction new file mode 100644 index 00000000..9ee86310 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/version.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────── +# macroengine:version +# Shows macroengine version info to the calling player. +# Usage: /function macroengine:version +# ───────────────────────────────────────────── +execute unless score #macroengine.ver_set macroengine.pre_version matches 1 run return run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"✖ not initialized","color":"red"}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Version Info ","color":"aqua"},{"text":"━━━━━━━━━━━━━━","color":"#555555"}] + +tellraw @s ["",{"text":" ◈ ","color":"#00AAAA"},{"text":"macroengine","color":"white","bold":true}] + +execute if score #macroengine.pre macroengine.pre_version matches 1.. run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Version ","color":"gray"},{"text":"v","color":"#ffaa00"},{"score":{"name":"#macroengine.major","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.minor","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.patch","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":"-pre","color":"#ff8800"},{"score":{"name":"#macroengine.pre","objective":"macroengine.pre_version"},"color":"#ff8800","bold":true}] +execute if score #macroengine.pre macroengine.pre_version matches ..0 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Version ","color":"gray"},{"text":"v","color":"#ffaa00"},{"score":{"name":"#macroengine.major","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.minor","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.patch","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true}] + +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"MC ","color":"gray"},{"text":"26.2","color":"#e3ff57"},{"text":" (pack_format 107)","color":"#555555"}] +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Author ","color":"gray"},{"text":"Legends11","color":"#00ff33","clickEvent":{"action":"open_url","value":"https://github.com/tickwarden"}},{"text":" / ","color":"#555555"},{"text":"runtoolkit","color":"aqua","underlined":true,"clickEvent":{"action":"open_url","value":"https://github.com/runtoolkit"}}] + +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Source ","color":"gray"},{"text":"github.com/runtoolkit/macroEngine","color":"#5555ff","underlined":true,"click_event":{"action":"open_url","url":"https://github.com/runtoolkit/macroengine-dp"}}] +# Check if loaded +execute if score #macroengine.ver_set macroengine.pre_version matches 1 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"● loaded","color":"green"}] +execute unless score #macroengine.ver_set macroengine.pre_version matches 1 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"✖ not initialized","color":"red"}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_if.mcfunction new file mode 100644 index 00000000..e8a60492 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_if.mcfunction @@ -0,0 +1,2 @@ +$execute if block $(x) $(y) $(z) $(block) run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/block_if ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_unless.mcfunction new file mode 100644 index 00000000..cef95d91 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/block_unless.mcfunction @@ -0,0 +1,2 @@ +$execute unless block $(x) $(y) $(z) $(block) run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/block_unless ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/clone_to.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/clone_to.mcfunction new file mode 100644 index 00000000..ba17a769 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/clone_to.mcfunction @@ -0,0 +1,2 @@ +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/clone_to ","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/clear_effects.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/clear_effects.mcfunction new file mode 100644 index 00000000..a0f381e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/clear_effects.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/clear_effects +# Clears all active potion effects from entities matching type+tag. +# +# INPUT : $(type) → entity type selector (e.g. "minecraft:player") +# $(tag) → entity tag filter +# ───────────────────────────────────────────────────────────────── + +$effect clear @e[type=$(type),tag=$(tag)] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/clear_effects ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)[tag=$(tag)]","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/count.mcfunction new file mode 100644 index 00000000..de211bf1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/count.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $ent_count macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run scoreboard players add $ent_count macroengine.tmp 1 +execute store result storage macroengine:output count int 1 run scoreboard players get $ent_count macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/damage.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/damage.mcfunction new file mode 100644 index 00000000..76928602 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/damage.mcfunction @@ -0,0 +1,2 @@ +$damage @e[type=$(type),tag=$(tag)] $(amount) $(damage_type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/damage ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each.mcfunction new file mode 100644 index 00000000..3bdfcf78 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/for_each ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each_in_radius.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each_in_radius.mcfunction new file mode 100644 index 00000000..f838ebdb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/for_each_in_radius.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/for_each_in_radius +# Runs a function as every entity of a given type within radius +# of the named player. +# +# INPUT : $(player) → player name (origin) +# $(type) → entity type (e.g. "minecraft:zombie") +# $(radius) → search radius in blocks +# $(func) → function to run as each entity (at its position) +# +# EXAMPLE: +# function macroengine:world/entity/for_each_in_radius {player:"Steve",type:"minecraft:zombie",radius:10,func:"mypack:on_zombie"} +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[name=$(player),limit=1] at @s run execute as @e[type=$(type),distance=..$(radius)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/for_each_in_radius ","color":"aqua"},{"text":"$(player) r=$(radius) → ","color":"gray"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/give_effect.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/give_effect.mcfunction new file mode 100644 index 00000000..51cb4ca1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/give_effect.mcfunction @@ -0,0 +1,2 @@ +$effect give @e[type=$(type),tag=$(tag)] $(effect) $(duration) $(amplifier) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/give_effect ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/kill_tagged.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/kill_tagged.mcfunction new file mode 100644 index 00000000..a24e70af --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/kill_tagged.mcfunction @@ -0,0 +1,2 @@ +$kill @e[type=$(type),tag=$(tag)] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/kill_tagged ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/nearest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/nearest.mcfunction new file mode 100644 index 00000000..03ce721e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/nearest.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/nearest +# Finds the nearest entity of a given type to the named player and +# runs the given function as that entity (at its position). +# If no entity of the type exists within radius, does nothing. +# +# INPUT : $(player) → player name (origin) +# $(type) → entity type (e.g. "minecraft:zombie") +# $(radius) → search radius in blocks +# $(func) → function to run as the nearest entity +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[name=$(player),limit=1] at @s run execute as @e[type=$(type),sort=nearest,limit=1,distance=..$(radius)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/nearest ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"text":"$(type) r=$(radius)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/random.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/random.mcfunction new file mode 100644 index 00000000..b0889503 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/random.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/random +# Selects ONE random entity matching the given type and tag and +# runs the given function as that entity (at its position). +# If no matching entity exists, nothing happens. +# +# Uses /random value (available since 1.20.2) to pick a random +# index, then dispatches via sequential macroengine.rnd_idx assignment. +# This gives a true uniform distribution across matching entities. +# +# INPUT : $(type) → entity type (e.g. "minecraft:zombie") +# $(tag) → entity tag to match +# $(func) → function to run as the selected entity +# +# EXAMPLE: +# function macroengine:world/entity/random {type:"minecraft:zombie",tag:"mob.active",func:"mypack:reward"} +# ───────────────────────────────────────────────────────────────── + +# Step 1 — count all matching entities +scoreboard players set $rnd_n macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run scoreboard players add $rnd_n macroengine.tmp 1 + +# No entities → nothing to do +execute if score $rnd_n macroengine.tmp matches 0 run return 0 + +# Step 2 — assign sequential macroengine.rnd_idx to each matching entity +# (random_assign runs AS each entity to maintain counter state) +scoreboard players set $rnd_i macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run function macroengine:core/internal/world/entity/random_assign + +# Step 3 — compute max = count-1, store for the dispatch macro +scoreboard players remove $rnd_n macroengine.tmp 1 +execute store result storage macroengine:engine _rnd.max int 1 run scoreboard players get $rnd_n macroengine.tmp +$data modify storage macroengine:engine _rnd.func set value "$(func)" +$data modify storage macroengine:engine _rnd.type set value "$(type)" +$data modify storage macroengine:engine _rnd.tag set value "$(tag)" + +# Step 4 — roll /random value 0..max and run func as the winner +function macroengine:core/internal/world/entity/random_dispatch with storage macroengine:engine _rnd + +# Cleanup +data remove storage macroengine:engine _rnd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/random ","color":"aqua"},{"text":"$(type)","color":"aqua"},{"text":" [$(tag)]","color":"gray"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_health.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_health.mcfunction new file mode 100644 index 00000000..2aed23eb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_health.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/set_health +# Sets the health of entities matching type+tag by applying +# instant_health or instant_damage effects calibrated to the target amount. +# Note: direct NBT entity Health write was removed in 1.20.5. +# This implementation uses instant_health amplifier to fill HP; +# it first applies instant_damage level 255 (kills/zeros HP) then +# instant_health at the desired level to restore to target amount. +# +# amount → instant_health amplifier level (0-based; level 1 = +2 HP, level N = +2*(N+1) HP) +# To set exactly N half-hearts: amplifier = (N / 2) - 1, clamped to [0, 255]. +# +# INPUT : $(type) → entity type (e.g. "minecraft:player") +# $(tag) → entity tag filter +# $(amount) → target amplifier level for instant_health (int 0–255) +# ───────────────────────────────────────────────────────────────── + +$effect give @e[type=$(type),tag=$(tag)] minecraft:instant_damage 1 255 true +$effect give @e[type=$(type),tag=$(tag)] minecraft:instant_health 1 $(amount) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/set_health ","color":"aqua"},{"text":" → amplifier=$(amount) on ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_name.mcfunction new file mode 100644 index 00000000..8ec68347 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/set_name.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/set_name +# Sets the display name (CustomName) on every entity matching the +# given tag. The name is read from macroengine:input name — NOT passed +# as a macro argument — to avoid quote/apostrophe injection crashes +# and to support full JSON text components on all versions. +# +# INPUT : $(tag) → entity tag to match +# macroengine:input name → JSON text component (caller sets this +# before calling this function) +# +# CALLER PATTERN: +# # Plain white text (works on all versions): +# data modify storage macroengine:input name set value '"Dragon King"' +# +# # Colored component (works on all versions): +# data modify storage macroengine:input name set value '{"text":"Dragon King","color":"red"}' +# +# function macroengine:world/entity/set_name {tag:"myboss"} +# +# NOTE: data modify storage → CustomName works on all supported +# versions without version-specific syntax differences. +# ───────────────────────────────────────────────────────────────── + +$execute as @e[tag=$(tag)] run data modify entity @s CustomName set from storage macroengine:input name +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/set_name ","color":"aqua"},{"text":"[$(tag)]","color":"gray"},{"text":" ← macroengine:input name","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/summon_at_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/summon_at_player.mcfunction new file mode 100644 index 00000000..8602fd94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/summon_at_player.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run summon $(entity) ~ ~ ~ $(nbt) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/summon_at_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(entity)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_add.mcfunction new file mode 100644 index 00000000..411bf28d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_add.mcfunction @@ -0,0 +1,2 @@ +$tag @e[type=$(type),tag=$(filter)] add $(new_tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tag_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_remove.mcfunction new file mode 100644 index 00000000..79f5c2a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tag_remove.mcfunction @@ -0,0 +1,2 @@ +$tag @e[type=$(type),tag=$(filter)] remove $(remove_tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tag_remove ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tp_to.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tp_to.mcfunction new file mode 100644 index 00000000..bc1a5320 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/entity/tp_to.mcfunction @@ -0,0 +1,2 @@ +$tp @e[type=$(type),tag=$(tag)] $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tp_to ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_hollow.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_hollow.mcfunction new file mode 100644 index 00000000..cdeadecd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_hollow.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) hollow +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_hollow ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_keep.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_keep.mcfunction new file mode 100644 index 00000000..9148808d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_keep.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) keep +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_keep ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_outline.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_outline.mcfunction new file mode 100644 index 00000000..efc9dec1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_outline.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) outline +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_outline ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_replace.mcfunction new file mode 100644 index 00000000..a29ffd0d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/fill_replace.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) replace $(replace_with) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_replace ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/get_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/get_time.mcfunction new file mode 100644 index 00000000..e79f210c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/get_time.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/get_time +# Compatible with 26.3-snapshot-5+ World Clocks (minecraft:overworld) +# +# OUTPUT: +# macroengine:output.daytime → in-day time (0-23999) +# macroengine:output.total → total world age (gametime) +# macroengine:output.day → current day number +# ───────────────────────────────────────────────────────────────── + +execute store result storage macroengine:output daytime int 1 run time query daytime +execute store result storage macroengine:output total int 1 run time query gametime +execute store result storage macroengine:output day int 1 run time query day + +# Debug (optional) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/get_time ","color":"aqua"},{"text":"day=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"day","color":"green"},{"text":" daytime=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"daytime","color":"green"},{"text":" total=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"total","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/setblock_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/setblock_if.mcfunction new file mode 100644 index 00000000..f320beab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/setblock_if.mcfunction @@ -0,0 +1,2 @@ +$execute if block $(x) $(y) $(z) $(expected) run setblock $(x) $(y) $(z) $(new_block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/setblock_if ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/time_phase.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/time_phase.mcfunction new file mode 100644 index 00000000..3bbe6ded --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/functions/world/time_phase.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/time_phase +# Time phase detection compatible with 26.1+ World Clocks +# +# OUTPUT: +# macroengine:output.phase → "dawn" / "day" / "dusk" / "night" +# macroengine:output.daytime → raw daytime tick (0–23999) +# macroengine:output.is_day → 1b (daytime) +# macroengine:output.is_night → 1b (nighttime) +# macroengine:output.is_dawn → 1b (dawn) +# macroengine:output.is_dusk → 1b (dusk) +# ───────────────────────────────────────────────────────────────── + +# Get in-day time (26.1+ correct syntax) +execute store result score $tp_t macroengine.tmp run time query daytime + +# Write raw daytime to storage +execute store result storage macroengine:output daytime int 1 run scoreboard players get $tp_t macroengine.tmp + +# Reset boolean flags +data modify storage macroengine:output is_day set value 0b +data modify storage macroengine:output is_night set value 0b +data modify storage macroengine:output is_dawn set value 0b +data modify storage macroengine:output is_dusk set value 0b + +# Set boolean values +execute if score $tp_t macroengine.tmp matches 0..12999 run data modify storage macroengine:output is_day set value 1b +execute if score $tp_t macroengine.tmp matches 13000..23999 run data modify storage macroengine:output is_night set value 1b +execute if score $tp_t macroengine.tmp matches 0..999 run data modify storage macroengine:output is_dawn set value 1b +execute if score $tp_t macroengine.tmp matches 12000..13799 run data modify storage macroengine:output is_dusk set value 1b + +# Determine phase name +execute if score $tp_t macroengine.tmp matches 0..999 run data modify storage macroengine:output phase set value "dawn" +execute if score $tp_t macroengine.tmp matches 1000..11999 run data modify storage macroengine:output phase set value "day" +execute if score $tp_t macroengine.tmp matches 12000..13799 run data modify storage macroengine:output phase set value "dusk" +execute if score $tp_t macroengine.tmp matches 13800..23999 run data modify storage macroengine:output phase set value "night" + +# Debug message (optional) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/time_phase ","color":"aqua"},{"plain":true ,"storage":"macroengine:output","nbt":"phase","color":"green"},{"text":" t=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"daytime","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/damage_random.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/damage_random.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/damage_random.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_randomly.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_randomly.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_randomly.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_30.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_30.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_30.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_5.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_5.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/enchant_with_levels_5.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_add.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_add.json new file mode 100644 index 00000000..4351e831 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_add.json @@ -0,0 +1 @@ +[{"function":"minecraft:set_components","components":{"minecraft:enchantment_glint_override":true}}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_remove.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_remove.json new file mode 100644 index 00000000..01fa8988 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/glint_remove.json @@ -0,0 +1 @@ +[{"function":"minecraft:set_components","components":{"minecraft:enchantment_glint_override":false}}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_add_custom.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_add_custom.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_add_custom.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_clear.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_clear.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/lore_clear.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/rename_to_custom.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/rename_to_custom.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/rename_to_custom.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/repair_full.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/repair_full.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/repair_full.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_1.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_1.json new file mode 100644 index 00000000..754bc64a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_1.json @@ -0,0 +1 @@ +[{"function":"minecraft:set_count","count":1}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_64.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_64.json new file mode 100644 index 00000000..3f678c17 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/set_count_64.json @@ -0,0 +1 @@ +[{"function":"minecraft:set_count","count":64}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/strip_enchants.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/strip_enchants.json new file mode 100644 index 00000000..fe51488c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/strip_enchants.json @@ -0,0 +1 @@ +[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/unbreakable.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/unbreakable.json new file mode 100644 index 00000000..72140a44 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/item_modifiers/unbreakable.json @@ -0,0 +1 @@ +[{"function":"minecraft:set_components","components":{"minecraft:unbreakable":{}}}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/player/head.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/player/head.json new file mode 100644 index 00000000..67b19cdd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/player/head.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:player_head", + "functions": [ + { + "function": "minecraft:fill_player_head", + "entity": "this" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/empty.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/empty.json new file mode 100644 index 00000000..ea525f69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/empty.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:empty", + "pools": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/self_drop.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/self_drop.json new file mode 100644 index 00000000..0d42e2d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/self_drop.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "value": "minecraft:blocks/stone" + } + ] + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/xp_only.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/xp_only.json new file mode 100644 index 00000000..efde2dcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/loot_tables/util/xp_only.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "pools": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_mainhand.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_mainhand.json new file mode 100644 index 00000000..59ac8e15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_mainhand.json @@ -0,0 +1,13 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "count": { + "max": 0 + } + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_offhand.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_offhand.json new file mode 100644 index 00000000..1b2e6e76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/has_empty_offhand.json @@ -0,0 +1,13 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "count": { + "max": 0 + } + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/health_below_half.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/health_below_half.json new file mode 100644 index 00000000..0be1cb46 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/health_below_half.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "scores": { + "macroengine.health": { + "max": 10 + } + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_end.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_end.json new file mode 100644 index 00000000..ca37a133 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_end.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:the_end" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_nether.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_nether.json new file mode 100644 index 00000000..f886901a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_nether.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:the_nether" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_overworld.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_overworld.json new file mode 100644 index 00000000..dcdfcb08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/in_overworld.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:overworld" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_baby.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_baby.json new file mode 100644 index 00000000..ac4b37e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_baby.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_baby": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_burning.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_burning.json new file mode 100644 index 00000000..4a827567 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_burning.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_creative.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_creative.json new file mode 100644 index 00000000..375a1b9d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_creative.json @@ -0,0 +1,10 @@ +{ + "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/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_daytime.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_daytime.json new file mode 100644 index 00000000..860e48b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_daytime.json @@ -0,0 +1,9 @@ +{ + "clock": "minecraft:overworld", + "value": { + "min": 0, + "max": 12000 + }, + "period": 24000, + "condition": "minecraft:time_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_flying.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_flying.json new file mode 100644 index 00000000..6aef3e11 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_flying.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_freezing.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_freezing.json new file mode 100644 index 00000000..95205e33 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_freezing.json @@ -0,0 +1,93 @@ +{ + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:1}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:2}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:3}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:4}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:5}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:6}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:7}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:8}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:9}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:10}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:11}" + } + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_full_health.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_full_health.json new file mode 100644 index 00000000..6bdc4759 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_full_health.json @@ -0,0 +1,8 @@ +{ + "entity": "this", + "predicate": { + "nbt": "{Health:20.0f}", + "entity_type": "minecraft:player" + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_gliding.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_gliding.json new file mode 100644 index 00000000..49be4205 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_gliding.json @@ -0,0 +1,14 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true + }, + "equipment": { + "chest": { + "items": "minecraft:elytra" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_bow.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_bow.json new file mode 100644 index 00000000..02753079 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_bow.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:bow" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_shield.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_shield.json new file mode 100644 index 00000000..dc2863d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_shield.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "items": "minecraft:shield" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_sword.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_sword.json new file mode 100644 index 00000000..bd962f00 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_sword.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "#minecraft:swords" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_trident.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_trident.json new file mode 100644 index 00000000..7a4c1fd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_holding_trident.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:trident" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_hungry.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_hungry.json new file mode 100644 index 00000000..7d0f79b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_hungry.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "scores": { + "macroengine.food": { + "max": 19 + } + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_in_water.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_in_water.json new file mode 100644 index 00000000..104faa91 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_in_water.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "location": { + "fluid": { + "tag": "minecraft:water" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_invisible.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_invisible.json new file mode 100644 index 00000000..eddb6405 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_invisible.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_invisible": true + } + }, + "condition": "minecraft:entity_properties" +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_on_ground.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_on_ground.json new file mode 100644 index 00000000..cd07d713 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_on_ground.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_ground": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_raining.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_raining.json new file mode 100644 index 00000000..140eb1de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_raining.json @@ -0,0 +1,5 @@ +{ + "raining": true, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sneaking.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sneaking.json new file mode 100644 index 00000000..76fe0f18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sneaking.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sprinting.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sprinting.json new file mode 100644 index 00000000..a9b65f1b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_sprinting.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_survival.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_survival.json new file mode 100644 index 00000000..33e6ec9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_survival.json @@ -0,0 +1,10 @@ +{ + "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/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_swimming.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_swimming.json new file mode 100644 index 00000000..eb035edb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_swimming.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_swimming": true + } + }, + "condition": "minecraft:entity_properties" +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_thundering.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_thundering.json new file mode 100644 index 00000000..932075a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/is_thundering.json @@ -0,0 +1,5 @@ +{ + "raining": true, + "thundering": true, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/weather_clear.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/weather_clear.json new file mode 100644 index 00000000..d39e2b4e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/predicates/weather_clear.json @@ -0,0 +1,5 @@ +{ + "raining": false, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/menu.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/menu.json new file mode 100644 index 00000000..3c96936e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/menu.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/run.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/run.json new file mode 100644 index 00000000..6bba3e12 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/admin/run.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/cmd/run" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_death.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_death.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_death.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_enchant.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_enchant.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_enchant.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_join.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_join.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_join.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_jump.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_jump.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_jump.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_lc.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_lc.json new file mode 100644 index 00000000..dddc9570 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_lc.json @@ -0,0 +1,3 @@ +{ + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_load.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_load.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_open_gui.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_open_gui.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_open_gui.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_rc.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_rc.json new file mode 100644 index 00000000..dddc9570 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_rc.json @@ -0,0 +1,3 @@ +{ + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_respawn.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_respawn.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/events/on_respawn.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init.json new file mode 100644 index 00000000..ee605466 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine:events/on_load" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init/pre_load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init/pre_load.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/init/pre_load.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/command_block_minecart.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/command_block_minecart.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/command_block_minecart.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/writable_book.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/writable_book.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/input/writable_book.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/internal/dispatch.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/internal/dispatch.json new file mode 100644 index 00000000..a4807253 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/internal/dispatch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/dispatch/run" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/loop.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/loop.json new file mode 100644 index 00000000..91d7b5c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine/tags/functions/loop.json @@ -0,0 +1,8 @@ +{ + "values": [ + "macroengine:input/writable_book", + "macroengine:input/command_block_minecart", + "macroengine:core/internal/api/cmd/freeze/tick", + "macroengine:input/private/cbm_align_tp" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/core/internal/load/cleanup.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/core/internal/load/cleanup.mcfunction new file mode 100644 index 00000000..7694270f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/core/internal/load/cleanup.mcfunction @@ -0,0 +1,137 @@ +schedule clear macroengine:core/lib/sync_tick + +forceload remove -30000000 1600 +forceload remove 0 0 + +scoreboard players reset @a macroengine_menu +scoreboard players reset @a macroengine_run + +scoreboard players reset $tick macroengine.tmp +scoreboard players reset $pq_depth macroengine.tmp +# $epoch intentionally preserved — cooldown expiry times depend on it + +data remove storage macroengine:engine queue +data remove storage macroengine:engine events +data remove storage macroengine:engine event_context +data remove storage macroengine:engine _event_tmp +data remove storage macroengine:engine cooldowns +data remove storage macroengine:engine throttle +data remove storage macroengine:engine players +data remove storage macroengine:engine flags +data remove storage macroengine:engine states +data remove storage macroengine:engine schedules +data remove storage macroengine:engine _input_stack +data remove storage macroengine:engine _repeat +data remove storage macroengine:engine _rng_state +data remove storage macroengine:engine _felist_input +data remove storage macroengine:engine _felist_state +data remove storage macroengine:engine _felist_current +data remove storage macroengine:engine _felist_i +data remove storage macroengine:engine log_display +scoreboard players reset #macroengine.log_count macroengine.tmp +data remove storage macroengine:engine trigger_binds +data remove storage macroengine:engine _tc_binds +data remove storage macroengine:engine _tc_current +data remove storage macroengine:engine _tc_unbind +data remove storage macroengine:engine _tc_uval +data remove storage macroengine:engine interaction_binds +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter +data remove storage macroengine:engine _ia_ucur +data remove storage macroengine:engine teams +data remove storage macroengine:engine global +data remove storage macroengine:output result + +# rate_limit module cleanup +data remove storage macroengine:engine rate_limit + +scoreboard objectives remove macroengine.tmp +scoreboard objectives remove macroengine.time +scoreboard objectives remove macroengine_menu +scoreboard objectives remove macroengine_run +scoreboard objectives remove macroengine_action +scoreboard objectives remove health +scoreboard objectives remove macroengine.pre_version + +scoreboard objectives remove macroengine.Flags +scoreboard objectives remove macroengine.hook_eat +scoreboard objectives remove macroengine.hook_fish +scoreboard objectives remove macroengine.state + +advancement revoke @a from macroengine:hidden/root + +scoreboard objectives remove macroengine.pid +scoreboard objectives remove macroengine.rightClick +data remove storage macroengine:engine wand_binds +data remove storage macroengine:engine _wand_iter +data remove storage macroengine:engine _wand_current +data remove storage macroengine:engine _wand_unbinds +data remove storage macroengine:engine _wand_filter_tag +data remove storage macroengine:engine _wand_cur +data remove storage macroengine:engine player_pids +data remove storage macroengine:engine _pid_seq + +# Hook module cleanup +scoreboard objectives remove macroengine.hook_online +scoreboard objectives remove macroengine.hook_deaths +scoreboard objectives remove macroengine.hook_placed +scoreboard objectives remove macroengine.hook_lvl +scoreboard objectives remove macroengine.hook_lvl_new +scoreboard objectives remove macroengine.hook_sneak +scoreboard objectives remove macroengine.hook_sprint +scoreboard objectives remove macroengine.hook_elytra +tag @a remove macroengine.hook_dead +tag @a remove macroengine.hook_sneaking +tag @a remove macroengine.hook_sprinting +tag @a remove macroengine.hook_gliding +scoreboard objectives remove macroengine.hook_tool_used +scoreboard objectives remove macroengine.hook_item_used +scoreboard objectives remove macroengine.hook_entity_killed +scoreboard objectives remove macroengine.hook_using_item +scoreboard objectives remove macroengine.hook_killed_by_arrow +scoreboard objectives remove macroengine.hook_hero_of_the_village +scoreboard objectives remove macroengine.hook_dim_changed +scoreboard objectives remove macroengine.hook_traded +scoreboard objectives remove macroengine.hook_jump +scoreboard objectives remove macroengine.hook_open_chest +scoreboard objectives remove macroengine.hook_drop +scoreboard objectives remove macroengine.hook_target_hit +data remove storage macroengine:engine hook_binds +data remove storage macroengine:engine _hook_iter +data remove storage macroengine:engine _hook_ctx +data remove storage macroengine:engine _hook_fire_event +data remove storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_unbinds +data remove storage macroengine:engine _hook_filter_event + +# Fiber module cleanup +data remove storage macroengine:engine fibers + +# Region watch cleanup +data remove storage macroengine:engine region_watches + +# Batch module cleanup +data remove storage macroengine:engine batches + +# Once-per-player cleanup +data remove storage macroengine:engine once_per_player + +# UUID cache cleanup +data remove storage macroengine:engine _uuid_cache + +# pid init temp cleanup +data remove storage macroengine:engine _pid_init_tmp + +# Color API cleanup +# palette and gradients are intentionally preserved (pack-owned data). +# _names is rebuilt each load by systems/color/init. +# fork_warn flags are transient — cleared on clean unload. +data remove storage macroengine:engine color._names +data remove storage macroengine:engine fork_warn +data remove storage macroengine:engine fork_warn_tick + +# BUGFIX v6.0.1: macroengine.meta scoreboard (used by _rt_origin watermark check) +# was never removed on disable/cleanup, causing scoreboard pollution across reloads. +scoreboard objectives remove macroengine.meta diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/collision.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/collision.mcfunction new file mode 100644 index 00000000..c1b6ac94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/collision.mcfunction @@ -0,0 +1,9 @@ +# macroengine_load:gate/collision +# A gate request came in while another was already pending. The original +# request keeps priority; this collision is logged instead of silently +# dropped. + +data modify storage macroengine:engine _log_add_tmp.message set value "[Gate] Collision: a gate request was dropped because one was already pending" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/no.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/no.mcfunction new file mode 100644 index 00000000..a6e0dcac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/no.mcfunction @@ -0,0 +1,13 @@ +# macroengine_load:gate/no +# Cancels the pending gated action without running it. +# Only players with macroengine.admin may call this directly (same trust +# boundary as gate/yes). + +execute unless entity @s[tag=macroengine.admin] run return 0 +execute unless data storage macroengine:engine pending_gate run return 0 + +schedule clear macroengine_load:gate/timeout + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Cancelled: ","color":"gray"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"}] + +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/request.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/request.mcfunction new file mode 100644 index 00000000..a3a3b675 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/request.mcfunction @@ -0,0 +1,32 @@ +# macroengine_load:gate/request +# Starts a confirm/cancel gated action. Any dangerous action (ban, kick, +# disable, sandbox toggle-off, ...) should route through here instead of +# executing immediately. +# +# INPUT (macro — all four required; pass args:{} for no-arg actions): +# $(type) -> gate type, e.g. "disable", "ban", "kick", "gate_bypass" +# $(label) -> human-readable text shown in the confirm prompt +# $(action) -> function to run on confirm, e.g. "macroengine:core/disable/main" +# $(args) -> compound of macro args passed to $(action) via +# run_action_with_args, e.g. {player:"Steve",reason:"x"}. +# Pass {} for actions that take no arguments. +# +# A single global pending_gate slot is used. If a second request comes in +# while one is already pending, the new request is dropped and the +# collision is logged — the original request keeps priority. +# +# KNOWN LIMITATION (not fixed here, pre-existing): +# Callers write to storage before gate/request's own #pending check runs, +# so a second caller can still race the check under concurrent execution. +# This affects all gate types, not just this one. + +execute if data storage macroengine:engine pending_gate run return run function macroengine_load:gate/collision + +$data modify storage macroengine:engine pending_gate.type set value "$(type)" +$data modify storage macroengine:engine pending_gate.label set value "$(label)" +$data modify storage macroengine:engine pending_gate.action set value "$(action)" +$data modify storage macroengine:engine pending_gate.args set value $(args) + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Confirmation required: ","color":"yellow"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"}," ",{"text":"[Confirm]","color":"green","bold":true,"clickEvent":{"action":"run_command","value":"/function macroengine_load:gate/yes"}}," ",{"text":"[Cancel]","color":"red","bold":true,"clickEvent":{"action":"run_command","value":"/function macroengine_load:gate/no"}}," ",{"text":"(30s)","color":"gray"}] + +schedule function macroengine_load:gate/timeout 30s diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/timeout.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/timeout.mcfunction new file mode 100644 index 00000000..03b1d963 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/timeout.mcfunction @@ -0,0 +1,10 @@ +# macroengine_load:gate/timeout +# Scheduled 30s after gate/request. If the gate is still pending (nobody +# confirmed or cancelled it), auto-cancel it. If gate/yes or gate/no +# already resolved it, this call is a no-op (the schedule was cleared). + +execute unless data storage macroengine:engine pending_gate run return 0 + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Timed out: ","color":"gray"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"},{"text":" (30s, no response)","color":"gray"}] + +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/disable.mcfunction new file mode 100644 index 00000000..6a5f72fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/disable.mcfunction @@ -0,0 +1,10 @@ +# macroengine_load:gate/toggle/disable +# Disables the gate system (macroengine:engine sandbox -> 0b), which means +# dangerous commands stop requiring confirmation. Disabling the gates +# is itself gated — same confirm/cancel/30s flow as ban/kick/disable — +# since turning off the safety net is a dangerous action in its own right. +# Re-enabling (gate/toggle/enable) needs no confirmation. + +execute unless entity @s[tag=macroengine.admin] run return 0 + +function macroengine_load:gate/request {type:"gate_bypass",label:"Disable gate confirmations (dangerous commands will run immediately)",action:"macroengine:core/internal/gate/toggle/disable_apply",args:{}} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/enable.mcfunction new file mode 100644 index 00000000..d231553e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/toggle/enable.mcfunction @@ -0,0 +1,9 @@ +# macroengine_load:gate/toggle/enable +# Re-enables the gate system (macroengine:engine sandbox -> 1b). No +# confirmation needed — turning the safety net back on is always safe. + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine sandbox set value 1b +data modify storage macroengine:engine config.sandbox set value 1b +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Gate confirmations re-enabled.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/yes.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/yes.mcfunction new file mode 100644 index 00000000..19b722e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/gate/yes.mcfunction @@ -0,0 +1,14 @@ +# macroengine_load:gate/yes +# Confirms the pending gated action and runs it. +# Only players with macroengine.admin may call this directly — vanilla target +# selectors cannot query real op/permission level, so the tag is the trust +# boundary here (same one load/other.mcfunction already uses for +# macroengine_menu/macroengine_run/macroengine_action). + +execute unless entity @s[tag=macroengine.admin] run return 0 +execute unless data storage macroengine:engine pending_gate run return 0 + +schedule clear macroengine_load:gate/timeout + +function macroengine:core/internal/gate/run_action with storage macroengine:engine pending_gate +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/init.mcfunction new file mode 100644 index 00000000..bfd47e43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/init.mcfunction @@ -0,0 +1 @@ +data modify storage runtoolkit:tmp seed set value [{name:"macroengine",load_fn:"macroengine_load:main",tick_fn:"macroengine.main:macroengine/tick",disable_fn:"macroengine:disable",version_score:"#runtoolkit.packs.macroengine.version"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/all.mcfunction new file mode 100644 index 00000000..fd49225a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/all.mcfunction @@ -0,0 +1,17 @@ +# macroengine_load:load/all — full init pipeline (no fork / rt_origin / confirm gates) + +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Starting macroEngine...","color":"gray"}] + +# forceload classic marker chunk (legacy features) +forceload add -30000000 1600 + +function macroengine_load:loader/scoreboards +function macroengine_load:loader/storages +function macroengine_load:loader/other + +# Re-apply config after storages (storages may reset defaults) +function macroengine:config + +data modify storage macroengine:engine global.loaded set value 1b + +schedule function macroengine_load:load/final 2s diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/final.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/final.mcfunction new file mode 100644 index 00000000..c5303e66 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/final.mcfunction @@ -0,0 +1,5 @@ +data modify storage macroengine:engine global.version set value "v6.0.2" +function #load:_private/load +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 602 + +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"macroEngine v6.0.2 loaded.","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/force.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/force.mcfunction new file mode 100644 index 00000000..2615aa65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/force.mcfunction @@ -0,0 +1,11 @@ +# macroengine_load:load/force +# Gated force reload: if the gate system is active (macroengine:engine +# sandbox:1b, the default), route through confirmation — force reload +# discards live engine state (global.loaded and everything load/all's +# "unless data" guards would otherwise preserve), so it is a dangerous +# action in the same class as ban/kick/disable. If gates were turned +# off via gate/toggle/disable, apply directly like before. + +execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"load_force",label:"Force reload macroengine (discards live engine state)",action:"macroengine:core/internal/load/force_apply",args:{}} + +function macroengine:core/internal/load/force_apply diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/post_load.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/post_load.mcfunction new file mode 100644 index 00000000..97b7aa3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/load/post_load.mcfunction @@ -0,0 +1,5 @@ +# Stage 4 — post_load: schedule #macroengine:init after DL finishes loading +# macroengine_load:load/all is scheduled at t+16 (from Stage 0 in macroengine_load:main). +# Firing #macroengine:init at t+20 gives 4 ticks of margin after macroengine is fully ready. +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Scheduling #macroengine:init (t+20)...","color":"gray"}] +schedule function #macroengine:init 20t replace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/other.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/other.mcfunction new file mode 100644 index 00000000..81c65f09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/other.mcfunction @@ -0,0 +1,20 @@ +forceload add 0 0 + +data modify storage macroengine:input func set value "macroengine:core/lib/sync_tick" +data modify storage macroengine:input interval set value 20 +data modify storage macroengine:input key set value "sync_tick" +function macroengine:core/lib/schedule with storage macroengine:input {} +data remove storage macroengine:input func +data remove storage macroengine:input interval +data remove storage macroengine:input key + +scoreboard players enable @a[tag=macroengine.admin] macroengine_menu +scoreboard players enable @a[tag=macroengine.admin] macroengine_run +scoreboard players enable @a[tag=macroengine.admin] macroengine_action + +# Initialize tick channel config on first world load +function macroengine:core/tick/init_channels + +# Assign pid for any players already online at load time +# (on_player_join won't fire for them after a /reload) +execute as @a run function macroengine:core/internal/player/init_online diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/scoreboards.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/scoreboards.mcfunction new file mode 100644 index 00000000..d605d3e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/scoreboards.mcfunction @@ -0,0 +1,80 @@ +# macroengine_load:loader/scoreboards +# (moved from macroengine_load:load/scoreboards in v6.0.2 — load/ vs loader/ +# separates gate/confirmation logic from the actual init routines) + +scoreboard objectives add macroengine.tmp dummy +scoreboard objectives add macroengine.meta dummy +scoreboard objectives add macroengine.time dummy +scoreboard objectives add macroengine_menu trigger +scoreboard objectives add macroengine_run trigger +scoreboard objectives add macroengine_action trigger +scoreboard objectives add dummy dummy +scoreboard objectives add macroengine.pre_version dummy +scoreboard objectives add macroengine.pid dummy +scoreboard objectives add macroengine.freeze_id dummy +scoreboard objectives add macroengine.onlinePlayers dummy + +# Wand module — carrot_on_a_stick right-click tracker +scoreboard objectives add macroengine.rightClick minecraft.used:minecraft.carrot_on_a_stick + +# Hook module scoreboards +scoreboard objectives add macroengine.hook_online dummy +# BUGFIX: existing players should not re-trigger as new joins after reload +scoreboard players set @a macroengine.hook_online 1 +scoreboard objectives add macroengine.hook_deaths deathCount +# NOTE: placed_blocks is not a general statistic — must be used as dummy +scoreboard objectives add macroengine.hook_placed dummy +scoreboard objectives add macroengine.hook_lvl dummy +scoreboard objectives add macroengine.hook_lvl_new dummy +# New hook scoreboards +scoreboard objectives add macroengine.hook_sneak dummy +scoreboard objectives add macroengine.hook_sprint dummy +scoreboard objectives add macroengine.hook_elytra dummy +# block_break — item_durability_changed advancement-based +scoreboard objectives add macroengine.hook_tool_used dummy +# item_use, entity_kill advancement-based +scoreboard objectives add macroengine.hook_item_used dummy +scoreboard objectives add macroengine.hook_entity_killed dummy +# using_item, killed_by_arrow, hero_of_the_village +scoreboard objectives add macroengine.hook_using_item dummy +scoreboard objectives add macroengine.hook_killed_by_arrow dummy +scoreboard objectives add macroengine.hook_hero_of_the_village dummy + +# geo/region_watch — no scoreboard needed for enter/leave tracking (uses entity tags) + +# hook/dimension_change — changed_dimension advancement-based +scoreboard objectives add macroengine.hook_dim_changed dummy + +# hook/trade — villager_trade advancement-based +scoreboard objectives add macroengine.hook_traded dummy + +# Tick channel dispatch +scoreboard objectives add macroengine.tick dummy +scoreboard objectives add macroengine.Flags dummy + +# Player stat hooks +scoreboard objectives add macroengine.hook_jump minecraft.custom:minecraft.jump +scoreboard objectives add macroengine.hook_open_chest minecraft.custom:minecraft.open_chest +scoreboard objectives add macroengine.hook_drop minecraft.custom:minecraft.drop +scoreboard objectives add macroengine.hook_target_hit minecraft.custom:minecraft.target_hit + +# hook/eat — consume_item advancement-based +scoreboard objectives add macroengine.hook_eat dummy +# hook/fish_caught — fishing_rod_hooked advancement-based +scoreboard objectives add macroengine.hook_fish dummy + +# input/validate module — scratch scores, all on the existing macroengine.tmp +# objective rather than a new one (macroengine.Len, macroengine.DotHits, etc. all live here) + +# Log level system: 0=off 1=error 2=warn 3=info 4=debug +scoreboard objectives add macroengine.log_level dummy +execute unless score #macroengine.log_level macroengine.log_level matches 0.. run scoreboard players set #macroengine.log_level macroengine.log_level 3 + +# Config scoreboard — fast integer config values (no storage lookup needed) +scoreboard objectives add macroengine.config dummy + +# Gamerule module — scratch scoreboard for numeric range checks +scoreboard objectives add macroengine.gamerule dummy + +# State scoreboard — per-player state machine (0=idle 1=combat 2=menu ...) +scoreboard objectives add macroengine.state dummy diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/storages.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/storages.mcfunction new file mode 100644 index 00000000..9ea4d33c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/loader/storages.mcfunction @@ -0,0 +1,201 @@ +# macroengine_load:loader/storages +# Initializes macroengine:engine storage fields that do not yet exist. +# (moved from macroengine_load:load/storages in v6.0.2 — load/ vs loader/ +# separates gate/confirmation logic from the actual init routines) +# +# SAFETY DESIGN +# ------------- +# EVERY write here uses 'execute unless data storage ...' guards. +# This means: +# - Fields that already exist from a prior session are NOT overwritten. +# - Only fields missing from storage are initialized. +# - Nondeterministic overwrite behaviour is impossible in this file. +# +# Fields that are INTENTIONALLY cleared on each reload are listed with +# explicit comments explaining why. +# +# SCOREBOARD SAFETY +# ----------------- +# Epoch is preserved across reloads — cooldown expiry times depend on it. +# Tick counter is reset (irrelevant across reloads — just a monotonic counter). +# pq_depth is reset (queue state cannot survive reload safely). +# +# STORAGE VERSION GUARD +# --------------------- +# validate.mcfunction blocks a second load if global{loaded:1b} is set, +# so we only reach here when storage is either: +# (a) fresh / never initialized, or +# (b) was cleanly disabled via macroengine:disable (cleanup removed global). +# In both cases, initializing with 'unless data' guards is safe. + +execute unless score $epoch macroengine.time matches -2147483648..2147483647 run scoreboard players set $epoch macroengine.time 0 +scoreboard players set $tick macroengine.tmp 0 + +scoreboard players set $pq_depth macroengine.tmp 0 + +scoreboard players set $pb_four macroengine.tmp 1 + +execute unless data storage macroengine:engine throttle run data modify storage macroengine:engine throttle set value {} + +execute unless data storage macroengine:engine flags run data modify storage macroengine:engine flags set value {} +execute unless data storage macroengine:engine states run data modify storage macroengine:engine states set value {} + +execute unless data storage macroengine:engine permissions run data modify storage macroengine:engine permissions set value {} + +execute unless data storage macroengine:engine perm_triggers run data modify storage macroengine:engine perm_triggers set value {} +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] + +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +execute unless data storage macroengine:engine interaction_binds run data modify storage macroengine:engine interaction_binds set value {attack:[], use:[]} + +execute unless data storage macroengine:engine player_pids run data modify storage macroengine:engine player_pids set value {} +execute unless data storage macroengine:engine _pid_seq run data modify storage macroengine:engine _pid_seq set value 0 + +# UUID module init +function macroengine:core/internal/systems/uuid/init + +# once_per_player module init +execute unless data storage macroengine:engine once_per_player run data modify storage macroengine:engine once_per_player set value {} + +# Wand module init +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] + +# Hook module init +execute unless data storage macroengine:engine hook_binds run data modify storage macroengine:engine hook_binds set value [] + +# lib/fiber module init +# BUGFIX: same issue as the queue note below — fibers was only ever +# cleared in cleanup.mcfunction (disable-only path, never /reload). +# A fiber record left over from before a reload would be orphaned now +# that queue is cleared below (nothing will ever resume it again), but +# clearing it explicitly here keeps the storage clean and matches what +# cleanup.mcfunction already does for the disable path. +data remove storage macroengine:engine fibers +data modify storage macroengine:engine fibers set value {} +# NOTE: fibers._pending no longer exists as of the resume_dispatch +# concurrency fix — resume targets now travel inside each queue entry +# (id/resume fields) instead of a separate shared FIFO list. + +# core/lib/process_queue module init +# BUGFIX: the header comment above ("pq_depth is reset — queue state +# cannot survive reload safely") describes intent that was never +# actually implemented. queue is only ever cleared in +# core/internal/load/cleanup.mcfunction, which is exclusively called +# from macroengine:disable — never from the /reload path (load/all.mcfunction +# does not call it). A queue entry left over from before a reload (e.g. +# a fiber resume, a delayed function/command) would silently keep +# running against whatever state exists after the reload, including +# referencing fiber ids or functions that no longer exist. Clearing it +# here actually fulfills what the comment above already claimed was +# happening. +data remove storage macroengine:engine queue + +# geo/region_watch module init +# Region watches are always cleared on reload — all packs must re-register +# their watches in the #macroengine:init function tag. This is intentional: +# region watch registrations are transient and pack-owned. +data remove storage macroengine:engine region_watches +data modify storage macroengine:engine region_watches set value [] + +# lib/batch module init +# Incomplete batches are always cleared on reload — they cannot be safely +# resumed across a reload boundary (executing context is gone). +data remove storage macroengine:engine batches +data modify storage macroengine:engine batches set value {} + +# Wand cooldown module — separate storage (avoids collision with macroengine:cooldown) +execute unless data storage macroengine:engine wand_cooldowns run data modify storage macroengine:engine wand_cooldowns set value {} + +# ───────────────────────────────────────────────────────────────── +# Security module init (v6.0.2+) +# BREAKING CHANGE: trust_players defaults to 0b — players must have +# macroengine.perm_level explicitly set. macroengine.admin tag alone gives no access. +# +# Fields (all preserved across reloads via 'unless data' guards): +# trust_players 0b = players not trusted (default, breaking) +# cmd_min_level min macroengine.perm_level to trigger $$(cmd) [3] +# sandbox_cmd_min_level stricter $$(cmd) floor when sandbox:1b [4] +# admin_min_level min level for cmd/ functions (check_all) [2] +# admin_can_override 0b = admins cannot bypass security rules +# sandbox_allowlist list of allowed command prefixes in sandbox [] +# auto_debug_tag 1b = macroengine.admin tag auto-grants macroengine.debug +# every tick (default, legacy behavior). 0b = +# admins must be given macroengine.debug explicitly +# via /function macroengine:debug/tools/admin/debug_tag/* +# (v6.0.2, 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 macroengine:debug/tools/log/enable (or disable). +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine security run data modify storage macroengine: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.2+ additions +# BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). +# Empty compound {} = all sandbox commands blocked. +# multi_type_allowlist: compound of permitted multiCommands.type values. +# multiCommands: tracks active multi-command execution context. +# ───────────────────────────────────────────────────────────────── +# Reset security to new compound format (migration: [] → {}) +execute if data storage macroengine:engine security.sandbox_allowlist[] run data modify storage macroengine:engine security.sandbox_allowlist set value {} +execute unless data storage macroengine:engine security run data modify storage macroengine: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 macroengine:engine security.sandbox_allowlist run data modify storage macroengine:engine security.sandbox_allowlist set value {} +execute unless data storage macroengine:engine security.multi_type_allowlist run data modify storage macroengine:engine security.multi_type_allowlist set value {multi_cmd:1b,multi_cmd_adv:1b} +# Migration: packs upgraded from pre-v6.0.2 will have a security +# compound already present without auto_debug_tag — backfill it so the +# '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 macroengine:engine security.auto_debug_tag run data modify storage macroengine: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 macroengine:engine security.debug_log run data modify storage macroengine: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 macroengine:engine debug_log_pos set value {x:X,y:Y,z:Z} +# then /function macroengine:systems/log/testblock/place to (re)place the block +# at the new coordinate. +execute unless data storage macroengine:engine debug_log_pos run data modify storage macroengine:engine debug_log_pos set value {x:-4,y:-58,z:-4} + +# multiCommands context tracker (always reset on load — transient state) +data remove storage macroengine:engine multiCommands +data modify storage macroengine:engine multiCommands set value {type:"",active:0b} + +# ───────────────────────────────────────────────────────────────── +# Module toggle init (macroengine:api/toggle) +# Each module defaults to enabled (1b) on first load. +# Preserved across reloads via 'unless data' guards — admin toggles survive /reload. +# Disable a module: /function macroengine:api/toggle//false +# Enable a module: /function macroengine:api/toggle//true +# List module states: /function macroengine:api/toggle/list +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine modules.hook run data modify storage macroengine:engine modules.hook set value 1b +execute unless data storage macroengine:engine modules.interaction run data modify storage macroengine:engine modules.interaction set value 1b +execute unless data storage macroengine:engine modules.perm run data modify storage macroengine:engine modules.perm set value 1b +execute unless data storage macroengine:engine modules.wand run data modify storage macroengine:engine modules.wand set value 1b +execute unless data storage macroengine:engine modules.geo run data modify storage macroengine:engine modules.geo set value 1b + +# ───────────────────────────────────────────────────────────────── +# cb module init +# cb_queue is always cleared on reload — in-flight delayed commands +# cannot be safely resumed across a reload boundary. +# ───────────────────────────────────────────────────────────────── +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] +data remove storage macroengine:engine _cb_last +data remove storage macroengine:engine _cb_work +data remove storage macroengine:engine _cb_entry +execute unless data storage macroengine:engine modules.cb run data modify storage macroengine:engine modules.cb set value 1b + +# ───────────────────────────────────────────────────────────────── +# Color API init +# Populates named color lookup table and initializes color namespace. +# palette and gradients are preserved across reloads (unless data guards). +# ───────────────────────────────────────────────────────────────── +function macroengine:systems/color/init diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/main.mcfunction new file mode 100644 index 00000000..511603eb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_load/functions/main.mcfunction @@ -0,0 +1,18 @@ +# macroengine_load:main — load entry +# Initial load runs unblocked (no confirmation gate — must not stall server +# startup). Reload data-loss is only a soft warning here; the actual +# force-reload path (macroengine_load:load/force) is gated when sandbox:1b — +# clicking the link below opens a confirm/cancel prompt instead of +# force-reiniting immediately. See macroengine_load:gate/request. + +function macroengine:config + +# Archive banner (score-controlled) +execute if score #runtoolkit.archivedpacks.macroengine macroengine.meta matches 1 run tellraw @s {"text":"[macroengine] This pack is marked archived (#runtoolkit.archivedpacks.macroengine=1).","color":"red"} + +# Already loaded → data-loss prevention notice (NOT a hard gate; does not block) +execute if data storage macroengine:engine global{loaded:1b} if data storage macroengine:engine config{reload_warn:1b} run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Reload: engine already loaded. Live storage kept. To force full re-init (requires confirmation): ","color":"yellow"},{"text":"/function macroengine_load:load/force","color":"aqua","underlined":true,"clickEvent":{"action":"run_command","value":"/function macroengine_load:load/force"}}] + +execute if data storage macroengine:engine global{loaded:1b} run return 0 + +schedule function macroengine_load:load/all 2s diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/attack_click_entity.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/attack_click_entity.json new file mode 100644 index 00000000..4410ba70 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/attack_click_entity.json @@ -0,0 +1,21 @@ +{ + "criteria": { + "attack_click_entity": { + "trigger": "minecraft:player_hurt_entity", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"player_action.click_entity\"]}" + }, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/attack_click_entity" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_anvil.json new file mode 100644 index 00000000..c0582965 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_anvil.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_anvil": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:anvil" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_anvil" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_barrel.json new file mode 100644 index 00000000..c35790da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_barrel.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_barrel": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:barrel" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_barrel" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_beacon.json new file mode 100644 index 00000000..230e0f6b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_beacon.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_beacon": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:beacon" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_beacon" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_blast_furnace.json new file mode 100644 index 00000000..0d008150 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_blast_furnace.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_blast_furnace": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:blast_furnace" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_blast_furnace" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_brewingstand.json new file mode 100644 index 00000000..5985ae65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_brewingstand.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_brewingstand": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:brewing_stand" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_brewingstand" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cake.json new file mode 100644 index 00000000..f387566f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cake.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_cake": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:cake" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cake" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_campfire.json new file mode 100644 index 00000000..fa24ba0d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_campfire.json @@ -0,0 +1,25 @@ +{ + "criteria": { + "interact_campfire": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:campfire", + "minecraft:soul_campfire" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_campfire" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cartopgraphy_table.json new file mode 100644 index 00000000..41bb6899 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cartopgraphy_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_cartopgraphy_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:cartography_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cartopgraphy_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cauldron.json new file mode 100644 index 00000000..e02466df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_cauldron.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_cauldron": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": "#minecraft:cauldrons" + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cauldron" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_chest.json new file mode 100644 index 00000000..95908771 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_chest.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_chest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:chest" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_chest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_click_entity.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_click_entity.json new file mode 100644 index 00000000..c4b97ee0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_click_entity.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_click_entity": { + "trigger": "minecraft:player_interacted_with_entity", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"player_action.click_entity\"]}", + "entity_type": "minecraft:interaction" + }, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_click_entity" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_crafting_table.json new file mode 100644 index 00000000..0a28f8e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_crafting_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_crafting_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:crafting_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_crafting_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dispenser.json new file mode 100644 index 00000000..d3e1f49f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dispenser.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_dispenser": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:dispenser" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_dispenser" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dropper.json new file mode 100644 index 00000000..1a3f48ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_dropper.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_dropper": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:dropper" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_dropper" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_enderchest.json new file mode 100644 index 00000000..f2f0235d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_enderchest.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_enderchest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": "minecraft:ender_chest" + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_enderchest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_flower_pot.json new file mode 100644 index 00000000..fcb173c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_flower_pot.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_flower_pot": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:flower_pot" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_flower_pot" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_furnace.json new file mode 100644 index 00000000..b4cbad1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_furnace.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_furnace": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:furnace" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_furnace" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_grindstone.json new file mode 100644 index 00000000..8a6017a6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_grindstone.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_grindstone": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:grindstone" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_grindstone" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_hopper.json new file mode 100644 index 00000000..c0f90c3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_hopper.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_hopper": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:hopper" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_hopper" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_jukebox.json new file mode 100644 index 00000000..16c1400f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_jukebox.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_jukebox": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:jukebox" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_jukebox" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_lectern.json new file mode 100644 index 00000000..cb2377f9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_lectern.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_lectern": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:lectern" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_lectern" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_loom.json new file mode 100644 index 00000000..7de2c6a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_loom.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_loom": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:loom" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_loom" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_noteblock.json new file mode 100644 index 00000000..ef385dda --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_noteblock.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_noteblock": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:note_block" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_noteblock" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_shulker_box.json new file mode 100644 index 00000000..e59e63c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_shulker_box.json @@ -0,0 +1,40 @@ +{ + "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": "macroengine_player:core/internal/v1/interact_shulker_box" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smithing_table.json new file mode 100644 index 00000000..2529512c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smithing_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_smithing_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:smithing_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_smithing_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smoker.json new file mode 100644 index 00000000..d9cf0621 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_smoker.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_smoker": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:smoker" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_smoker" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_stonecutter.json new file mode 100644 index 00000000..94f24fc0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_stonecutter.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_stonecutter": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:stonecutter" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_stonecutter" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_trapped_chest.json new file mode 100644 index 00000000..f7296abc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_trapped_chest.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_trapped_chest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:trapped_chest" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_trapped_chest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_vault.json new file mode 100644 index 00000000..a6211ea2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/advancements/v1/interact_vault.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_vault": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:vault" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_vault" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/attack_click_entity.mcfunction new file mode 100644 index 00000000..894a11a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/attack_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if entity @s[tag=player_action.click_detection] run function #macroengine_player:v1/internal/attack_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_anvil.mcfunction new file mode 100644 index 00000000..e0342027 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_anvil.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_barrel.mcfunction new file mode 100644 index 00000000..0cfee42d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_barrel.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_beacon.mcfunction new file mode 100644 index 00000000..c35cbd82 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_beacon.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..0089c20b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_blast_furnace.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_brewingstand.mcfunction new file mode 100644 index 00000000..dd0c0fca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_brewingstand.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cake.mcfunction new file mode 100644 index 00000000..2996bd65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cake.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_campfire.mcfunction new file mode 100644 index 00000000..07fb7b5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_campfire.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_campfire diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cartopgraphy_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cartopgraphy_table.mcfunction new file mode 100644 index 00000000..8ca7ee35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cartopgraphy_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cauldron.mcfunction new file mode 100644 index 00000000..354a3b99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_cauldron.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_chest.mcfunction new file mode 100644 index 00000000..0760d65b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_chest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_click_entity.mcfunction new file mode 100644 index 00000000..707acf29 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if entity @s[tag=player_action.click_detection] run function #macroengine_player:v1/internal/interact_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_crafting_table.mcfunction new file mode 100644 index 00000000..e0f51e43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_crafting_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dispenser.mcfunction new file mode 100644 index 00000000..54dd1f07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dispenser.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dropper.mcfunction new file mode 100644 index 00000000..2b601f0b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_dropper.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_enderchest.mcfunction new file mode 100644 index 00000000..d9ccaa49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_enderchest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_flower_pot.mcfunction new file mode 100644 index 00000000..d265b808 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_flower_pot.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_furnace.mcfunction new file mode 100644 index 00000000..80956036 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_furnace.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_grindstone.mcfunction new file mode 100644 index 00000000..b71acb55 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_grindstone.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_hopper.mcfunction new file mode 100644 index 00000000..7a58f91a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_hopper.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_jukebox.mcfunction new file mode 100644 index 00000000..f29a9e35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_jukebox.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_lectern.mcfunction new file mode 100644 index 00000000..9ad47f93 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_lectern.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_loom.mcfunction new file mode 100644 index 00000000..a3900bcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_loom.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_noteblock.mcfunction new file mode 100644 index 00000000..b40dc926 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_noteblock.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_shulker_box.mcfunction new file mode 100644 index 00000000..bf8ca6c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_shulker_box.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smithing_table.mcfunction new file mode 100644 index 00000000..898f985f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smithing_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smoker.mcfunction new file mode 100644 index 00000000..5ce8f524 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_smoker.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_stonecutter.mcfunction new file mode 100644 index 00000000..e0b78785 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_stonecutter.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..ef9971c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_trapped_chest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_vault.mcfunction new file mode 100644 index 00000000..bdf960b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/core/internal/v1/interact_vault.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/enumerate.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/enumerate.mcfunction new file mode 100644 index 00000000..41194d4e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/enumerate.mcfunction @@ -0,0 +1,7 @@ + +scoreboard players add #player_action.major load.status 0 +scoreboard players add #player_action.minor load.status 0 + +execute if score #player_action.major load.status matches ..0 run scoreboard players set #player_action.minor load.status 7 +execute if score #player_action.major load.status matches ..0 run scoreboard players set #player_action.major load.status 1 +execute if score #player_action.major load.status matches 1 if score #player_action.minor load.status matches ..7 run scoreboard players set #player_action.minor load.status 7 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/init.mcfunction new file mode 100644 index 00000000..481922a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/init.mcfunction @@ -0,0 +1,31 @@ + +schedule function macroengine_player:v1.7/tick 5t +schedule function macroengine_player:v1.7/player/click_detection/tick_entities 100t +data merge storage macroengine_player:temp {list:[], obj:{}, var:""} + +# dummy +scoreboard objectives add player_action.data dummy + +scoreboard objectives add player_action.uuid.0 dummy +scoreboard objectives add player_action.uuid.1 dummy +scoreboard objectives add player_action.uuid.2 dummy +scoreboard objectives add player_action.uuid.3 dummy + +scoreboard objectives add player_action.x dummy +scoreboard objectives add player_action.y dummy +scoreboard objectives add player_action.z dummy + +# movement +scoreboard objectives add player_action.aviate minecraft.custom:minecraft.aviate_one_cm +scoreboard objectives add player_action.climb minecraft.custom:minecraft.climb_one_cm +scoreboard objectives add player_action.fall minecraft.custom:minecraft.fall_one_cm +scoreboard objectives add player_action.fly minecraft.custom:minecraft.fly_one_cm +scoreboard objectives add player_action.walk minecraft.custom:minecraft.walk_one_cm +scoreboard objectives add player_action.jump minecraft.custom:minecraft.jump + +# other interactions +scoreboard objectives add player_action.death minecraft.custom:minecraft.deaths +scoreboard objectives add player_action.join minecraft.custom:minecraft.leave_game +scoreboard objectives add player_action.enchant minecraft.custom:minecraft.enchant_item +scoreboard objectives add player_action.use_coas minecraft.used:minecraft.carrot_on_a_stick +scoreboard objectives add player_action.use_wfoas minecraft.used:minecraft.warped_fungus_on_a_stick diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/attack_click_entity.mcfunction new file mode 100644 index 00000000..abc3bb6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/attack_click_entity.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/attack_click_entity +function #macroengine_player:v1/left_click diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/end.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/end.mcfunction new file mode 100644 index 00000000..b63112ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/end.mcfunction @@ -0,0 +1,13 @@ + +# copy uuid +scoreboard players operation #uuid.0 player_action.data = @s player_action.uuid.0 +scoreboard players operation #uuid.1 player_action.data = @s player_action.uuid.1 +scoreboard players operation #uuid.2 player_action.data = @s player_action.uuid.2 +scoreboard players operation #uuid.3 player_action.data = @s player_action.uuid.3 + +# destroy entities +execute as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run tp @s ~ -300 ~ +execute as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run kill @s + +# remove tag +tag @s remove player_action.click_detection diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/interact_click_entity.mcfunction new file mode 100644 index 00000000..65776e82 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/interact_click_entity.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_click_entity +function #macroengine_player:v1/right_click diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/process.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/process.mcfunction new file mode 100644 index 00000000..4d292a42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/process.mcfunction @@ -0,0 +1,13 @@ + +# copy uuid +scoreboard players operation #uuid.0 player_action.data = @s player_action.uuid.0 +scoreboard players operation #uuid.1 player_action.data = @s player_action.uuid.1 +scoreboard players operation #uuid.2 player_action.data = @s player_action.uuid.2 +scoreboard players operation #uuid.3 player_action.data = @s player_action.uuid.3 + +# start detection +execute if entity @s[tag=!player_action.click_detection] run function macroengine_player:v1.7/player/click_detection/start + +# teleport villager +execute if entity @s[tag=!player_action.moving] as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run tp @s ~ ~0.75 ~ +execute if entity @s[tag=player_action.moving] as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] positioned ~ ~0.75 ~ run tp @s ^ ^ ^1.5 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start.mcfunction new file mode 100644 index 00000000..84e533ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start.mcfunction @@ -0,0 +1,4 @@ + +tag @s add player_action.click_detection +summon minecraft:interaction ~ ~ ~ {Tags:["player_action.click_entity","player_action.new","smithed.entity","smithed.strict"]} +execute as @e[type=minecraft:interaction,tag=player_action.new] at @s run function macroengine_player:v1.7/player/click_detection/start_2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start_2.mcfunction new file mode 100644 index 00000000..e066d251 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/start_2.mcfunction @@ -0,0 +1,7 @@ + +scoreboard players operation @s player_action.uuid.0 = #uuid.0 player_action.data +scoreboard players operation @s player_action.uuid.1 = #uuid.1 player_action.data +scoreboard players operation @s player_action.uuid.2 = #uuid.2 player_action.data +scoreboard players operation @s player_action.uuid.3 = #uuid.3 player_action.data + +tag @s remove player_action.new diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick.mcfunction new file mode 100644 index 00000000..95e29c30 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick.mcfunction @@ -0,0 +1,5 @@ + +execute store result score #temp player_action.data if items entity @s weapon.mainhand *[minecraft:custom_data~{macroengine_player:{click_detection:1b}}] + +execute if score #temp player_action.data matches 0 if entity @s[tag=player_action.click_detection] run function macroengine_player:v1.7/player/click_detection/end +execute if score #temp player_action.data matches 1 run function macroengine_player:v1.7/player/click_detection/process diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities.mcfunction new file mode 100644 index 00000000..a15ef344 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities.mcfunction @@ -0,0 +1,3 @@ + +schedule function macroengine_player:v1.7/player/click_detection/tick_entities 100t +execute as @e[type=minecraft:interaction,tag=player_action.click_entity] at @s run function macroengine_player:v1.7/player/click_detection/tick_entities_2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities_2.mcfunction new file mode 100644 index 00000000..8b05b681 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/click_detection/tick_entities_2.mcfunction @@ -0,0 +1,4 @@ + +execute store result score #temp player_action.data if entity @p[distance=..10,tag=player_action.click_detection] +execute if score #temp player_action.data matches 0 run tp @s ~ -300 ~ +execute if score #temp player_action.data matches 0 run kill @s diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_anvil.mcfunction new file mode 100644 index 00000000..0d148adf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_anvil.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_anvil +function #macroengine_player:v1/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_barrel.mcfunction new file mode 100644 index 00000000..d06b117c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_barrel.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_barrel +function #macroengine_player:v1/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_beacon.mcfunction new file mode 100644 index 00000000..f3f003bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_beacon.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_beacon +function #macroengine_player:v1/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..5a056278 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_blast_furnace.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_blast_furnace +function #macroengine_player:v1/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_brewingstand.mcfunction new file mode 100644 index 00000000..ef878311 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_brewingstand.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_brewingstand +function #macroengine_player:v1/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cake.mcfunction new file mode 100644 index 00000000..2c97db27 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cake.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cake +function #macroengine_player:v1/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_campfire.mcfunction new file mode 100644 index 00000000..2512a182 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_campfire.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_campfire +function #macroengine_player:v1/interact_campfire diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cartopgraphy_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cartopgraphy_table.mcfunction new file mode 100644 index 00000000..e25620ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cartopgraphy_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cartography_table +function #macroengine_player:v1/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cauldron.mcfunction new file mode 100644 index 00000000..7a19ebb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_cauldron.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cauldron +function #macroengine_player:v1/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_chest.mcfunction new file mode 100644 index 00000000..20274263 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_chest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_chest +function #macroengine_player:v1/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_crafting_table.mcfunction new file mode 100644 index 00000000..2ea9e883 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_crafting_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_crafting_table +function #macroengine_player:v1/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dispenser.mcfunction new file mode 100644 index 00000000..6a404d8b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dispenser.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_dispenser +function #macroengine_player:v1/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dropper.mcfunction new file mode 100644 index 00000000..149af673 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_dropper.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_dropper +function #macroengine_player:v1/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_enderchest.mcfunction new file mode 100644 index 00000000..4d6f28c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_enderchest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_enderchest +function #macroengine_player:v1/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_flower_pot.mcfunction new file mode 100644 index 00000000..aea70c16 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_flower_pot.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_flower_pot +function #macroengine_player:v1/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_furnace.mcfunction new file mode 100644 index 00000000..2404fd22 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_furnace.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_furnace +function #macroengine_player:v1/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_grindstone.mcfunction new file mode 100644 index 00000000..b240138c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_grindstone.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_grindstone +function #macroengine_player:v1/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_hopper.mcfunction new file mode 100644 index 00000000..c2543f1f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_hopper.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_hopper +function #macroengine_player:v1/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_jukebox.mcfunction new file mode 100644 index 00000000..98ae6dea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_jukebox.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_jukebox +function #macroengine_player:v1/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_lectern.mcfunction new file mode 100644 index 00000000..dc5233db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_lectern.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_lectern +function #macroengine_player:v1/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_loom.mcfunction new file mode 100644 index 00000000..b44b04a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_loom.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_loom +function #macroengine_player:v1/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_noteblock.mcfunction new file mode 100644 index 00000000..bb2e28f1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_noteblock.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_noteblock +function #macroengine_player:v1/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_shulker_box.mcfunction new file mode 100644 index 00000000..77ca3571 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_shulker_box.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_shulker_box +function #macroengine_player:v1/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smithing_table.mcfunction new file mode 100644 index 00000000..300dc7f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smithing_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_smithing_table +function #macroengine_player:v1/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smoker.mcfunction new file mode 100644 index 00000000..f37dee6b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_smoker.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_smoker +function #macroengine_player:v1/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_stonecutter.mcfunction new file mode 100644 index 00000000..ed4367dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_stonecutter.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_stonecutter +function #macroengine_player:v1/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..947d99cc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_trapped_chest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_trapped_chest +function #macroengine_player:v1/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_vault.mcfunction new file mode 100644 index 00000000..ab31a2fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/interact/interact_vault.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_vault +function #macroengine_player:v1/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/is_moving.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/is_moving.mcfunction new file mode 100644 index 00000000..42361498 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/is_moving.mcfunction @@ -0,0 +1,24 @@ + +# cache position +data modify storage macroengine_player:temp list set from entity @s Pos + +# calc difference +execute store result score #x player_action.data run data get storage macroengine_player:temp list[0] 70 +scoreboard players operation #temp player_action.data = #x player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.x +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +execute store result score #y player_action.data run data get storage macroengine_player:temp list[1] 70 +scoreboard players operation #temp player_action.data = #y player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.y +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +execute store result score #z player_action.data run data get storage macroengine_player:temp list[2] 70 +scoreboard players operation #temp player_action.data = #z player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.z +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +# save score +scoreboard players operation @s player_action.x = #x player_action.data +scoreboard players operation @s player_action.y = #y player_action.data +scoreboard players operation @s player_action.z = #z player_action.data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/process_data.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/process_data.mcfunction new file mode 100644 index 00000000..997db625 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/process_data.mcfunction @@ -0,0 +1,28 @@ + +execute if score @s player_action.fly matches 1.. run tag @s add player_action.flying +execute if score @s player_action.walk matches 1.. run tag @s add player_action.walking +execute if score @s player_action.fall matches 1.. run tag @s add player_action.falling +execute if score @s player_action.climb matches 1.. run tag @s add player_action.climbing +execute if score @s player_action.aviate matches 1.. run tag @s add player_action.elyra_flying + +execute if predicate macroengine_player:v1/swimming run tag @s add player_action.swimming +execute if predicate macroengine_player:v1/sneaking run tag @s add player_action.sneaking +execute if predicate macroengine_player:v1/sprinting run tag @s add player_action.sprinting +execute if predicate macroengine_player:v1/riding_pig run tag @s add player_action.riding_pig +execute if predicate macroengine_player:v1/riding_boat run tag @s add player_action.riding_boat +execute if predicate macroengine_player:v1/riding_mule run tag @s add player_action.riding_mule +execute if predicate macroengine_player:v1/riding_llama run tag @s add player_action.riding_llama +execute if predicate macroengine_player:v1/riding_horse run tag @s add player_action.riding_horse +execute if predicate macroengine_player:v1/riding_donkey run tag @s add player_action.riding_donkey +execute if predicate macroengine_player:v1/riding_strider run tag @s add player_action.riding_strider +execute if predicate macroengine_player:v1/riding_minecart run tag @s add player_action.riding_minecart + +execute if score @s player_action.death matches 1.. run function #macroengine_player:v1/died +execute if score @s player_action.enchant matches 1.. run function #macroengine_player:v1/enchanted +execute if score @s player_action.jump matches 1.. run function #macroengine_player:v1/jumped +execute if score @s player_action.use_coas matches 1.. run function #macroengine_player:v1/right_click +execute if score @s player_action.use_wfoas matches 1.. run function #macroengine_player:v1/right_click + +execute if score @s player_action.join matches 1.. run function #macroengine_player:v1/joined +execute unless score @s player_action.join matches 0.. run function #macroengine_player:v1/joined +execute unless score @s player_action.join matches 0.. run scoreboard players add @s player_action.join 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/remove_tags.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/remove_tags.mcfunction new file mode 100644 index 00000000..4cf3788d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/remove_tags.mcfunction @@ -0,0 +1,18 @@ + +tag @s remove player_action.moving +tag @s remove player_action.flying +tag @s remove player_action.walking +tag @s remove player_action.falling +tag @s remove player_action.climbing +tag @s remove player_action.elyra_flying +tag @s remove player_action.swimming +tag @s remove player_action.sneaking +tag @s remove player_action.sprinting +tag @s remove player_action.riding_pig +tag @s remove player_action.riding_boat +tag @s remove player_action.riding_mule +tag @s remove player_action.riding_llama +tag @s remove player_action.riding_horse +tag @s remove player_action.riding_donkey +tag @s remove player_action.riding_strider +tag @s remove player_action.riding_minecart diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/reset_scores.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/reset_scores.mcfunction new file mode 100644 index 00000000..54b543df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/reset_scores.mcfunction @@ -0,0 +1,12 @@ + +scoreboard players set @s player_action.fly 0 +scoreboard players set @s player_action.walk 0 +scoreboard players set @s player_action.fall 0 +scoreboard players set @s player_action.climb 0 +scoreboard players set @s player_action.aviate 0 +scoreboard players set @s player_action.death 0 +scoreboard players set @s player_action.enchant 0 +scoreboard players set @s player_action.jump 0 +scoreboard players set @s player_action.use_coas 0 +scoreboard players set @s player_action.use_wfoas 0 +scoreboard players set @s player_action.join 0 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/set_uuid.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/set_uuid.mcfunction new file mode 100644 index 00000000..6da870db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/set_uuid.mcfunction @@ -0,0 +1,5 @@ + +execute store result score @s player_action.uuid.0 run data get entity @s UUID[0] +execute store result score @s player_action.uuid.1 run data get entity @s UUID[1] +execute store result score @s player_action.uuid.2 run data get entity @s UUID[2] +execute store result score @s player_action.uuid.3 run data get entity @s UUID[3] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/tick.mcfunction new file mode 100644 index 00000000..0db45fbf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/player/tick.mcfunction @@ -0,0 +1,11 @@ + +function macroengine_player:v1.7/player/remove_tags + +execute unless score @s player_action.uuid.0 matches -2147483648.. run function macroengine_player:v1.7/player/set_uuid +function macroengine_player:v1.7/player/is_moving +function macroengine_player:v1.7/player/process_data +function macroengine_player:v1.7/player/click_detection/tick + +function macroengine_player:v1.7/player/reset_scores + +function #macroengine_player:v1/tick diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/resolve.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/resolve.mcfunction new file mode 100644 index 00000000..538f0a09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/resolve.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/init diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/tick.mcfunction new file mode 100644 index 00000000..0f5347ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/tick.mcfunction @@ -0,0 +1,4 @@ + +schedule function macroengine_player:v1.7/tick 1t + +execute as @a at @s run function macroengine_player:v1.7/player/tick diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/attack_click_entity.mcfunction new file mode 100644 index 00000000..570148c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/attack_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/click_detection/attack_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_anvil.mcfunction new file mode 100644 index 00000000..2844ccca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_anvil.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_barrel.mcfunction new file mode 100644 index 00000000..7a486fc0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_barrel.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_beacon.mcfunction new file mode 100644 index 00000000..01a8d4de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_beacon.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..98711c2f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_blast_furnace.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_brewingstand.mcfunction new file mode 100644 index 00000000..a90eec80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_brewingstand.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cake.mcfunction new file mode 100644 index 00000000..65d60963 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cake.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_campfire.mcfunction new file mode 100644 index 00000000..58b246c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_campfire.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cartography_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cartography_table.mcfunction new file mode 100644 index 00000000..14202b8f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cartography_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cauldron.mcfunction new file mode 100644 index 00000000..eaf552bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_cauldron.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_chest.mcfunction new file mode 100644 index 00000000..dd3898f9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_chest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_click_entity.mcfunction new file mode 100644 index 00000000..bc9e49c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/click_detection/interact_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_crafting_table.mcfunction new file mode 100644 index 00000000..3e10b53c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_crafting_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dispenser.mcfunction new file mode 100644 index 00000000..58b246c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dispenser.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dropper.mcfunction new file mode 100644 index 00000000..17c6ff55 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_dropper.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_enderchest.mcfunction new file mode 100644 index 00000000..a31d07d4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_enderchest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_flower_pot.mcfunction new file mode 100644 index 00000000..17f940b0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_flower_pot.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_furnace.mcfunction new file mode 100644 index 00000000..e9c1362f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_furnace.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_grindstone.mcfunction new file mode 100644 index 00000000..5fca9d84 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_grindstone.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_hopper.mcfunction new file mode 100644 index 00000000..e60f6f02 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_hopper.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_jukebox.mcfunction new file mode 100644 index 00000000..ffef7828 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_jukebox.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_lectern.mcfunction new file mode 100644 index 00000000..33398655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_lectern.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_loom.mcfunction new file mode 100644 index 00000000..6184ee90 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_loom.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_noteblock.mcfunction new file mode 100644 index 00000000..d911c930 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_noteblock.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_shulker_box.mcfunction new file mode 100644 index 00000000..9f324ac7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_shulker_box.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smithing_table.mcfunction new file mode 100644 index 00000000..669c56ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smithing_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smoker.mcfunction new file mode 100644 index 00000000..aaf00fbb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_smoker.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_stonecutter.mcfunction new file mode 100644 index 00000000..31261140 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_stonecutter.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..99d0afda --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_trapped_chest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_vault.mcfunction new file mode 100644 index 00000000..fabd5310 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/functions/v1.7/versioning/interact_vault.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1.7/is_correct_version.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1.7/is_correct_version.json new file mode 100644 index 00000000..d4dd7244 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1.7/is_correct_version.json @@ -0,0 +1,53 @@ +{ + "terms": [ + { + "value": 1, + "range": { + "min": { + "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" + }, + "score": "load.status", + "scale": 1 + } + }, + "condition": "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 + } + }, + "condition": "minecraft:value_check" + } + ], + "condition": "minecraft:all_of" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/equals_uuid.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/equals_uuid.json new file mode 100644 index 00000000..8e13e870 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/equals_uuid.json @@ -0,0 +1,109 @@ +{ + "terms": [ + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.0" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.1" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.2" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.3" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.3" + }, + "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/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_boat.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_boat.json new file mode 100644 index 00000000..0f0b32cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_boat.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "#minecraft:boat" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_donkey.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_donkey.json new file mode 100644 index 00000000..2ffcadc4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_donkey.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:donkey" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_horse.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_horse.json new file mode 100644 index 00000000..dfb83d36 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_horse.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:horse" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_llama.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_llama.json new file mode 100644 index 00000000..5a4da40c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_llama.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:llama" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_minecart.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_minecart.json new file mode 100644 index 00000000..9e77e63a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_minecart.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:minecart" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_mule.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_mule.json new file mode 100644 index 00000000..88b7aaf4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_mule.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:mule" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_pig.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_pig.json new file mode 100644 index 00000000..2c8abe85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_pig.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:pig" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_strider.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_strider.json new file mode 100644 index 00000000..de2fe5b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/riding_strider.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:strider" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sneaking.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sneaking.json new file mode 100644 index 00000000..76fe0f18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sneaking.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sprinting.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sprinting.json new file mode 100644 index 00000000..a9b65f1b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/sprinting.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/swimming.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/swimming.json new file mode 100644 index 00000000..b65a1fbd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/predicates/v1/swimming.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_swimming": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/enumerate.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/enumerate.json new file mode 100644 index 00000000..8248be50 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/enumerate.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/enumerate" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/load.json new file mode 100644 index 00000000..206d6d0b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/load.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:enumerate", + "#macroengine_player:resolve" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/resolve.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/resolve.json new file mode 100644 index 00000000..b34aa0c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/resolve.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/resolve" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/died.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/died.json new file mode 100644 index 00000000..879f7493 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/died.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_player_death" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/enchanted.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/enchanted.json new file mode 100644 index 00000000..e61011f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/enchanted.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_enchant" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_anvil.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_anvil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_barrel.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_barrel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_beacon.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_beacon.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_blast_furnace.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_blast_furnace.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_block.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_block.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_block.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_brewingstand.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_brewingstand.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cake.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cake.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_campfire.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_campfire.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cartopgraphy_table.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cartopgraphy_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cauldron.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_cauldron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_chest.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_chest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_crafting_table.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_crafting_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dispenser.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dispenser.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dropper.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_dropper.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_enderchest.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_enderchest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_flower_pot.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_flower_pot.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_furnace.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_furnace.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_grindstone.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_grindstone.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_hopper.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_hopper.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_jukebox.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_jukebox.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_lectern.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_lectern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_loom.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_loom.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_noteblock.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_noteblock.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_shulker_box.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_shulker_box.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smithing_table.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smithing_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smoker.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_smoker.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_stonecutter.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_stonecutter.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_trapped_chest.json new file mode 100644 index 00000000..d8ff1e2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_trapped_chest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_vault.json new file mode 100644 index 00000000..1555f01d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/interact_vault.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/attack_click_entity.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/attack_click_entity.json new file mode 100644 index 00000000..09df1431 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/attack_click_entity.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/attack_click_entity" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_anvil.json new file mode 100644 index 00000000..95906a93 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_anvil.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_anvil" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_barrel.json new file mode 100644 index 00000000..8a8d6d68 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_barrel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_barrel" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_beacon.json new file mode 100644 index 00000000..02e082d8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_beacon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_beacon" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_blast_furnace.json new file mode 100644 index 00000000..9ad8416a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_blast_furnace.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_blast_furnace" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_brewingstand.json new file mode 100644 index 00000000..234af203 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_brewingstand.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_brewingstand" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cake.json new file mode 100644 index 00000000..43564ee1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cake.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cake" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_campfire.json new file mode 100644 index 00000000..8d4246e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_campfire.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_campfire" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cartopgraphy_table.json new file mode 100644 index 00000000..b4d36021 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cartopgraphy_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cartography_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cauldron.json new file mode 100644 index 00000000..36fe4917 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_cauldron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cauldron" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_chest.json new file mode 100644 index 00000000..2cf84f10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_chest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_chest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_click_entity.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_click_entity.json new file mode 100644 index 00000000..e9ef7887 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_click_entity.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_click_entity" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_crafting_table.json new file mode 100644 index 00000000..01c2a3f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_crafting_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_crafting_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dispenser.json new file mode 100644 index 00000000..8b0f1e17 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dispenser.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_dispenser" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dropper.json new file mode 100644 index 00000000..73a04ed6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_dropper.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_dropper" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_enderchest.json new file mode 100644 index 00000000..3bb10b9d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_enderchest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_enderchest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_flower_pot.json new file mode 100644 index 00000000..e33567ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_flower_pot.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_flower_pot" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_furnace.json new file mode 100644 index 00000000..9f5dc0d3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_furnace.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_furnace" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_grindstone.json new file mode 100644 index 00000000..c7ee897d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_grindstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_grindstone" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_hopper.json new file mode 100644 index 00000000..267fb379 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_hopper.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_hopper" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_jukebox.json new file mode 100644 index 00000000..d114db47 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_jukebox.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_jukebox" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_lectern.json new file mode 100644 index 00000000..64b32e7e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_lectern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_lectern" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_loom.json new file mode 100644 index 00000000..8dbaaf8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_loom.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_loom" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_noteblock.json new file mode 100644 index 00000000..7139676d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_noteblock.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_noteblock" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_shulker_box.json new file mode 100644 index 00000000..069ef563 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_shulker_box.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_shulker_box" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smithing_table.json new file mode 100644 index 00000000..75206b2d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smithing_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_smithing_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smoker.json new file mode 100644 index 00000000..b78acf72 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_smoker.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_smoker" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_stonecutter.json new file mode 100644 index 00000000..722f5d53 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_stonecutter.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_stonecutter" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_trapped_chest.json new file mode 100644 index 00000000..53b62ceb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_trapped_chest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_trapped_chest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_vault.json new file mode 100644 index 00000000..e0ff9f3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/internal/interact_vault.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_vault" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/joined.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/joined.json new file mode 100644 index 00000000..20c71a26 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/joined.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_player_join" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/jumped.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/jumped.json new file mode 100644 index 00000000..b5027fc4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/jumped.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_jump" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/left_click.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/left_click.json new file mode 100644 index 00000000..3e84c80c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/left_click.json @@ -0,0 +1,3 @@ +{ + "values": ["macroengine:core/internal/systems/hook/on_lc"] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/open_gui.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/open_gui.json new file mode 100644 index 00000000..1c734cd2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/open_gui.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/right_click.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/right_click.json new file mode 100644 index 00000000..03c7ef81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/right_click.json @@ -0,0 +1,3 @@ +{ + "values": ["macroengine:core/internal/systems/hook/on_rc"] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/tick.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/tick.json new file mode 100644 index 00000000..7be15fb0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_player/tags/functions/v1/tick.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/debug/toggle_load_message.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/debug/toggle_load_message.mcfunction new file mode 100644 index 00000000..adb3b83c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/debug/toggle_load_message.mcfunction @@ -0,0 +1,7 @@ +# Toggle the load message +scoreboard players add #StringLib.ShowLoadMessage StringLib 1 +execute unless score #StringLib.ShowLoadMessage StringLib matches 1 run scoreboard players set #StringLib.ShowLoadMessage StringLib 0 + +# Tellraw +execute if score #StringLib.ShowLoadMessage StringLib matches 0 run tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Disabled the load message"] +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Enabled the load message"] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/uninstall.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/uninstall.mcfunction new file mode 100644 index 00000000..716c45a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/uninstall.mcfunction @@ -0,0 +1,49 @@ +# Check if it's installed +scoreboard objectives add StringLib.Uninstall dummy +execute if score #StringLib.Init StringLib matches 1 run scoreboard players set #StringLib.Init StringLib.Uninstall 1 +execute unless score #StringLib.Init StringLib.Uninstall matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},{"text":"⚠ Could not remove StringLib.\nIs it installed?","color":"red"}] +execute unless score #StringLib.Init StringLib.Uninstall matches 1 run return run scoreboard objectives remove StringLib.Uninstall +scoreboard objectives remove StringLib.Uninstall + +# Tellraw +tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Uninstalled StringLib (v0.2.0)"] + +# Remove scoreboards & data storages +scoreboard objectives remove StringLib + +scoreboard players reset #StringLib.Init +scoreboard players reset #StringLib.ShowLoadMessage +scoreboard players reset #StringLib.c-1 +scoreboard players reset #StringLib.c100 +scoreboard players reset #StringLib.StringsTotal +scoreboard players reset #StringLib.CharsLeft +scoreboard players reset #StringLib.CharsTotal +scoreboard players reset #StringLib.ConcatsLeft +scoreboard players reset #StringLib.SuccessCheck +scoreboard players reset #StringLib.FindLength +scoreboard players reset #StringLib.FindAmount +scoreboard players reset #StringLib.KeepEmpty +scoreboard players reset #StringLib.SeparatorLength +scoreboard players reset #StringLib.Max +scoreboard players reset #StringLib.SplitsLeft +scoreboard players reset #StringLib.Index +scoreboard players reset #StringLib.FoundNothing +scoreboard players reset #StringLib.ReturnValue +scoreboard players reset #StringLib.CheckString.CharsLeft +scoreboard players reset #StringLib.CheckString.IsFindLength + +data remove storage macroengine_string:zprivate data +data remove storage macroengine_string:input concat +data remove storage macroengine_string:input find +data remove storage macroengine_string:input replace +data remove storage macroengine_string:input insert +data remove storage macroengine_string:input split +data remove storage macroengine_string:output concat +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_number +data remove storage macroengine_string:output to_string +data remove storage macroengine_string:output find +data remove storage macroengine_string:output replace +data remove storage macroengine_string:output insert +data remove storage macroengine_string:output split \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/concat.mcfunction new file mode 100644 index 00000000..b903671c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/concat.mcfunction @@ -0,0 +1,24 @@ +############################################################################ +## HOW TO USE ## +############################################################################ +## 1. Set the 'macroengine_string:input concat' data storage to a list of strings ## +## 2. Run this function ## +## ## +## Output: A single combined string ## +## Example: ["hello","world"] => "helloworld" ## +## ## +## Return value: 1 if concat was successful, fail if it wasn't ## +## ## +## The output is found in the 'macroengine_string:output concat' data storage ## +############################################################################ + +# Setup (Get how many times it needs to concatenate & prepare the starting string) +execute store result score #StringLib.StringsTotal StringLib if data storage macroengine_string:input concat[] +execute if score #StringLib.StringsTotal StringLib matches 3.. run return run function macroengine_string:zprivate/concat/main +execute unless score #StringLib.StringsTotal StringLib matches 2 run return fail + +# Only 2 strings: Combine +data modify storage macroengine_string:temp data.S1 set from storage macroengine_string:input concat[1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:input concat[0] +function macroengine_string:zprivate/concat/combine_small with storage macroengine_string:temp data +data remove storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/find.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/find.mcfunction new file mode 100644 index 00000000..f4bfaf32 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/find.mcfunction @@ -0,0 +1,62 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input find' data storage: ## +## - String: Original string ## +## - Find: String you want to search for ## +## - n: How many instances you are looking for ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## 2. Run this function ## +## ## +## Output: List of all start indices for every instances of the string ([-1] if nothing is found) ## +## Example: ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: 1 ## +## => Output: [2] ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: Unset ## +## => Output: [2,3,9] ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: -2 ## +## => Output: [9,3] ## +## ## +## Return value: Number of instances found, or fail ## +## ## +## The output is found in the 'macroengine_string:output find' data storage ## +########################################################################################################## + +# Search for 'Find' inside 'String' (FindAmount is altered in the functions, so the order is very important) +data modify storage macroengine_string:temp data.String set from storage macroengine_string:input find.String +execute store result score #StringLib.FindLength StringLib run data get storage macroengine_string:input find.Find +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:temp data.String +scoreboard players operation #StringLib.CharsTotal StringLib -= #StringLib.FindLength StringLib +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input find.n + +execute unless score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players set #StringLib.Index StringLib 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players operation #StringLib.Index StringLib = #StringLib.CharsTotal StringLib + +data modify storage macroengine_string:output find set value [] + +execute if score #StringLib.FindAmount StringLib matches -1 run data modify storage macroengine_string:output find append value -1 +execute if score #StringLib.FindAmount StringLib matches -1 run function macroengine_string:zprivate/find/reversed/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches ..-2 run function macroengine_string:zprivate/find/reversed/main + +execute if score #StringLib.FindAmount StringLib matches 1 run data modify storage macroengine_string:output find append value -1 +execute if score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/find/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches 0.. unless score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/find/main + +scoreboard players set #StringLib.FoundNothing StringLib 0 + +# Reset +data remove storage macroengine_string:temp data + +# Return Values +execute if data storage macroengine_string:output {find:[-1]} run return fail +return run execute if data storage macroengine_string:output find[] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/insert.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/insert.mcfunction new file mode 100644 index 00000000..fd20cfd8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/insert.mcfunction @@ -0,0 +1,25 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input insert' data storage: ## +## - String: Original string ## +## - Insertion: String you want to insert ## +## - Index: Position for the Insertion ## +## 2. Run this function with the 'macroengine_string:input insert' data storage ## +## ## +## Output: A single combined string ## +## Example: ## +## - String: "Hello!" ## +## - Insertion: " World" ## +## - Index: 5 ## +## => Output: "Hello World!" ## +## ## +## The output is found in the 'macroengine_string:output insert' data storage ## +########################################################################################################## + +# Insert +$data modify storage macroengine_string:temp data.S1 set string storage macroengine_string:input insert.String 0 $(Index) +$data modify storage macroengine_string:temp data.S2 set string storage macroengine_string:input insert.String $(Index) +data modify storage macroengine_string:temp data.I set from storage macroengine_string:input insert.Insertion +function macroengine_string:zprivate/insert/main with storage macroengine_string:temp data +data remove storage macroengine_string:temp data \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/replace.mcfunction new file mode 100644 index 00000000..79ecd3de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/replace.mcfunction @@ -0,0 +1,86 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input replace' data storage: ## +## - String: Original string ## +## - Find: String you want to replace ## +## - Replace: What you replace it with ## +## - n: How many instances you want to replace ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## 2. Run this function ## +## ## +## Output: String with all the 'Find' instances replaced by 'Replace' ## +## Example: ## +## - String: "Hello World!" ## +## - Find: "World" ## +## - Replace: "Everyone" ## +## - n: 1 ## +## => Output: "Hello Everyone!" ## +## ## +## - String: "15Hello 15World!" ## +## - Find: "15" ## +## - Replace: "" ## +## - n: Unset ## +## => Output: "Hello World!" ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - Replace: "" ## +## - n: -1 ## +## => Output: "Hello Word!" ## +## ## +## Return value: Number of replacements made, or fail ## +## ## +## The output is found in the 'macroengine_string:output replace' data storage ## +########################################################################################################## + +# Setup +scoreboard players set #StringLib.ReturnValue StringLib 0 + +data modify storage macroengine_string:temp data.String set from storage macroengine_string:input replace.String +execute store result score #StringLib.FindLength StringLib run data get storage macroengine_string:input replace.Find +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:temp data.String +scoreboard players operation #StringLib.CharsTotal StringLib -= #StringLib.FindLength StringLib +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input replace.n +execute if score #StringLib.FindAmount StringLib matches 0 run scoreboard players set #StringLib.FindAmount StringLib 2147483647 + +execute unless score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players set #StringLib.Index StringLib 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players operation #StringLib.Index StringLib = #StringLib.CharsTotal StringLib + +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat +data modify storage macroengine_string:input concat set value [] + +# Run 'Find' and add every character to 'macroengine_string:input concat' +execute if score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/replace/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches 2.. run function macroengine_string:zprivate/replace/main + +execute if score #StringLib.FindAmount StringLib matches -1 run function macroengine_string:zprivate/replace/reversed/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches ..-2 run function macroengine_string:zprivate/replace/reversed/main + +scoreboard players set #StringLib.FoundNothing StringLib 0 + +# Combine the characters again +execute if score #StringLib.FindAmount StringLib matches 0.. run data modify storage macroengine_string:input concat append string storage macroengine_string:temp data.CheckString.String 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run data modify storage macroengine_string:input concat prepend string storage macroengine_string:temp data.CheckString.String 0 -1 + +execute store success score #StringLib.SuccessCheck StringLib if data storage macroengine_string:input concat[1] + +execute if score #StringLib.SuccessCheck StringLib matches 1 run function macroengine_string:util/concat +execute if score #StringLib.SuccessCheck StringLib matches 1 run data modify storage macroengine_string:output replace set from storage macroengine_string:output concat +execute if score #StringLib.SuccessCheck StringLib matches 0 run data modify storage macroengine_string:output replace set from storage macroengine_string:input replace.String + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data +data remove storage macroengine_string:temp data2 + +# Return Values +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players get #StringLib.ReturnValue StringLib +return fail \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/split.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/split.mcfunction new file mode 100644 index 00000000..3832efc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/split.mcfunction @@ -0,0 +1,109 @@ +################################################################################## +## HOW TO USE ## +################################################################################## +## 1. Set the following data in the 'macroengine_string:input split' data storage: ## +## - String: Original string ## +## - Separator: String that splits the original into multiple ## +## - Default: " " ## +## - "": Split each character ## +## - n: Up until which instance of the separator it should split ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## - KeepEmpty: Boolean for whether to keep empty Strings in the output list ## +## - Unset or 0b: Remove ## +## - 1b: Keep ## +## ## +## 2. Run this function ## +## ## +## Output: List of Strings, separated by the Separator ## +## Example: ## +## - String: "Hello World!" ## +## - Separator: " " ## +## - n: 1 ## +## - KeepEmpty: Unset ## +## => Output: ["Hello", "World!"] ## +## ## +## - String: "Test! HelloTestWorld!" ## +## - Separator: "Test" ## +## - n: -1 ## +## - KeepEmpty: Unset ## +## => Output: ["Test! Hello", "World!"] ## +## ## +## - String: " Hello World! " ## +## - Separator: " " ## +## - n: Unset ## +## - KeepEmpty: 1b ## +## => Output: ["", "Hello", "", "", "", "World!", ""] ## +## ## +## ## +## Return value: Number of elements in the output list, or fail ## +## ## +## The output is found in the 'macroengine_string:output split' data storage ## +################################################################################## +# Potential optimization: Detect if the current instance of the seperator came DIRECTLY after the previous one. If yes, and if KeepEmpty is 0b, ignore it and don't run the macro +# => It's probably best to set up a recursive loop that continues the loop from main, but skips everything for as long as the separators are after each other. So it checks if the *next* one is directly after the current one +# ALSO OPTIMIZE THE "SPLIT EVERY CHARACTER". CAN BE HEAVILY OPTIMIZED TO PREVENT LOOPING + +# Setup +data modify storage macroengine_string:output split set value [] +execute unless data storage macroengine_string:input split.Separator run data modify storage macroengine_string:temp data.Separator set value " " +data modify storage macroengine_string:temp data.Separator set from storage macroengine_string:input split.Separator + + # Reset temporary storage & return fail if input string is empty +execute store result score #StringLib.SeparatorLength StringLib run data get storage macroengine_string:temp data.Separator +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:input split.String +execute if score #StringLib.CharsTotal StringLib matches 0 run data modify storage macroengine_string:output split set value [""] +execute if score #StringLib.CharsTotal StringLib matches 0 run data remove storage macroengine_string:temp data +execute if score #StringLib.CharsTotal StringLib matches 0 run return fail + +# If separator is empty string, split each character +execute if score #StringLib.SeparatorLength StringLib matches 0 run return run function macroengine_string:zprivate/split/split_chars/setup + +# Find all instances of the separator +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input find +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output find + +data modify storage macroengine_string:input find.String set from storage macroengine_string:input split.String +data modify storage macroengine_string:input find.Find set from storage macroengine_string:temp data.Separator +data remove storage macroengine_string:input find.n +data modify storage macroengine_string:input find.n set from storage macroengine_string:input split.n +function macroengine_string:util/find + +# Setup +execute store result score #StringLib.KeepEmpty StringLib run data get storage macroengine_string:input split.KeepEmpty + + # Reset temporary storage & return fail if no separator was found +execute if data storage macroengine_string:output {find:[-1]} run return run function macroengine_string:zprivate/split/fail + +# Split +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input split.n + + # Split the part in front of every instance of the separator (Do the first iteration here) +execute store result score #StringLib.SplitsLeft StringLib if data storage macroengine_string:output find[] + +data modify storage macroengine_string:temp data.Min set value 0 +execute if score #StringLib.FindLength StringLib matches 0.. store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[0] +execute if score #StringLib.FindLength StringLib matches 0.. run function macroengine_string:zprivate/split/main with storage macroengine_string:temp data +execute if score #StringLib.FindLength StringLib matches ..-1 store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[-1] +execute if score #StringLib.FindLength StringLib matches ..-1 run function macroengine_string:zprivate/split/reversed/main with storage macroengine_string:temp data + + # Append a "" if KeepEmpty is 1b and there's a trailing separator +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players operation #StringLib.Max StringLib += #StringLib.SeparatorLength StringLib +execute if score #StringLib.KeepEmpty StringLib matches 1 if score #StringLib.Max StringLib = #StringLib.CharsTotal StringLib run data modify storage macroengine_string:output split append value "" + + # Append the part after the last separator +execute unless score #StringLib.Max StringLib = #StringLib.CharsTotal StringLib run function macroengine_string:zprivate/split/last_segment with storage macroengine_string:temp data + +function macroengine_string:zprivate/split/setup with storage macroengine_string:temp data + +# Reset +data modify storage macroengine_string:input find set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output find set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input find +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output find +data remove storage macroengine_string:temp data2 +data remove storage macroengine_string:temp data + +# Return Values +return run execute if data storage macroengine_string:output split[] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/fast.mcfunction new file mode 100644 index 00000000..d3b87f96 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/fast.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to lowercase ## +## Note: This function only covers the letters A-Z, but is noticeably faster in return ## +## ## +## Output: Lowercase version of your input ## +## Example: "ABC" => "abc" ## +## ## +## The output is found in the 'macroengine_string:output to_lowercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_lowercase/main_fast with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_lowercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/full.mcfunction new file mode 100644 index 00000000..55b26d3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_lowercase/full.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to lowercase ## +## Note: This function will cover the entire unicode range of letters, but is also noticeably slower ## +## ## +## Output: Lowercase version of your input ## +## Example: "ABC" => "abc" ## +## ## +## The output is found in the 'macroengine_string:output to_lowercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_lowercase/main_full with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_lowercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_number.mcfunction new file mode 100644 index 00000000..34160c0a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_number.mcfunction @@ -0,0 +1,12 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'Input' macro variable set to what you want to convert to a number ## +## ## +## Output: Numeric version of your input ## +## Example: "500.25" => 500.25 ## +## ## +## The output is found in the 'macroengine_string:output to_number' data storage ## +########################################################################################################## + +$data modify storage macroengine_string:output to_number set value $(Input) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_string.mcfunction new file mode 100644 index 00000000..bc93d77e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_string.mcfunction @@ -0,0 +1,14 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'Input' macro variable set to what you want to convert to a string ## +## ## +## Output: Stringified version of your input ## +## Example: 123 => "123" ## +## ## +## Note: In most cases, using 'data modify storage ... set string storage ...' works and is preferable ## +## ## +## The output is found in the 'macroengine_string:output to_string' data storage ## +########################################################################################################## + +$data modify storage macroengine_string:output to_string set value "$(Input)" \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/fast.mcfunction new file mode 100644 index 00000000..7eb3771b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/fast.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to uppercase ## +## Note: This function only covers the letters A-Z, but is noticeably faster in return ## +## ## +## Output: Uppercase version of your input ## +## Example: "abc" => "ABC" ## +## ## +## The output is found in the 'macroengine_string:output to_uppercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_uppercase/main_fast with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_uppercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/full.mcfunction new file mode 100644 index 00000000..36c4f744 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/util/to_uppercase/full.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to uppercase ## +## Note: This function will cover the entire unicode range of letters, but is also noticeably slower ## +## ## +## Output: Uppercase version of your input ## +## Example: "abc" => "ABC" ## +## ## +## The output is found in the 'macroengine_string:output to_uppercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_uppercase/main_full with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_uppercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_large.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_large.mcfunction new file mode 100644 index 00000000..20167cf2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_large.mcfunction @@ -0,0 +1,9 @@ +# Combine up to 100 strings at once (Size=100 adds 100 to the current result, so it's 101 afterwards) +$function macroengine_string:zprivate/concat/s/$(Size) + +# Next loop +execute if score #StringLib.ConcatsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.ConcatsLeft StringLib 1 +execute if score #StringLib.ConcatsLeft StringLib matches 1 store result storage macroengine_string:temp data.Size byte 1 run scoreboard players get #StringLib.StringsTotal StringLib +execute if score #StringLib.ConcatsLeft StringLib matches 2.. run data modify storage macroengine_string:temp data.Size set value 100b +function macroengine_string:zprivate/concat/combine_large with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_small.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_small.mcfunction new file mode 100644 index 00000000..b7e59d19 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/combine_small.mcfunction @@ -0,0 +1,2 @@ +# Add the two strings together +$data modify storage macroengine_string:output concat set value "$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/main.mcfunction new file mode 100644 index 00000000..3e96b5c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/main.mcfunction @@ -0,0 +1,20 @@ +# Setup (Get how many times it needs to concatenate & prepare the starting string) +scoreboard players remove #StringLib.StringsTotal StringLib 1 +scoreboard players operation #StringLib.ConcatsLeft StringLib = #StringLib.StringsTotal StringLib +scoreboard players operation #StringLib.ConcatsLeft StringLib /= #StringLib.c100 StringLib +scoreboard players operation #StringLib.StringsTotal StringLib %= #StringLib.c100 StringLib +execute unless score #StringLib.StringsTotal StringLib matches 0 run scoreboard players add #StringLib.ConcatsLeft StringLib 1 +execute if score #StringLib.StringsTotal StringLib matches 0 run scoreboard players set #StringLib.StringsTotal StringLib 100 + +execute if score #StringLib.ConcatsLeft StringLib matches 1 store result storage macroengine_string:temp data.Size byte 1 run scoreboard players get #StringLib.StringsTotal StringLib +execute if score #StringLib.ConcatsLeft StringLib matches 2.. run data modify storage macroengine_string:temp data.Size set value 100b + +data modify storage macroengine_string:temp data.StringList set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data.S1 set from storage macroengine_string:temp data.StringList[-1] + +# Concatenate the strings +function macroengine_string:zprivate/concat/combine_large with storage macroengine_string:temp data +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data.S1 + +# Reset +data remove storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1.mcfunction new file mode 100644 index 00000000..9288a97b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/1c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10.mcfunction new file mode 100644 index 00000000..909444b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10.mcfunction @@ -0,0 +1,21 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/10c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100.mcfunction new file mode 100644 index 00000000..55cb3488 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100.mcfunction @@ -0,0 +1,201 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S100 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S101 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/100c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100c.mcfunction new file mode 100644 index 00000000..48639311 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/100c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S101)$(S100)$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10c.mcfunction new file mode 100644 index 00000000..69660f38 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/10c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11.mcfunction new file mode 100644 index 00000000..0dbe0755 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11.mcfunction @@ -0,0 +1,23 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/11c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11c.mcfunction new file mode 100644 index 00000000..9b7718a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/11c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12.mcfunction new file mode 100644 index 00000000..3fadc565 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12.mcfunction @@ -0,0 +1,25 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/12c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12c.mcfunction new file mode 100644 index 00000000..4b5280ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/12c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13.mcfunction new file mode 100644 index 00000000..77c0a52b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13.mcfunction @@ -0,0 +1,27 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/13c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13c.mcfunction new file mode 100644 index 00000000..d6f85f62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/13c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14.mcfunction new file mode 100644 index 00000000..4165d815 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14.mcfunction @@ -0,0 +1,29 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/14c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14c.mcfunction new file mode 100644 index 00000000..da973dcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/14c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15.mcfunction new file mode 100644 index 00000000..5a8414c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15.mcfunction @@ -0,0 +1,31 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/15c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15c.mcfunction new file mode 100644 index 00000000..4f77e128 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/15c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16.mcfunction new file mode 100644 index 00000000..984cb72c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16.mcfunction @@ -0,0 +1,33 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/16c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16c.mcfunction new file mode 100644 index 00000000..2c1f8c13 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/16c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17.mcfunction new file mode 100644 index 00000000..0e416527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17.mcfunction @@ -0,0 +1,35 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/17c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17c.mcfunction new file mode 100644 index 00000000..f78e12a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/17c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18.mcfunction new file mode 100644 index 00000000..c67d4999 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18.mcfunction @@ -0,0 +1,37 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/18c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18c.mcfunction new file mode 100644 index 00000000..b921c89f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/18c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19.mcfunction new file mode 100644 index 00000000..e7326263 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19.mcfunction @@ -0,0 +1,39 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/19c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19c.mcfunction new file mode 100644 index 00000000..6340acd9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/19c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1c.mcfunction new file mode 100644 index 00000000..447f1aa6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/1c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2.mcfunction new file mode 100644 index 00000000..bdc7c63f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2.mcfunction @@ -0,0 +1,5 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/2c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20.mcfunction new file mode 100644 index 00000000..352a8348 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20.mcfunction @@ -0,0 +1,41 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/20c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20c.mcfunction new file mode 100644 index 00000000..7ae41d97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/20c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21.mcfunction new file mode 100644 index 00000000..2685ef18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21.mcfunction @@ -0,0 +1,43 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/21c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21c.mcfunction new file mode 100644 index 00000000..7f325d47 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/21c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22.mcfunction new file mode 100644 index 00000000..b236adff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22.mcfunction @@ -0,0 +1,45 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/22c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22c.mcfunction new file mode 100644 index 00000000..3ffa1402 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/22c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23.mcfunction new file mode 100644 index 00000000..61ed3809 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23.mcfunction @@ -0,0 +1,47 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/23c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23c.mcfunction new file mode 100644 index 00000000..081ce536 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/23c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24.mcfunction new file mode 100644 index 00000000..8278e88f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24.mcfunction @@ -0,0 +1,49 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/24c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24c.mcfunction new file mode 100644 index 00000000..f3efeb0b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/24c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25.mcfunction new file mode 100644 index 00000000..a59e9c6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25.mcfunction @@ -0,0 +1,51 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/25c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25c.mcfunction new file mode 100644 index 00000000..7776c672 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/25c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26.mcfunction new file mode 100644 index 00000000..c30e1bf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26.mcfunction @@ -0,0 +1,53 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/26c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26c.mcfunction new file mode 100644 index 00000000..09c78f83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/26c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27.mcfunction new file mode 100644 index 00000000..a71acbcf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27.mcfunction @@ -0,0 +1,55 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/27c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27c.mcfunction new file mode 100644 index 00000000..0991dc10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/27c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28.mcfunction new file mode 100644 index 00000000..c9a1ce3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28.mcfunction @@ -0,0 +1,57 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/28c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28c.mcfunction new file mode 100644 index 00000000..525948bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/28c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29.mcfunction new file mode 100644 index 00000000..6d384b31 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29.mcfunction @@ -0,0 +1,59 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/29c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29c.mcfunction new file mode 100644 index 00000000..35c7477f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/29c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2c.mcfunction new file mode 100644 index 00000000..12699bb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/2c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3.mcfunction new file mode 100644 index 00000000..fb2e5304 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3.mcfunction @@ -0,0 +1,7 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/3c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30.mcfunction new file mode 100644 index 00000000..8a836314 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30.mcfunction @@ -0,0 +1,61 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/30c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30c.mcfunction new file mode 100644 index 00000000..2ff6ae8f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/30c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31.mcfunction new file mode 100644 index 00000000..44eefa71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31.mcfunction @@ -0,0 +1,63 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/31c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31c.mcfunction new file mode 100644 index 00000000..2a234c15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/31c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32.mcfunction new file mode 100644 index 00000000..9117880b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32.mcfunction @@ -0,0 +1,65 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/32c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32c.mcfunction new file mode 100644 index 00000000..89b6b051 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/32c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33.mcfunction new file mode 100644 index 00000000..756d3d98 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33.mcfunction @@ -0,0 +1,67 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/33c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33c.mcfunction new file mode 100644 index 00000000..024d12ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/33c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34.mcfunction new file mode 100644 index 00000000..e1ff1522 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34.mcfunction @@ -0,0 +1,69 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/34c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34c.mcfunction new file mode 100644 index 00000000..12d57ef1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/34c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35.mcfunction new file mode 100644 index 00000000..a8a020b3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35.mcfunction @@ -0,0 +1,71 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/35c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35c.mcfunction new file mode 100644 index 00000000..2421724a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/35c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36.mcfunction new file mode 100644 index 00000000..985d8781 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36.mcfunction @@ -0,0 +1,73 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/36c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36c.mcfunction new file mode 100644 index 00000000..a9b5859f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/36c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37.mcfunction new file mode 100644 index 00000000..2e9bc0da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37.mcfunction @@ -0,0 +1,75 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/37c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37c.mcfunction new file mode 100644 index 00000000..2f8a8496 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/37c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38.mcfunction new file mode 100644 index 00000000..4fa96334 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38.mcfunction @@ -0,0 +1,77 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/38c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38c.mcfunction new file mode 100644 index 00000000..be5db57f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/38c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39.mcfunction new file mode 100644 index 00000000..52c5b375 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39.mcfunction @@ -0,0 +1,79 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/39c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39c.mcfunction new file mode 100644 index 00000000..361c8c99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/39c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3c.mcfunction new file mode 100644 index 00000000..31dd0e42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/3c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4.mcfunction new file mode 100644 index 00000000..769d2c8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4.mcfunction @@ -0,0 +1,9 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/4c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40.mcfunction new file mode 100644 index 00000000..ea036a4c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40.mcfunction @@ -0,0 +1,81 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/40c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40c.mcfunction new file mode 100644 index 00000000..bb9ce9d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/40c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41.mcfunction new file mode 100644 index 00000000..a6b310a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41.mcfunction @@ -0,0 +1,83 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/41c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41c.mcfunction new file mode 100644 index 00000000..e9c03673 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/41c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42.mcfunction new file mode 100644 index 00000000..1ff5b153 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42.mcfunction @@ -0,0 +1,85 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/42c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42c.mcfunction new file mode 100644 index 00000000..3539110d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/42c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43.mcfunction new file mode 100644 index 00000000..9ff75aa6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43.mcfunction @@ -0,0 +1,87 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/43c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43c.mcfunction new file mode 100644 index 00000000..7fd061a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/43c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44.mcfunction new file mode 100644 index 00000000..b6365f64 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44.mcfunction @@ -0,0 +1,89 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/44c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44c.mcfunction new file mode 100644 index 00000000..9f64dd42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/44c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45.mcfunction new file mode 100644 index 00000000..0dc812b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45.mcfunction @@ -0,0 +1,91 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/45c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45c.mcfunction new file mode 100644 index 00000000..22d4717e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/45c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46.mcfunction new file mode 100644 index 00000000..c928bd3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46.mcfunction @@ -0,0 +1,93 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/46c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46c.mcfunction new file mode 100644 index 00000000..5e365e81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/46c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47.mcfunction new file mode 100644 index 00000000..c42abfb9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47.mcfunction @@ -0,0 +1,95 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/47c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47c.mcfunction new file mode 100644 index 00000000..b3236906 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/47c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48.mcfunction new file mode 100644 index 00000000..1c34f126 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48.mcfunction @@ -0,0 +1,97 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/48c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48c.mcfunction new file mode 100644 index 00000000..dd776b35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/48c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49.mcfunction new file mode 100644 index 00000000..f2b24b9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49.mcfunction @@ -0,0 +1,99 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/49c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49c.mcfunction new file mode 100644 index 00000000..943abbfd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/49c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4c.mcfunction new file mode 100644 index 00000000..68b3cad4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/4c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5.mcfunction new file mode 100644 index 00000000..f14c4f0e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5.mcfunction @@ -0,0 +1,11 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/5c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50.mcfunction new file mode 100644 index 00000000..b185caf5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50.mcfunction @@ -0,0 +1,101 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/50c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50c.mcfunction new file mode 100644 index 00000000..b80ddfd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/50c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51.mcfunction new file mode 100644 index 00000000..7a25746e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51.mcfunction @@ -0,0 +1,103 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/51c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51c.mcfunction new file mode 100644 index 00000000..530bd3fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/51c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52.mcfunction new file mode 100644 index 00000000..4095e59d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52.mcfunction @@ -0,0 +1,105 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/52c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52c.mcfunction new file mode 100644 index 00000000..618db554 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/52c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53.mcfunction new file mode 100644 index 00000000..53b9a639 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53.mcfunction @@ -0,0 +1,107 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/53c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53c.mcfunction new file mode 100644 index 00000000..8fd294c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/53c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54.mcfunction new file mode 100644 index 00000000..66725ab5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54.mcfunction @@ -0,0 +1,109 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/54c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54c.mcfunction new file mode 100644 index 00000000..347a877a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/54c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55.mcfunction new file mode 100644 index 00000000..d8b504f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55.mcfunction @@ -0,0 +1,111 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/55c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55c.mcfunction new file mode 100644 index 00000000..168a675d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/55c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56.mcfunction new file mode 100644 index 00000000..666a86bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56.mcfunction @@ -0,0 +1,113 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/56c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56c.mcfunction new file mode 100644 index 00000000..0d5cf384 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/56c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57.mcfunction new file mode 100644 index 00000000..a49eeb2e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57.mcfunction @@ -0,0 +1,115 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/57c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57c.mcfunction new file mode 100644 index 00000000..2860b4a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/57c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58.mcfunction new file mode 100644 index 00000000..5cb1d9dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58.mcfunction @@ -0,0 +1,117 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/58c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58c.mcfunction new file mode 100644 index 00000000..e7ef98a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/58c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59.mcfunction new file mode 100644 index 00000000..7b0e3762 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59.mcfunction @@ -0,0 +1,119 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/59c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59c.mcfunction new file mode 100644 index 00000000..d9f89363 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/59c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5c.mcfunction new file mode 100644 index 00000000..29686e51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/5c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6.mcfunction new file mode 100644 index 00000000..16a1cd0f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6.mcfunction @@ -0,0 +1,13 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/6c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60.mcfunction new file mode 100644 index 00000000..0e312013 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60.mcfunction @@ -0,0 +1,121 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/60c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60c.mcfunction new file mode 100644 index 00000000..80225e92 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/60c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61.mcfunction new file mode 100644 index 00000000..88899d84 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61.mcfunction @@ -0,0 +1,123 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/61c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61c.mcfunction new file mode 100644 index 00000000..7e889a60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/61c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62.mcfunction new file mode 100644 index 00000000..0f0008e7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62.mcfunction @@ -0,0 +1,125 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/62c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62c.mcfunction new file mode 100644 index 00000000..8b5d6ef7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/62c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63.mcfunction new file mode 100644 index 00000000..f82117b0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63.mcfunction @@ -0,0 +1,127 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/63c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63c.mcfunction new file mode 100644 index 00000000..e0589fa4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/63c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64.mcfunction new file mode 100644 index 00000000..28d81eb7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64.mcfunction @@ -0,0 +1,129 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/64c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64c.mcfunction new file mode 100644 index 00000000..c11623f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/64c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65.mcfunction new file mode 100644 index 00000000..69b6af9a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65.mcfunction @@ -0,0 +1,131 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/65c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65c.mcfunction new file mode 100644 index 00000000..9363570e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/65c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66.mcfunction new file mode 100644 index 00000000..3385f1e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66.mcfunction @@ -0,0 +1,133 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/66c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66c.mcfunction new file mode 100644 index 00000000..6f080b02 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/66c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67.mcfunction new file mode 100644 index 00000000..0999ff15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67.mcfunction @@ -0,0 +1,135 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/67c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67c.mcfunction new file mode 100644 index 00000000..8d014bd6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/67c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68.mcfunction new file mode 100644 index 00000000..cc312e8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68.mcfunction @@ -0,0 +1,137 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/68c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68c.mcfunction new file mode 100644 index 00000000..e1041fee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/68c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69.mcfunction new file mode 100644 index 00000000..720f93bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69.mcfunction @@ -0,0 +1,139 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/69c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69c.mcfunction new file mode 100644 index 00000000..c19550a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/69c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6c.mcfunction new file mode 100644 index 00000000..77b28204 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/6c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7.mcfunction new file mode 100644 index 00000000..29fc91e7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7.mcfunction @@ -0,0 +1,15 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/7c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70.mcfunction new file mode 100644 index 00000000..79db5ad9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70.mcfunction @@ -0,0 +1,141 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/70c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70c.mcfunction new file mode 100644 index 00000000..8608a0cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/70c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71.mcfunction new file mode 100644 index 00000000..994f01f5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71.mcfunction @@ -0,0 +1,143 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/71c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71c.mcfunction new file mode 100644 index 00000000..292d8faa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/71c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72.mcfunction new file mode 100644 index 00000000..367ba32d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72.mcfunction @@ -0,0 +1,145 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/72c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72c.mcfunction new file mode 100644 index 00000000..cc19ce43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/72c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73.mcfunction new file mode 100644 index 00000000..511a0205 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73.mcfunction @@ -0,0 +1,147 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/73c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73c.mcfunction new file mode 100644 index 00000000..0f673140 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/73c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74.mcfunction new file mode 100644 index 00000000..aeb2462f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74.mcfunction @@ -0,0 +1,149 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/74c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74c.mcfunction new file mode 100644 index 00000000..4196f08b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/74c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75.mcfunction new file mode 100644 index 00000000..c9b5e476 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75.mcfunction @@ -0,0 +1,151 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/75c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75c.mcfunction new file mode 100644 index 00000000..9cb7f8c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/75c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76.mcfunction new file mode 100644 index 00000000..c9cb5898 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76.mcfunction @@ -0,0 +1,153 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/76c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76c.mcfunction new file mode 100644 index 00000000..85cf6aee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/76c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77.mcfunction new file mode 100644 index 00000000..4c217322 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77.mcfunction @@ -0,0 +1,155 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/77c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77c.mcfunction new file mode 100644 index 00000000..3d70b209 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/77c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78.mcfunction new file mode 100644 index 00000000..196f188e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78.mcfunction @@ -0,0 +1,157 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/78c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78c.mcfunction new file mode 100644 index 00000000..244f5bed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/78c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79.mcfunction new file mode 100644 index 00000000..d6d9b665 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79.mcfunction @@ -0,0 +1,159 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/79c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79c.mcfunction new file mode 100644 index 00000000..c8ea7994 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/79c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7c.mcfunction new file mode 100644 index 00000000..5b4257c8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/7c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8.mcfunction new file mode 100644 index 00000000..d83cf5ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8.mcfunction @@ -0,0 +1,17 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/8c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80.mcfunction new file mode 100644 index 00000000..62975b08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80.mcfunction @@ -0,0 +1,161 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/80c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80c.mcfunction new file mode 100644 index 00000000..03d0fe08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/80c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81.mcfunction new file mode 100644 index 00000000..007044e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81.mcfunction @@ -0,0 +1,163 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/81c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81c.mcfunction new file mode 100644 index 00000000..a4e9ce9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/81c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82.mcfunction new file mode 100644 index 00000000..f852d732 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82.mcfunction @@ -0,0 +1,165 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/82c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82c.mcfunction new file mode 100644 index 00000000..006acea1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/82c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83.mcfunction new file mode 100644 index 00000000..98a68713 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83.mcfunction @@ -0,0 +1,167 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/83c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83c.mcfunction new file mode 100644 index 00000000..4ca28113 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/83c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84.mcfunction new file mode 100644 index 00000000..4be11896 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84.mcfunction @@ -0,0 +1,169 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/84c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84c.mcfunction new file mode 100644 index 00000000..1ef51a71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/84c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85.mcfunction new file mode 100644 index 00000000..cf7c8bc7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85.mcfunction @@ -0,0 +1,171 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/85c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85c.mcfunction new file mode 100644 index 00000000..d5481de1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/85c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86.mcfunction new file mode 100644 index 00000000..9ec7c851 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86.mcfunction @@ -0,0 +1,173 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/86c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86c.mcfunction new file mode 100644 index 00000000..979c3b0c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/86c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87.mcfunction new file mode 100644 index 00000000..4151360e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87.mcfunction @@ -0,0 +1,175 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/87c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87c.mcfunction new file mode 100644 index 00000000..4fb9e259 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/87c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88.mcfunction new file mode 100644 index 00000000..219d9417 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88.mcfunction @@ -0,0 +1,177 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/88c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88c.mcfunction new file mode 100644 index 00000000..a3390d04 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/88c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89.mcfunction new file mode 100644 index 00000000..b12b2220 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89.mcfunction @@ -0,0 +1,179 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/89c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89c.mcfunction new file mode 100644 index 00000000..ee73320e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/89c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8c.mcfunction new file mode 100644 index 00000000..8d8b8be9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/8c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9.mcfunction new file mode 100644 index 00000000..4bc70bf5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9.mcfunction @@ -0,0 +1,19 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/9c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90.mcfunction new file mode 100644 index 00000000..dc15deb5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90.mcfunction @@ -0,0 +1,181 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/90c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90c.mcfunction new file mode 100644 index 00000000..af8bdab5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/90c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91.mcfunction new file mode 100644 index 00000000..073799ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91.mcfunction @@ -0,0 +1,183 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/91c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91c.mcfunction new file mode 100644 index 00000000..5570fcb2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/91c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92.mcfunction new file mode 100644 index 00000000..bfc504de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92.mcfunction @@ -0,0 +1,185 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/92c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92c.mcfunction new file mode 100644 index 00000000..c65131a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/92c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93.mcfunction new file mode 100644 index 00000000..6729e477 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93.mcfunction @@ -0,0 +1,187 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/93c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93c.mcfunction new file mode 100644 index 00000000..97aea0ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/93c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94.mcfunction new file mode 100644 index 00000000..cc2a190e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94.mcfunction @@ -0,0 +1,189 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/94c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94c.mcfunction new file mode 100644 index 00000000..de76601c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/94c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95.mcfunction new file mode 100644 index 00000000..c0424c6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95.mcfunction @@ -0,0 +1,191 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/95c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95c.mcfunction new file mode 100644 index 00000000..d1e55cb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/95c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96.mcfunction new file mode 100644 index 00000000..67b1b8b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96.mcfunction @@ -0,0 +1,193 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/96c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96c.mcfunction new file mode 100644 index 00000000..66f18f42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/96c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97.mcfunction new file mode 100644 index 00000000..370b5623 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97.mcfunction @@ -0,0 +1,195 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/97c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97c.mcfunction new file mode 100644 index 00000000..d08ee69c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/97c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98.mcfunction new file mode 100644 index 00000000..e414ace5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98.mcfunction @@ -0,0 +1,197 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/98c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98c.mcfunction new file mode 100644 index 00000000..69cd8be7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/98c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99.mcfunction new file mode 100644 index 00000000..f0d27977 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99.mcfunction @@ -0,0 +1,199 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S100 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/99c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99c.mcfunction new file mode 100644 index 00000000..436ee58e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/99c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S100)$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9c.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9c.mcfunction new file mode 100644 index 00000000..9bb190f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/concat/s/9c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest.mcfunction new file mode 100644 index 00000000..4809b527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest.mcfunction @@ -0,0 +1,12 @@ +# Check if 'Find' is located at that position (First character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input find.Find 1 + +function macroengine_string:zprivate/find/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 1 run return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest_loop.mcfunction new file mode 100644 index 00000000..fbd797ad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_rest_loop.mcfunction @@ -0,0 +1,11 @@ +# Compare characters +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.CheckString.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.CheckString.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players set #StringLib.SuccessCheck StringLib 0 + +# Next Loop (If the main string runs out, return 0. If the Find string runs out, return 1) +execute if score #StringLib.CheckString.CharsLeft StringLib matches 1 store result score #StringLib.SuccessCheck StringLib run return run scoreboard players get #StringLib.CheckString.IsFindLength StringLib +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.CheckString.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:temp data.CheckString.Find 1 +function macroengine_string:zprivate/find/check_word_rest_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_start_loop.mcfunction new file mode 100644 index 00000000..4128da14 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if first character matches +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:input find.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 1 store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players remove #StringLib.Index StringLib 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 2.. if function macroengine_string:zprivate/find/check_word_rest store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players remove #StringLib.Index StringLib 1 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +function macroengine_string:zprivate/find/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/main.mcfunction new file mode 100644 index 00000000..ede4c6af --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/main.mcfunction @@ -0,0 +1,15 @@ +# Setup +data modify storage macroengine_string:output find append value -1 +function macroengine_string:zprivate/find/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the first letter matches. >= this time because it removed 1 from the index) +execute if score #StringLib.FoundNothing StringLib matches 1 run return run execute if data storage macroengine_string:output find[1] run data remove storage macroengine_string:output find[-1] +execute if score #StringLib.FindAmount StringLib matches 1 run return 0 +execute if score #StringLib.Index StringLib >= #StringLib.CharsTotal StringLib run return 0 + +scoreboard players remove #StringLib.FindAmount StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +scoreboard players operation #StringLib.Index StringLib += #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 1 +function macroengine_string:zprivate/find/main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest.mcfunction new file mode 100644 index 00000000..7bba878e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest.mcfunction @@ -0,0 +1,12 @@ +# Check if 'Find' is located at that position (Last character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input find.Find 0 -1 + +function macroengine_string:zprivate/find/reversed/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 1 run return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest_loop.mcfunction new file mode 100644 index 00000000..f1e00565 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_rest_loop.mcfunction @@ -0,0 +1,11 @@ +# Compare characters +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.CheckString.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.CheckString.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players set #StringLib.SuccessCheck StringLib 0 + +# Next Loop (If the main string runs out, return 0. If the Find string runs out, return 1) +execute if score #StringLib.CheckString.CharsLeft StringLib matches 1 store result score #StringLib.SuccessCheck StringLib run return run scoreboard players get #StringLib.CheckString.IsFindLength StringLib +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:temp data.CheckString.Find 0 -1 +function macroengine_string:zprivate/find/reversed/check_word_rest_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_start_loop.mcfunction new file mode 100644 index 00000000..8b52bc5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if last character matches +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:input find.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 1 store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players get #StringLib.Index StringLib +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 2.. if function macroengine_string:zprivate/find/reversed/check_word_rest store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players get #StringLib.Index StringLib + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib matches 0 run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players remove #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +function macroengine_string:zprivate/find/reversed/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/main.mcfunction new file mode 100644 index 00000000..7d6c9f06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/find/reversed/main.mcfunction @@ -0,0 +1,14 @@ +# Setup +data modify storage macroengine_string:output find append value -1 +function macroengine_string:zprivate/find/reversed/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the last letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return run execute if data storage macroengine_string:output find[1] run data remove storage macroengine_string:output find[-1] +execute if score #StringLib.FindAmount StringLib matches -1 run return 0 +execute if score #StringLib.Index StringLib < #StringLib.FindLength StringLib run return 0 + +scoreboard players add #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib -= #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +function macroengine_string:zprivate/find/reversed/main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/init.mcfunction new file mode 100644 index 00000000..ef810cba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/init.mcfunction @@ -0,0 +1,5 @@ + +# Load message (safe legacy for 1.20.x) +execute if score #StringLib.ShowLoadMessage StringLib matches 0 run return 0 +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Installed StringLib (v0.2.0)"] +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Click /function macroengine_string:debug/toggle_load_message to toggle"] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/insert/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/insert/main.mcfunction new file mode 100644 index 00000000..7dfb69ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/insert/main.mcfunction @@ -0,0 +1,2 @@ +# Combine S1 + I + S2 into the final inserted string +$data modify storage macroengine_string:output insert set value "$(S1)$(I)$(S2)" diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/load.mcfunction new file mode 100644 index 00000000..d675e296 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/load.mcfunction @@ -0,0 +1,6 @@ +# Init +scoreboard objectives add StringLib dummy +execute unless score #StringLib.Init StringLib matches 1 run function macroengine_string:zprivate/init + +# Tellraw +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},{"text":"Made by CMDred","clickEvent":{"action":"open_url","value":"https://www.youtube.com/BluesProductionTeam"},"hoverEvent":{"action":"show_text","value":[{"text":"YouTube: ","color":"dark_aqua"},{"text":"CMDred","color":"white"}]}},"\n﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Get the latest updates: ",{"text":"Modrinth","color":"#5491F7","clickEvent":{"action":"open_url","value":"https://modrinth.com/datapack/macroengine_string"},"hoverEvent":{"action":"show_text","value":["Open page"]}},", ",{"text":"GitHub","color":"#5491F7","clickEvent":{"action":"open_url","value":"https://github.com/runtoolkit/macroEngine"},"hoverEvent":{"action":"show_text","value":["Open page"]}}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_rest.mcfunction new file mode 100644 index 00000000..748fc668 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_rest.mcfunction @@ -0,0 +1,18 @@ +# Check if 'Find' is located at that position (First character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input replace.Find 1 + +function macroengine_string:zprivate/find/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 0 run return 0 + +# Replace (FindLength > 1) (Already in this function instead of running the other one to save some score checks) +data modify storage macroengine_string:input concat append from storage macroengine_string:temp data.StringBefore[] +data modify storage macroengine_string:input concat append from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringBefore set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_start_loop.mcfunction new file mode 100644 index 00000000..47219a73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if first character matches +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:input replace.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if function macroengine_string:zprivate/replace/replace run return 0 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.StringBefore append string storage macroengine_string:temp data.String 0 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +function macroengine_string:zprivate/replace/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/main.mcfunction new file mode 100644 index 00000000..7a1d6fd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/main.mcfunction @@ -0,0 +1,13 @@ +# Setup +function macroengine_string:zprivate/replace/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the first letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return 0 +execute if score #StringLib.FindAmount StringLib matches 1 run return 0 +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return 0 + +scoreboard players remove #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib += #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 1 +function macroengine_string:zprivate/replace/main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/replace.mcfunction new file mode 100644 index 00000000..5d17f72b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/replace.mcfunction @@ -0,0 +1,9 @@ +# Replace (FindLength > 1) +execute if score #StringLib.FindLength StringLib matches 2.. run return run function macroengine_string:zprivate/replace/check_word_rest + +# Replace (FindLength = 1) +data modify storage macroengine_string:temp data.CheckString.String set from storage macroengine_string:temp data.String +data modify storage macroengine_string:input concat append from storage macroengine_string:temp data.StringBefore[] +data modify storage macroengine_string:input concat append from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringBefore set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_rest.mcfunction new file mode 100644 index 00000000..866c2a80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_rest.mcfunction @@ -0,0 +1,18 @@ +# Check if 'Find' is located at that position (Last character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input replace.Find 0 -1 + +function macroengine_string:zprivate/find/reversed/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 0 run return 0 + +# Replace (FindLength < -1) (Already in this function instead of running the other one to save some score checks) +data modify storage macroengine_string:input concat prepend from storage macroengine_string:temp data.StringAfter[] +data modify storage macroengine_string:input concat prepend from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringAfter set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_start_loop.mcfunction new file mode 100644 index 00000000..0bab7001 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if last character matches +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:input replace.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if function macroengine_string:zprivate/replace/reversed/replace run return 0 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib matches 0 run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players remove #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.StringAfter prepend string storage macroengine_string:temp data.String -1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +function macroengine_string:zprivate/replace/reversed/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/main.mcfunction new file mode 100644 index 00000000..12d2b39b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/main.mcfunction @@ -0,0 +1,13 @@ +# Setup +function macroengine_string:zprivate/replace/reversed/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the last letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return 0 +execute if score #StringLib.FindAmount StringLib matches -1 run return 0 +execute if score #StringLib.Index StringLib < #StringLib.FindLength StringLib run return 0 + +scoreboard players add #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib -= #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +function macroengine_string:zprivate/replace/reversed/main diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/replace.mcfunction new file mode 100644 index 00000000..3546fdfd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/replace/reversed/replace.mcfunction @@ -0,0 +1,9 @@ +# Replace (FindLength > 1) +execute if score #StringLib.FindLength StringLib matches 2.. run return run function macroengine_string:zprivate/replace/reversed/check_word_rest + +# Replace (FindLength = 1) +data modify storage macroengine_string:temp data.CheckString.String set from storage macroengine_string:temp data.String +data modify storage macroengine_string:input concat prepend from storage macroengine_string:temp data.StringAfter[] +data modify storage macroengine_string:input concat prepend from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringAfter set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/fail.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/fail.mcfunction new file mode 100644 index 00000000..1a873fc9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/fail.mcfunction @@ -0,0 +1,4 @@ +# No instance of the Separator was found - the whole String is the only element +data modify storage macroengine_string:output split append from storage macroengine_string:input split.String +data remove storage macroengine_string:temp data +return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/last_segment.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/last_segment.mcfunction new file mode 100644 index 00000000..c51e58ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/last_segment.mcfunction @@ -0,0 +1,3 @@ +# Append the remaining part of the string after the last separator instance +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Max) +data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Segment diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/main.mcfunction new file mode 100644 index 00000000..fadc8347 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/main.mcfunction @@ -0,0 +1,17 @@ +# Append the segment from Min to Max (skip empty unless KeepEmpty is 1b) +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Min) $(Max) +execute store result score #StringLib.SegmentLength StringLib run data get storage macroengine_string:temp data.Segment +execute unless score #StringLib.SegmentLength StringLib matches 0 run data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Segment +execute if score #StringLib.SegmentLength StringLib matches 0 if score #StringLib.KeepEmpty StringLib matches 1 run data modify storage macroengine_string:output split append value "" + +# This found instance is now consumed; stop once none are left +data remove storage macroengine_string:output find[0] +execute unless data storage macroengine_string:output find[0] run return 0 + +# Move Min to just after the separator we just split on, then jump Max to the next found index +scoreboard players operation #StringLib.NextMin StringLib = #StringLib.Max StringLib +scoreboard players operation #StringLib.NextMin StringLib += #StringLib.SeparatorLength StringLib +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players get #StringLib.NextMin StringLib +execute store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[0] + +function macroengine_string:zprivate/split/main with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/reversed/main.mcfunction new file mode 100644 index 00000000..b852a7a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/reversed/main.mcfunction @@ -0,0 +1,18 @@ +# Append the segment from Min to Max (skip empty unless KeepEmpty is 1b) — inserted at the front to preserve left-to-right order +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Min) $(Max) +execute store result score #StringLib.SegmentLength StringLib run data get storage macroengine_string:temp data.Segment +execute unless score #StringLib.SegmentLength StringLib matches 0 run data modify storage macroengine_string:output split prepend from storage macroengine_string:temp data.Segment +execute if score #StringLib.SegmentLength StringLib matches 0 if score #StringLib.KeepEmpty StringLib matches 1 run data modify storage macroengine_string:output split prepend value "" + +# This found instance is now consumed; stop once none are left +data remove storage macroengine_string:output find[-1] +execute unless data storage macroengine_string:output find[-1] run return 0 + +# Move Max to just before the separator we just split on (i.e. Min of this segment), then jump Min to the previous found index + separator length +data modify storage macroengine_string:temp data.Max set from storage macroengine_string:temp data.Min +execute store result score #StringLib.Max StringLib run data get storage macroengine_string:temp data.Max +execute store result storage macroengine_string:temp data.Min int 1 store result score #StringLib.PrevIndex StringLib run data get storage macroengine_string:output find[-1] +scoreboard players operation #StringLib.PrevIndex StringLib += #StringLib.SeparatorLength StringLib +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players get #StringLib.PrevIndex StringLib + +function macroengine_string:zprivate/split/reversed/main with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/setup.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/setup.mcfunction new file mode 100644 index 00000000..750ba6e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/setup.mcfunction @@ -0,0 +1,4 @@ +# Clean up leftover intermediate keys from the split process (KeepEmpty/Segment/Min/Max are re-derived each run, so nothing here is needed after this point) +data remove storage macroengine_string:temp data.Segment +data remove storage macroengine_string:temp data.Min +data remove storage macroengine_string:temp data.Max diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/loop.mcfunction new file mode 100644 index 00000000..6454d0ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/loop.mcfunction @@ -0,0 +1,9 @@ +# Peel off the first character and append it as its own element +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Remaining 0 1 +data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Remaining set string storage macroengine_string:temp data.Remaining 1 +function macroengine_string:zprivate/split/split_chars/loop diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/setup.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/setup.mcfunction new file mode 100644 index 00000000..7603ab24 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/split/split_chars/setup.mcfunction @@ -0,0 +1,6 @@ +# Split every character of the String into its own list element +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:input split.String +data modify storage macroengine_string:temp data.Remaining set from storage macroengine_string:input split.String +function macroengine_string:zprivate/split/split_chars/loop +data remove storage macroengine_string:temp data +return run execute if data storage macroengine_string:output split[] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_fast.mcfunction new file mode 100644 index 00000000..3385222c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_fast.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Fast[{u:"$(Char)"}].l +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_lowercase/main_fast with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_full.mcfunction new file mode 100644 index 00000000..8713c5d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_lowercase/main_full.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Full[{u:"$(Char)"}].l +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_lowercase/main_full with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_fast.mcfunction new file mode 100644 index 00000000..d39a85f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_fast.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Fast[{l:"$(Char)"}].u +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_uppercase/main_fast with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_full.mcfunction new file mode 100644 index 00000000..8ca21ca7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/macroengine_string/functions/zprivate/to_uppercase/main_full.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Full[{l:"$(Char)"}].u +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_uppercase/main_full with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/load.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/load.json new file mode 100644 index 00000000..2fd45219 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "runtoolkit:load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/tick.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/tick.json new file mode 100644 index 00000000..97a04700 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/minecraft/tags/functions/tick.json @@ -0,0 +1,5 @@ +{ + "values": [ + "runtoolkit:tick" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status.mcfunction new file mode 100644 index 00000000..9fced430 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status.mcfunction @@ -0,0 +1,14 @@ +# runtoolkit:diagnostics/status +# Reports live loaded/disabled state for every registered subsystem, +# read straight from each subsystem's "#runtoolkit.packs..version" +# score — not from the registry snapshot, so this reflects reality even +# if a subsystem was disabled after registering (e.g. via its own +# disable command) without re-registering. + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"no subsystems registered — nothing to report.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"subsystem status:","color":"aqua"}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:diagnostics/status_step +data remove storage runtoolkit:tmp _walk diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_line.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_line.mcfunction new file mode 100644 index 00000000..2fa32f9e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_line.mcfunction @@ -0,0 +1,11 @@ +# runtoolkit:diagnostics/status_line +# MACRO INPUT (from a registry.subsystems[n] entry): +# $(name) -> subsystem id, used to build the score holder "#runtoolkit.packs.$(name).version" +# $(version) -> the version recorded at registration time (may be stale vs. live score) +# +# Score holder names accept macro substitution directly (no string concat needed). + +$execute store result score $diag_ver runtoolkit.tmp run scoreboard players get #runtoolkit.packs.$(name).version macroengine.meta + +execute if score $diag_ver runtoolkit.tmp matches 1.. run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_diag_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"loaded","color":"green"},{"text":" (v","color":"#555555"},{"score":{"name":"$diag_ver","objective":"runtoolkit.tmp"},"color":"aqua"},{"text":")","color":"#555555"}] +execute if score $diag_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_diag_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"disabled","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_step.mcfunction new file mode 100644 index 00000000..8be89d1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/diagnostics/status_step.mcfunction @@ -0,0 +1,19 @@ +# runtoolkit:diagnostics/status_step +# Internal recursive walker for diagnostics/status. For each registered +# subsystem, reads its live "#runtoolkit.packs..version" score +# (0 = disabled/not loaded, matches core/internal/disable/apply.mcfunction's +# convention) and prints one status line. Reads runtoolkit:tmp _walk[0] +# and pops it. +# +# NOTE: deliberately does not depend on macroengine_string (StringLib) — +# runtoolkit sits above individual subsystems and should not require any +# one subsystem's internal libraries to function. The scoreboard holder +# name is built directly via macro substitution instead of string concat. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +data modify storage runtoolkit:tmp _diag_call set from storage runtoolkit:tmp _walk[0] +function runtoolkit:diagnostics/status_line with storage runtoolkit:tmp _diag_call + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:diagnostics/status_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all.mcfunction new file mode 100644 index 00000000..d3b8aac8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all.mcfunction @@ -0,0 +1,20 @@ +# runtoolkit:killswitch/all +# Global emergency stop: disables every registered subsystem via its own +# public disable entry point (respecting each subsystem's own gate/ +# confirmation behavior — this is a supervised shutdown, not a raw +# `datapack disable` sweep). Intended for admin use when something is +# misbehaving and you don't have time to disable subsystems one by one. +# +# Requires op / permission level enforced by the command tree this is +# wired into (not enforced here — see macroengine's own security.* config +# for the pattern this project follows: gating lives at the command-tree +# layer, not duplicated inside every function). + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"no subsystems registered — nothing to stop.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @a ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"KILLSWITCH — disabling all registered subsystems.","color":"red","bold":true}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:killswitch/all_step +data remove storage runtoolkit:tmp _walk +tellraw @a ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"killswitch complete.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_dispatch.mcfunction new file mode 100644 index 00000000..1a5846cc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_dispatch.mcfunction @@ -0,0 +1,9 @@ +# runtoolkit:killswitch/all_dispatch +# MACRO INPUT (from a registry entry, via "with"): +# $(name) -> subsystem id, for the status line +# $(disable_fn) -> function id to call, e.g. "macroengine:disable" +# The subsystem's own disable_fn handles its gate/confirmation/cleanup; +# this just triggers it and reports. + +tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_ks_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"disabling…","color":"gold"}] +$function $(disable_fn) diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_read_version.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_read_version.mcfunction new file mode 100644 index 00000000..0bf6e207 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_read_version.mcfunction @@ -0,0 +1,4 @@ +# runtoolkit:killswitch/all_read_version +# MACRO INPUT: $(name) -> subsystem id +# Reads "#runtoolkit.packs.$(name).version" into score $ks_ver runtoolkit.tmp. +$execute store result score $ks_ver runtoolkit.tmp run scoreboard players get #runtoolkit.packs.$(name).version macroengine.meta diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_step.mcfunction new file mode 100644 index 00000000..74376e95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/killswitch/all_step.mcfunction @@ -0,0 +1,17 @@ +# runtoolkit:killswitch/all_step +# Internal recursive walker for killswitch/all. Calls each registered +# subsystem's own disable_fn (its normal, gated /disable entry point) — +# does not force-disable via `datapack disable` directly, so each +# subsystem's own confirmation/sandbox/cleanup logic still runs. +# Already-disabled subsystems (version score 0) are skipped. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +data modify storage runtoolkit:tmp _ks_call set from storage runtoolkit:tmp _walk[0] +function runtoolkit:killswitch/all_read_version with storage runtoolkit:tmp _ks_call + +execute if score $ks_ver runtoolkit.tmp matches 1.. run function runtoolkit:killswitch/all_dispatch with storage runtoolkit:tmp _ks_call +execute if score $ks_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"gray"},{"text":" — already disabled, skipped","color":"#555555"}] + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:killswitch/all_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/load.mcfunction new file mode 100644 index 00000000..a4d20334 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/load.mcfunction @@ -0,0 +1,12 @@ +# runtoolkit global entry point — load +# Dispatches to every subsystem listed in runtoolkit:registry/seed (a +# static, hand-maintained list — this is the ONLY place a subsystem's +# load_fn is hardcoded now; see registry/seed.mcfunction to add one). + +# Ensure runtoolkit's own scratch objective exists. Missing this made every +# runtoolkit:* function that reads/writes "runtoolkit.tmp" fail silently +# (score get/store on a nonexistent objective does nothing, no error) — +# this is what broke registry/list, diagnostics/status and killswitch/all. +scoreboard objectives add runtoolkit.tmp dummy + +function runtoolkit:registry/load_all \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list.mcfunction new file mode 100644 index 00000000..3a150db8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list.mcfunction @@ -0,0 +1,22 @@ +# runtoolkit:registry/list +# Reports the subsystems currently registered with runtoolkit's global +# load/tick dispatcher. Registration happens via runtoolkit:registry/register +# (called once per subsystem, e.g. from macroengine's own load chain) — +# this function only reads and prints what is already in storage. +# +# Storage shape (runtoolkit:engine): +# registry.subsystems = [ +# {name:"macroengine", version:602, load_fn:"macroengine_load:main", tick_fn:"macroengine.main:macroengine/tick"}, +# ... +# ] + +execute unless data storage runtoolkit:engine registry run data modify storage runtoolkit:engine registry set value {} +execute unless data storage runtoolkit:engine registry.subsystems run data modify storage runtoolkit:engine registry.subsystems set value [] + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registry is empty — no subsystems registered.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registered subsystems:","color":"aqua"}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:registry/list_step +data remove storage runtoolkit:tmp _walk diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list_step.mcfunction new file mode 100644 index 00000000..335e239b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/list_step.mcfunction @@ -0,0 +1,13 @@ +# runtoolkit:registry/list_step +# Internal recursive walker for registry/list. Pops entries off +# runtoolkit:tmp _walk (a scratch copy) one at a time so the source +# registry.subsystems list is never mutated by listing it. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +execute store result score $reg_ver runtoolkit.tmp run data get storage runtoolkit:tmp _walk[0].version +execute if score $reg_ver runtoolkit.tmp matches 1.. run tellraw @s ["",{"text":" - ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"white"},{"text":" (v","color":"#555555"},{"nbt":"_walk[0].version","storage":"runtoolkit:tmp","color":"green"},{"text":")","color":"#555555"}] +execute if score $reg_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" - ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"gray"},{"text":" (disabled)","color":"red"}] + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:registry/list_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all.mcfunction new file mode 100644 index 00000000..73af3b1e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all.mcfunction @@ -0,0 +1,11 @@ +# runtoolkit:registry/load_all +# Called from runtoolkit:load. Walks the static seed (registry/seed), +# calling each subsystem's load_fn and then registering it with the live +# registry — replacing the old hardcoded "function macroengine_load:main" +# + duplicate load_fn string that used to live directly in load.mcfunction. + +function runtoolkit:registry/seed +data modify storage runtoolkit:tmp _load_walk set from storage runtoolkit:tmp seed +data remove storage runtoolkit:tmp seed +function runtoolkit:registry/load_all_step +data remove storage runtoolkit:tmp _load_walk diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_dispatch.mcfunction new file mode 100644 index 00000000..b1e67237 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_dispatch.mcfunction @@ -0,0 +1,18 @@ +# runtoolkit:registry/load_all_dispatch +# MACRO INPUT (one seed entry, via "with"): +# $(name), $(load_fn), $(tick_fn), $(disable_fn), $(version_score) +# +# Calls load_fn, reads the resulting live version, then registers. +# version_score is a dynamic scoreboard holder name (e.g. +# "#runtoolkit.packs.macroengine.version") — score holders accept macro +# substitution directly, same pattern as diagnostics/status_line. + +$function $(load_fn) + +$execute store result score $rt_reg_ver runtoolkit.tmp run scoreboard players get $(version_score) macroengine.meta + +data modify storage runtoolkit:tmp _reg set from storage runtoolkit:tmp _load_entry +data remove storage runtoolkit:tmp _reg.version_score +execute store result storage runtoolkit:tmp _reg.version int 1 run scoreboard players get $rt_reg_ver runtoolkit.tmp +function runtoolkit:registry/register with storage runtoolkit:tmp _reg +data remove storage runtoolkit:tmp _reg diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_step.mcfunction new file mode 100644 index 00000000..580f94f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/load_all_step.mcfunction @@ -0,0 +1,17 @@ +# runtoolkit:registry/load_all_step +# Internal recursive walker for registry/load_all. For each seed entry: +# 1. Call its load_fn (the subsystem's own load chain). +# 2. Read its live version score (only valid AFTER step 1 — the +# subsystem's own load chain is what sets that score, e.g. +# macroengine:config sets #runtoolkit.packs.macroengine.version). +# 3. Call registry/register with that live version, so the registry +# entry is never stale by construction. + +execute unless data storage runtoolkit:tmp _load_walk[0] run return 0 + +data modify storage runtoolkit:tmp _load_entry set from storage runtoolkit:tmp _load_walk[0] +function runtoolkit:registry/load_all_dispatch with storage runtoolkit:tmp _load_entry +data remove storage runtoolkit:tmp _load_entry + +data remove storage runtoolkit:tmp _load_walk[0] +function runtoolkit:registry/load_all_step diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/register.mcfunction new file mode 100644 index 00000000..408d60d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/register.mcfunction @@ -0,0 +1,32 @@ +# runtoolkit:registry/register +# Called once by a subsystem (e.g. macroengine_load:main) to announce itself +# to runtoolkit's dispatcher. Idempotent: re-running with the same name +# overwrites that entry instead of duplicating it, so a /reload doesn't +# grow the list. +# +# MACRO INPUT: +# $(name) -> subsystem id, e.g. "macroengine" +# $(version) -> int, mirrors #runtoolkit.packs..version +# $(load_fn) -> function id dispatched on minecraft:load, e.g. "macroengine_load:main" +# $(tick_fn) -> function id dispatched on minecraft:tick, e.g. "macroengine.main:macroengine/tick" +# $(disable_fn) -> function id that cleanly disables this subsystem, e.g. "macroengine:disable" +# (used by runtoolkit:killswitch/all — must be the subsystem's public, +# gated entry point, not an internal /apply function, so the +# subsystem's own confirmation/sandbox behavior is respected) +# +# NOTE: this only records metadata for registry/list and diagnostics/status. +# It does NOT hook the subsystem into minecraft:load / minecraft:tick — +# that still happens via data/minecraft/tags/function/{load,tick}.json, +# same as today. Registration is descriptive, not wiring. + +execute unless data storage runtoolkit:engine registry run data modify storage runtoolkit:engine registry set value {} +execute unless data storage runtoolkit:engine registry.subsystems run data modify storage runtoolkit:engine registry.subsystems set value [] + +$data modify storage runtoolkit:tmp entry set value {name:"$(name)",version:$(version),load_fn:"$(load_fn)",tick_fn:"$(tick_fn)",disable_fn:"$(disable_fn)"} + +# Remove any existing entry with this name (re-registration on reload), then append fresh. +$data remove storage runtoolkit:engine registry.subsystems[{name:"$(name)"}] +data modify storage runtoolkit:engine registry.subsystems append from storage runtoolkit:tmp entry +data remove storage runtoolkit:tmp entry + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registry/register ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(name)","color":"white"},{"text":" v","color":"#555555"},{"text":"$(version)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/seed.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/seed.mcfunction new file mode 100644 index 00000000..6591ed68 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/registry/seed.mcfunction @@ -0,0 +1 @@ +function #runtoolkit:register \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/tick.mcfunction new file mode 100644 index 00000000..c6c2db73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/tick.mcfunction @@ -0,0 +1,3 @@ +# runtoolkit global entry point — tick +# Dispatches to the macroengine subsystem's own tick chain. +function macroengine.main:macroengine/tick diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/version.mcfunction b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/version.mcfunction new file mode 100644 index 00000000..9f35cf8d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/functions/version.mcfunction @@ -0,0 +1,14 @@ +# runtoolkit:version +# Reports runtoolkit's own dispatcher-layer version — NOT any individual +# subsystem's version (use runtoolkit:diagnostics/status for that). +# This tracks the runtoolkit: namespace itself (load/tick entry points, +# registry, diagnostics, killswitch) as a unit, independent of which +# subsystems happen to be registered under it. +# +# Storage: runtoolkit:engine meta.version — set once here on every call +# (idempotent) rather than only at load, so it stays correct even if this +# file is edited and the datapack reloaded without a full load-tag pass. + +data modify storage runtoolkit:engine meta.version set value "1.0.0" + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"dispatcher v","color":"aqua"},{"nbt":"meta.version","storage":"runtoolkit:engine","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/tags/functions/register.json b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/tags/functions/register.json new file mode 100644 index 00000000..61fc24c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/1_20_5/data/runtoolkit/tags/functions/register.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_load:init" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/function/_private/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/load/function/_private/init.mcfunction new file mode 100644 index 00000000..6f239ff5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/function/_private/init.mcfunction @@ -0,0 +1,3 @@ +# Reset scoreboards so packs can set values accurate for current load. +scoreboard objectives add load.status dummy +scoreboard players reset * load.status diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/init.json b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/init.json new file mode 100644 index 00000000..50cbdf08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/init.json @@ -0,0 +1,5 @@ +{ + "values": [ + "load:_private/init" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/load.json b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/load.json new file mode 100644 index 00000000..7db226d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/_private/load.json @@ -0,0 +1,8 @@ +{ + "values": [ + "#load:_private/init", + {"id": "#load:pre_load", "required": false}, + {"id": "#load:load", "required": false}, + {"id": "#load:post_load", "required": false} + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/load.json b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/load.json new file mode 100644 index 00000000..210b12e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/load.json @@ -0,0 +1,6 @@ +{ + "values": [ + "macroengine_string:zprivate/load", + "#macroengine_player:load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/post_load.json b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/post_load.json new file mode 100644 index 00000000..18ef00a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/post_load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_load:load/post_load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/pre_load.json b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/pre_load.json new file mode 100644 index 00000000..ab87d811 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/load/tags/function/pre_load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine:init/pre_load" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/empty.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/empty.mcfunction new file mode 100644 index 00000000..e69de29b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/load.mcfunction new file mode 100644 index 00000000..d716c32f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/load.mcfunction @@ -0,0 +1,2 @@ +#> minecraft load tag entry +function macroengine_load:main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/tick.mcfunction new file mode 100644 index 00000000..3a84d350 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine.main/function/macroengine/tick.mcfunction @@ -0,0 +1,14 @@ +#> This is the main function, that will run once per tick + +# Config-level pause guard (separate from the storage-level pause in core/tick.mcfunction) +execute if score #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta matches 1 run return 0 + +# Ensure tick config defaults exist (idempotent, only fills missing keys) +execute unless score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function macroengine:config/tick_cfg + +# If tick.rate is not >= 1, skip the real tick work and run the no-op once instead +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches ..0 run function macroengine.main:empty +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches ..0 run return 0 + +execute if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function macroengine:core/tick +execute as @a if score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches 1.. run function #macroengine:loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/hidden/root.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/hidden/root.json new file mode 100644 index 00000000..70d7c70e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/hidden/root.json @@ -0,0 +1,16 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:impossible" + } + }, + "display": { + "title": { "text": "" }, + "description": { "text": "" }, + "icon": { "id": "minecraft:barrier" }, + "frame": "task", + "show_toast": false, + "announce_to_chat": false, + "hidden": true + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/break_block.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/break_block.json new file mode 100644 index 00000000..8ed69c74 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/break_block.json @@ -0,0 +1,16 @@ +{ + "criteria": { + "tool_durability_lost": { + "trigger": "minecraft:item_durability_changed", + "conditions": { + "delta": { + "max": -1 + } + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_break_block" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/dimension_change.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/dimension_change.json new file mode 100644 index 00000000..122ad581 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/dimension_change.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "changed_dimension": { + "trigger": "minecraft:changed_dimension" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_dimension_change" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/eat_food.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/eat_food.json new file mode 100644 index 00000000..5cd9051f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/eat_food.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:consume_item", + "conditions": {} + } + }, + "rewards": { + "function": "macroengine:core/internal/systems/hook/on_eat" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/entity_kill.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/entity_kill.json new file mode 100644 index 00000000..2d481fdc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/entity_kill.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "killed_any_entity": { + "trigger": "minecraft:player_killed_entity" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_entity_kill" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/fish_caught.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/fish_caught.json new file mode 100644 index 00000000..2d60f4e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/fish_caught.json @@ -0,0 +1,19 @@ +{ + "criteria": { + "trigger": { + "trigger": "minecraft:fishing_rod_hooked", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": {}, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine:core/internal/systems/hook/on_fish_caught" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/hero_of_the_village.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/hero_of_the_village.json new file mode 100644 index 00000000..6058dd79 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/hero_of_the_village.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "hero_of_the_village": { + "trigger": "minecraft:hero_of_the_village" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_hero_of_the_village" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_anvil.json new file mode 100644 index 00000000..c3252077 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_anvil.json @@ -0,0 +1,25 @@ +{ + "criteria": { + "interact_anvil": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:anvil" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_interact_anvil" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_shulker_box.json new file mode 100644 index 00000000..088343f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/interact_shulker_box.json @@ -0,0 +1,41 @@ +{ + "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": "macroengine:systems/hook/on_interact_shulker_box" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/item_use.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/item_use.json new file mode 100644 index 00000000..a5777bf5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/item_use.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "used_any_item": { + "trigger": "minecraft:using_item" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_item_use" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/killed_by_arrow.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/killed_by_arrow.json new file mode 100644 index 00000000..8a4139ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/killed_by_arrow.json @@ -0,0 +1,18 @@ +{ + "criteria": { + "killed_by_arrow": { + "trigger": "minecraft:entity_killed_player", + "conditions": { + "killing_blow": { + "direct_entity": { + "entity_type": "minecraft:arrow" + } + } + } + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_killed_by_arrow" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/placed_block.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/placed_block.json new file mode 100644 index 00000000..68bb0bac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/placed_block.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "placed_any_block": { + "trigger": "minecraft:placed_block" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_placed_block" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/trade.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/trade.json new file mode 100644 index 00000000..0ee5cffb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/advancement/systems/hook/trade.json @@ -0,0 +1,11 @@ +{ + "criteria": { + "traded_with_villager": { + "trigger": "minecraft:villager_trade" + } + }, + "rewards": { + "function": "macroengine:systems/hook/on_trade" + }, + "parent": "macroengine:hidden/root" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/dialog/input_prompt.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/dialog/input_prompt.json new file mode 100644 index 00000000..35b4d7e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/dialog/input_prompt.json @@ -0,0 +1,33 @@ +{ + "type": "minecraft:multi_action", + "title": { + "text": "macroengine Input" + }, + "body": { + "type": "minecraft:plain_message", + "contents": "Enter your input below." + }, + "inputs": [ + { + "type": "minecraft:text", + "key": "macroengine_input_text", + "label": "Input", + "label_visible": false, + "max_length": 2000 + } + ], + "can_close_with_escape": true, + "after_action": "close", + "pause": false, + "actions": [ + { + "label": { + "text": "Submit" + }, + "action": { + "type": "minecraft:dynamic/run_command", + "template": "/function macroengine:input/private/dialog_capture {value:$(macroengine_input_text)}" + } + } + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/cancel.mcfunction new file mode 100644 index 00000000..fe082ceb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/cancel.mcfunction @@ -0,0 +1,15 @@ +# macroengine:api/cb/cancel +# ───────────────────────────────────────────────────────────────── +# Clears all pending delayed CB commands from the queue. +# +# No input required. Clears the entire queue. +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# function macroengine:api/cb/cancel +# ───────────────────────────────────────────────────────────────── + + +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/list.mcfunction new file mode 100644 index 00000000..56d8df62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/list.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/cb/list +# ───────────────────────────────────────────────────────────────── +# Prints pending queue entries to the executor. +# Shows each queued command and its remaining ticks. +# ───────────────────────────────────────────────────────────────── + + +execute store result score #cb_queue_size macroengine.tmp run data get storage macroengine:engine cb_queue +execute if score #cb_queue_size macroengine.tmp matches 0 run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"Queue is empty","color":"gray"}] +execute unless score #cb_queue_size macroengine.tmp matches 0 run tellraw @s [{"text":"[MACROENGINE/cb] Queue (","color":"#00AAAA","bold":true},{"score":{"name":"#cb_queue_size","objective":"macroengine.tmp"}},{"text":" entries):","color":"#00AAAA","bold":true}] +execute unless score #cb_queue_size macroengine.tmp matches 0 run tellraw @s {"nbt":"cb_queue","plain":true ,"storage":"macroengine:engine","interpret":false} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/queue_size.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/queue_size.mcfunction new file mode 100644 index 00000000..2ccbbcea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/queue_size.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/cb/queue_size +# ───────────────────────────────────────────────────────────────── +# Returns the number of pending delayed CB commands. +# Result is stored in score #cb_queue_size macroengine.tmp. +# +# EXAMPLE: +# function macroengine:api/cb/queue_size +# # read: scoreboard players get #cb_queue_size macroengine.tmp +# ───────────────────────────────────────────────────────────────── + +execute store result score #cb_queue_size macroengine.tmp run data get storage macroengine:engine cb_queue diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run.mcfunction new file mode 100644 index 00000000..f0e0d94a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run.mcfunction @@ -0,0 +1,30 @@ +# macroengine:api/cb/run +# ───────────────────────────────────────────────────────────────── +# Executes a raw command string via a temporary command block. +# Zero-delay variant: fires next tick, cleaned up 2t later. +# +# INPUT (storage macroengine:input cb): +# cmd (string) — the command to run [REQUIRED] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmd:"say hello"} +# function macroengine:api/cb/run +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required input +execute unless data storage macroengine:input cb.cmd run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmd not set","color":"red"}] +execute unless data storage macroengine:input cb.cmd run return 0 + +# Fill coordinate defaults +function macroengine:core/internal/api/cb/apply_defaults + +# Execute +function macroengine:core/internal/api/cb/exec with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_delayed.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_delayed.mcfunction new file mode 100644 index 00000000..156b8c17 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_delayed.mcfunction @@ -0,0 +1,32 @@ +# macroengine:api/cb/run_delayed +# ───────────────────────────────────────────────────────────────── +# Schedules a command string to execute via command block after a delay. +# +# INPUT (storage macroengine:input cb): +# cmd (string) — the command to run [REQUIRED] +# delay (int) — delay in ticks [REQUIRED, min 1] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmd:"say delayed!",delay:40} +# function macroengine:api/cb/run_delayed +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required inputs +execute unless data storage macroengine:input cb.cmd run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmd not set","color":"red"}] +execute unless data storage macroengine:input cb.cmd run return 0 +execute unless data storage macroengine:input cb.delay run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.delay not set","color":"red"}] +execute unless data storage macroengine:input cb.delay run return 0 + +# Fill coordinate defaults +function macroengine:core/internal/api/cb/apply_defaults + +# Push to delay queue and schedule flush +function macroengine:core/internal/systems/cb/queue_push with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_sequence.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_sequence.mcfunction new file mode 100644 index 00000000..14571a79 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cb/run_sequence.mcfunction @@ -0,0 +1,32 @@ +# macroengine:api/cb/run_sequence +# ───────────────────────────────────────────────────────────────── +# Schedules a list of commands to run sequentially, each separated +# by a configurable interval. +# +# INPUT (storage macroengine:input cb): +# cmds (list of strings) — commands to run [REQUIRED, min 1] +# interval (int) — ticks between each command [default: 2] +# x (int) — CB block X [default: 0] +# y (int) — CB block Y [default: -64] +# z (int) — CB block Z [default: 0] +# +# SECURITY: caller must hold macroengine.perm_level >= security.cmd_min_level. +# +# EXAMPLE: +# data modify storage macroengine:input cb set value {cmds:["say one","say two","say three"],interval:20} +# function macroengine:api/cb/run_sequence +# ───────────────────────────────────────────────────────────────── + +# Security gate + +# Verify required input +execute unless data storage macroengine:input cb.cmds[0] run tellraw @s [{"text":"[MACROENGINE/cb] ","color":"#00AAAA","bold":true},{"text":"cb.cmds is empty or not set","color":"red"}] +execute unless data storage macroengine:input cb.cmds[0] run return 0 + +# Fill defaults +function macroengine:core/internal/api/cb/apply_defaults +execute unless data storage macroengine:input cb.interval run data modify storage macroengine:input cb.interval set value 2 + +# Expand cmds list into individual delayed queue entries +function macroengine:core/internal/systems/cb/seq_expand +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/actionbar.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/actionbar.mcfunction new file mode 100644 index 00000000..7c0b54b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/actionbar.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s actionbar {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/actionbar ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_check.mcfunction new file mode 100644 index 00000000..4527497d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_check.mcfunction @@ -0,0 +1,4 @@ + +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1,advancements={$(advancement)=true}] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_grant.mcfunction new file mode 100644 index 00000000..0ee29b3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_grant.mcfunction @@ -0,0 +1,3 @@ + +$advancement grant @a[name=$(player),limit=1] only $(advancement) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_grant ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_revoke.mcfunction new file mode 100644 index 00000000..a0c16f34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/advancement_revoke.mcfunction @@ -0,0 +1,3 @@ + +$advancement revoke @a[name=$(player),limit=1] only $(advancement) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/advancement_revoke ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(advancement)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/as_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/as_player.mcfunction new file mode 100644 index 00000000..5a5144d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/as_player.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/as_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_add_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_add_modifier.mcfunction new file mode 100644 index 00000000..bf975b42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_add_modifier.mcfunction @@ -0,0 +1,3 @@ + +$attribute @a[name=$(player),limit=1] $(attribute) modifier add $(id) $(amount) $(operation) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_add_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get.mcfunction new file mode 100644 index 00000000..199cfc9c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result double 1 run attribute @a[name=$(player),limit=1] $(attribute) get +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_get ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get_modifier.mcfunction new file mode 100644 index 00000000..53724ead --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_get_modifier.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result double 1 run attribute @a[name=$(player),limit=1] $(attribute) modifier value get $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_get_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_remove_modifier.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_remove_modifier.mcfunction new file mode 100644 index 00000000..b03614a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_remove_modifier.mcfunction @@ -0,0 +1,3 @@ + +$attribute @a[name=$(player),limit=1] $(attribute) modifier remove $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_remove_modifier ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_set.mcfunction new file mode 100644 index 00000000..ef5fe320 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/attribute_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run attribute @s $(attribute) base set $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/attribute_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban.mcfunction new file mode 100644 index 00000000..250d7f5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban.mcfunction @@ -0,0 +1,8 @@ +# Gated ban: if the gate system is active (macroengine:engine sandbox:1b, the +# default), route through confirmation. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(player) -> exact player name, $(reason) -> ban reason +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"ban",label:"Ban $(player) — $(reason)",action:"macroengine:core/internal/cmd/ban_apply",args:{player:"$(player)",reason:"$(reason)"}} + +$function macroengine:core/internal/cmd/ban_apply {player:"$(player)",reason:"$(reason)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban_ip.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban_ip.mcfunction new file mode 100644 index 00000000..942da632 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ban_ip.mcfunction @@ -0,0 +1,2 @@ +$ban-ip $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ban_ip ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_add.mcfunction new file mode 100644 index 00000000..0a9a75e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_add.mcfunction @@ -0,0 +1,4 @@ + +$bossbar add $(id) {"text":"$(text)"} +$bossbar set $(id) color $(color) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_remove.mcfunction new file mode 100644 index 00000000..5e319661 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_remove.mcfunction @@ -0,0 +1,3 @@ + +$bossbar remove $(id) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_remove ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_max.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_max.mcfunction new file mode 100644 index 00000000..44fa67a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_max.mcfunction @@ -0,0 +1,3 @@ + +$bossbar set $(id) max $(max) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_max ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_players.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_players.mcfunction new file mode 100644 index 00000000..a7d372b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_players.mcfunction @@ -0,0 +1,2 @@ + +$bossbar set $(id) players $(players)$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_players ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_value.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_value.mcfunction new file mode 100644 index 00000000..929a3ed6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/bossbar_set_value.mcfunction @@ -0,0 +1,3 @@ + +$bossbar set $(id) value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/bossbar_set_value ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(id)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear.mcfunction new file mode 100644 index 00000000..5b2758e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run clear @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear_item.mcfunction new file mode 100644 index 00000000..a6a1cc08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clear_item.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run clear @s $(item) $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clear_item ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone.mcfunction new file mode 100644 index 00000000..d00454fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone.mcfunction @@ -0,0 +1,4 @@ + + +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clone ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone_masked.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone_masked.mcfunction new file mode 100644 index 00000000..8b013608 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/clone_masked.mcfunction @@ -0,0 +1,4 @@ + + +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) masked +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/clone_masked ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_me.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_me.mcfunction new file mode 100644 index 00000000..fe53503d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_me.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/console_me [REMOVED] +# +# The /me command produces shell-script-like execution behavior, +# and intent detection is not reliably possible, so this function has been removed. +# See: SECURITY.md — "Intent Detection" section. +# +# Alternative: macroengine:systems/log/info or macroengine:api/cmd/msg +# ───────────────────────────────────────────────────────────────── +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_say.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_say.mcfunction new file mode 100644 index 00000000..f627ceff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/console_say.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/console_say [REMOVED] +# +# /say sends a server-level message to all players; +# it produces shell-script-like execution behavior and intent +# detection is not reliably possible, so this function has been removed. +# See: SECURITY.md — "Intent Detection" section. +# +# Alternative: macroengine:systems/string/announce +# ───────────────────────────────────────────────────────────────── +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage.mcfunction new file mode 100644 index 00000000..d86dc2c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run damage @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/damage ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage_typed.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage_typed.mcfunction new file mode 100644 index 00000000..ce6163d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/damage_typed.mcfunction @@ -0,0 +1,4 @@ + + +$damage @a[name=$(player),limit=1] $(amount) $(damage_type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/damage_typed ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_block.mcfunction new file mode 100644 index 00000000..da83d4d8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_block.mcfunction @@ -0,0 +1,5 @@ + + + +$data remove block $(x) $(y) $(z) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_block ","color":"aqua"},{"text":"$(x) $(y) $(z) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_entity.mcfunction new file mode 100644 index 00000000..2dee249e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_entity.mcfunction @@ -0,0 +1,5 @@ + + + +$data remove entity $(target) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_entity ","color":"aqua"},{"text":"$(target) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_storage.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_storage.mcfunction new file mode 100644 index 00000000..e3128af9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/data_remove_storage.mcfunction @@ -0,0 +1,11 @@ +# Gated storage removal: if the gate system is active (macroengine:engine +# sandbox:1b, the default), route through confirmation — this command can +# destroy arbitrary storage data (including macroengine's own engine state) so +# it is treated as dangerous. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(storage) -> storage id, e.g. "macroengine:engine" +# $(path) -> NBT path to remove, e.g. "pending_gate" +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"data_remove_storage",label:"Remove storage $(storage) → $(path)",action:"macroengine:core/internal/cmd/data_remove_storage_apply",args:{storage:"$(storage)",path:"$(path)"}} + +$function macroengine:core/internal/cmd/data_remove_storage_apply {storage:"$(storage)",path:"$(path)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/datapack.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/datapack.mcfunction new file mode 100644 index 00000000..2993f500 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/datapack.mcfunction @@ -0,0 +1,3 @@ + +$execute if data storage macroengine:input {action:"disable"} run datapack disable $(pack) +$execute if data storage macroengine:input {action:"enable"} run datapack enable $(pack) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/deop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/deop.mcfunction new file mode 100644 index 00000000..fbb3c19c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/deop.mcfunction @@ -0,0 +1,4 @@ + + +$deop $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/deop ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/difficulty.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/difficulty.mcfunction new file mode 100644 index 00000000..f8572abe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/difficulty.mcfunction @@ -0,0 +1,4 @@ + + +$difficulty $(level) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/difficulty ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(level)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/disable.mcfunction new file mode 100644 index 00000000..09caa63d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/disable.mcfunction @@ -0,0 +1 @@ +function macroengine:core/disable/main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/display_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/display_name.mcfunction new file mode 100644 index 00000000..fd845564 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/display_name.mcfunction @@ -0,0 +1,3 @@ + +$data modify entity @e[type=$(type),tag=$(tag),limit=1] CustomName set value '$(name)' +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/display_name ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear.mcfunction new file mode 100644 index 00000000..74a767d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect clear @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear_one.mcfunction new file mode 100644 index 00000000..61eb3fcd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_clear_one.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect clear @s $(effect) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_clear_one ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give.mcfunction new file mode 100644 index 00000000..7e3c9d8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect give @s $(effect) $(duration) $(amplifier) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give_all.mcfunction new file mode 100644 index 00000000..cb8d578e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/effect_give_all.mcfunction @@ -0,0 +1,3 @@ + +$effect give @a $(effect) $(duration) $(amplifier) $(hide) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/effect_give_all ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/enchant.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/enchant.mcfunction new file mode 100644 index 00000000..21d7c1bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/enchant.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run enchant @s $(enchantment) $(level) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/enchant ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(enchantment)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/execute_if_pred.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/execute_if_pred.mcfunction new file mode 100644 index 00000000..ac0dec50 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/execute_if_pred.mcfunction @@ -0,0 +1 @@ +$execute as @a[limit=1] if predicate $(predicate) run $(command) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/fill.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/fill.mcfunction new file mode 100644 index 00000000..592ea021 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/fill.mcfunction @@ -0,0 +1,3 @@ + +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/fill ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_add.mcfunction new file mode 100644 index 00000000..0d93aa00 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_add.mcfunction @@ -0,0 +1,3 @@ + +$forceload add $(x) $(z) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/forceload_add ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_remove.mcfunction new file mode 100644 index 00000000..3ba641a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/forceload_remove.mcfunction @@ -0,0 +1,4 @@ + + +$forceload remove $(x) $(z) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/forceload_remove ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/freeze.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/freeze.mcfunction new file mode 100644 index 00000000..d57e54de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/freeze.mcfunction @@ -0,0 +1,26 @@ + +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze +# Freezes a player in place using an invisible marker armor stand. +# Every tick the frozen player is teleported back to the stand's +# position, preventing any movement. This is the only reliable +# vanilla method — player NBT is read-only so FrozenTicks cannot +# be set, and Slowness 255 alone does not stop client-side movement. +# +# On freeze: a marker armor stand is summoned at the player's feet, +# the player's macroengine.pid is copied to the stand's macroengine.freeze_id, +# and the player receives the macroengine.frozen tag. +# +# The per-tick teleport back is handled by: +# macroengine:api/cmd/freeze/internal/tick (hooked via #macroengine:events/on_tick) +# +# Use macroengine:api/cmd/unfreeze to release. +# +# INPUT : $(player) → exact player name +# +# EXAMPLE: +# function macroengine:api/cmd/freeze {player:"Steve"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),tag=!macroengine.frozen,limit=1] run function macroengine:core/internal/api/cmd/freeze/apply +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/freeze ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"translate":"macroengine.msg.freeze","color":"#00aaff","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/function.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/function.mcfunction new file mode 100644 index 00000000..6e2b4b5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/function.mcfunction @@ -0,0 +1,2 @@ + +$execute as @a[limit=1,name="(target)] at @a[name=$(target)] run function $(func) with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamemode.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamemode.mcfunction new file mode 100644 index 00000000..c3694dd1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamemode.mcfunction @@ -0,0 +1,5 @@ + + + +$execute as @a[name=$(player),limit=1] at @s run gamemode $(mode) @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/gamemode ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamerule.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamerule.mcfunction new file mode 100644 index 00000000..b858110a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/gamerule.mcfunction @@ -0,0 +1,4 @@ + + +$gamerule $(rule) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/gamerule ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(rule)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give.mcfunction new file mode 100644 index 00000000..6506a531 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run give @s $(item) $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give_one.mcfunction new file mode 100644 index 00000000..8fca282d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/give_one.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run give @s $(item) 1 +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/give_one ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/heal.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/heal.mcfunction new file mode 100644 index 00000000..87e9ebff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/heal.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run effect give @s minecraft:instant_health 1 $(amount) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/heal ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_modify.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_modify.mcfunction new file mode 100644 index 00000000..259bfceb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_modify.mcfunction @@ -0,0 +1,3 @@ + +$item modify entity @a[name=$(player),limit=1] $(slot) $(modifier) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/item_modify ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_rename.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_rename.mcfunction new file mode 100644 index 00000000..48d3ded6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/item_rename.mcfunction @@ -0,0 +1,3 @@ + +$item modify entity @a[name=$(player),limit=1] $(slot) $(modifier) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/item_rename ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kick.mcfunction new file mode 100644 index 00000000..32431274 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kick.mcfunction @@ -0,0 +1,8 @@ +# Gated kick: if the gate system is active (macroengine:engine sandbox:1b, the +# default), route through confirmation. If gates were turned off via +# gate/toggle/disable, apply directly like before. +# +# INPUT : $(player) -> exact player name, $(reason) -> kick reason +$execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"kick",label:"Kick $(player) — $(reason)",action:"macroengine:core/internal/cmd/kick_apply",args:{player:"$(player)",reason:"$(reason)"}} + +$function macroengine:core/internal/cmd/kick_apply {player:"$(player)",reason:"$(reason)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kill.mcfunction new file mode 100644 index 00000000..d7347e5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/kill.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run kill @s +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/kill ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/locate_structure.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/locate_structure.mcfunction new file mode 100644 index 00000000..e9906395 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/locate_structure.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run locate structure $(structure) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/locate_structure ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(structure)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_drop.mcfunction new file mode 100644 index 00000000..9f8c3c88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_drop.mcfunction @@ -0,0 +1,3 @@ + +$loot spawn $(x) $(y) $(z) loot $(loot_table) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/loot_drop ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_give.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_give.mcfunction new file mode 100644 index 00000000..908efcbe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/loot_give.mcfunction @@ -0,0 +1,3 @@ + +$loot give @a[name=$(player),limit=1] loot $(loot_table) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/loot_give ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg.mcfunction new file mode 100644 index 00000000..621bcadf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg.mcfunction @@ -0,0 +1,2 @@ + +$tellraw @a[name=$(player),limit=1] {"text":"$(message)","color":"gray","italic":true} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg_raw.mcfunction new file mode 100644 index 00000000..133e6596 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/msg_raw.mcfunction @@ -0,0 +1,2 @@ + +$tellraw $(player) $(json) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/op.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/op.mcfunction new file mode 100644 index 00000000..330adde2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/op.mcfunction @@ -0,0 +1,4 @@ + + +$op $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/op ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/action_run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/action_run.mcfunction new file mode 100644 index 00000000..a3fec7e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/action_run.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run function macroengine:api/cmd/$(type) $(arguments) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/action_run ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd.mcfunction new file mode 100644 index 00000000..729ad82b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/cmd/other/multi_cmd [MACRO] +# Executes a list of commands in order. +# INPUT (macro args): $(commands) — list of command strings/objects +# +# SECURITY: sets multiCommands.type = "multi_cmd" before run. +# Type is validated against security.multi_type_allowlist before execution. +# Invalid or unlisted types trigger type_violation (log + kick). + +# Tag type — must be done before validation +data modify storage macroengine:engine multiCommands.type set value "multi_cmd" +data modify storage macroengine:engine multiCommands.active set value 1b + +# Validate type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.active + +$data modify storage macroengine:engine _mcmd_queue set value $(commands) +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +execute at @s run function macroengine:api/cmd/other/multi_cmd/run +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/multi_cmd ","color":"aqua"},{"text":"▶ executing batch","color":"#555555"}] + +# Clear type marker +data remove storage macroengine:engine multiCommands.type +data remove storage macroengine:engine multiCommands.active diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction new file mode 100644 index 00000000..d2f42ea9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/advanced/run_with_options.mcfunction @@ -0,0 +1,26 @@ +# macroengine:api/cmd/other/multi_cmd/advanced/run_with_options +# Run with advanced options. +# +# INPUT (storage macroengine:input): +# list → command list (string or object) +# options → {priority_sort:1b, spread_ticks:0, error_mode:"continue", profile:1b, type:"..."} +# +# SECURITY: if options.type is set, validates it against multi_type_allowlist. +# Invalid type → type_violation (log + kick) + abort. + +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list +execute unless data storage macroengine:input options run data modify storage macroengine:input options set value {} +data modify storage macroengine:engine _mcmd_options merge from storage macroengine:input options + +# Validate options.type if caller explicitly specified one +execute if data storage macroengine:engine _mcmd_options.type run data modify storage macroengine:engine multiCommands.type set from storage macroengine:engine _mcmd_options.type + +execute unless data storage macroengine:engine _mcmd_options.error_mode run data modify storage macroengine:engine _mcmd_options.error_mode set value "continue" +execute unless data storage macroengine:engine _mcmd_options.profile run data modify storage macroengine:engine _mcmd_options.profile set value 0b +execute unless data storage macroengine:engine _mcmd_options.spread_ticks run data modify storage macroengine:engine _mcmd_options.spread_ticks set value 0 + +execute if data storage macroengine:engine _mcmd_options{priority_sort:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority +execute if data storage macroengine:engine _mcmd_options.spread_ticks unless data storage macroengine:engine _mcmd_options{spread_ticks:0} run return run function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread + +function macroengine:api/cmd/other/multi_cmd/run +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/advanced ","color":"aqua"},{"text":"✔ with options","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input.mcfunction new file mode 100644 index 00000000..c0939ed3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/from_input +# Execute a simple command list (backward compatible) +# +# INPUT (storage macroengine:input): +# list → command list ["cmd1", "cmd2", ...] +# +# EXAMPLE: +# data modify storage macroengine:input list set value ["say Hello", "say World"] +# function macroengine:api/cmd/other/multi_cmd/from_input +# ───────────────────────────────────────────────────────────────── + +# Copy list to queue +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list + +# Set default options +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +# Execute +function macroengine:api/cmd/other/multi_cmd/run + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/from_input ","color":"aqua"},{"text":"▶ list → run","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input_as.mcfunction new file mode 100644 index 00000000..67686bfa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/from_input_as.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/from_input_as +# Execute as a specific selector +# +# INPUT (storage macroengine:input): +# list → komut listesi +# selector → entity selector (default: @s) +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:input selector run data modify storage macroengine:input selector set value "@s" + +data modify storage macroengine:engine _mcmd_queue set from storage macroengine:input list +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_as_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run.mcfunction new file mode 100644 index 00000000..757181d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run +# Execute queued commands +# ───────────────────────────────────────────────────────────────── + +# Reset statistics +execute if data storage macroengine:engine _mcmd_options{profile:1b} run data modify storage macroengine:engine _mcmd_stats set value {total:0,success:0,failed:0,start_time:0} +execute if data storage macroengine:engine _mcmd_options{profile:1b} run execute store result storage macroengine:engine _mcmd_stats.start_time int 1 run time query gametime + +# Start recursive stepping +function macroengine:core/internal/api/cmd/other/multi_cmd/step + +# Cleanup +function macroengine:core/internal/api/cmd/other/multi_cmd/cleanup + +# Show statistics +execute if data storage macroengine:engine _mcmd_options{profile:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/show_stats + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/run ","color":"aqua"},{"text":"✔ batch done","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_as.mcfunction new file mode 100644 index 00000000..b79693fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_as.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_as +# Run queue as a specific entity +# +# INPUT (storage macroengine:input): +# selector → entity selector +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_as_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_at.mcfunction new file mode 100644 index 00000000..796ee4ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_at.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_at +# Run queue at a specific location +# +# INPUT (storage macroengine:input): +# selector → entity selector +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/cmd/other/multi_cmd/run_at_exec with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_func.mcfunction new file mode 100644 index 00000000..2e1b17fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/run_func.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/run_func +# Run function list +# +# INPUT (storage macroengine:input): +# list → function list ["pack:func1", "pack:func2"] +# ───────────────────────────────────────────────────────────────── + +# Convert strings to {func:"..."} format +data modify storage macroengine:engine _mcmd_queue set value [] +function macroengine:core/internal/api/cmd/other/multi_cmd/func_convert_loop + +data modify storage macroengine:engine _mcmd_options set value {error_mode:"continue",profile:0b,spread:0} +function macroengine:api/cmd/other/multi_cmd/run + +data remove storage macroengine:engine _mcmd_func_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/add_command.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/add_command.mcfunction new file mode 100644 index 00000000..d305f52c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/add_command.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/add_command +# Add a command to queue at runtime +# +# INPUT (storage macroengine:input): +# cmd or func → command/function to add +# ───────────────────────────────────────────────────────────────── + +execute if data storage macroengine:input cmd run data modify storage macroengine:engine _mcmd_queue append value {} +execute if data storage macroengine:input cmd run data modify storage macroengine:engine _mcmd_queue[-1].cmd set from storage macroengine:input cmd + +execute if data storage macroengine:input func run data modify storage macroengine:engine _mcmd_queue append value {} +execute if data storage macroengine:input func run data modify storage macroengine:engine _mcmd_queue[-1].func set from storage macroengine:input func + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/utils/add ","color":"aqua"},{"text":"✔ added to queue","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction new file mode 100644 index 00000000..5150251b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/clear_queue.mcfunction @@ -0,0 +1,7 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/clear_queue +# Clear the queue +# ───────────────────────────────────────────────────────────────── + +data remove storage macroengine:engine _mcmd_queue +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/utils/clear ","color":"aqua"},{"text":"✔ queue cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/get_stats.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/get_stats.mcfunction new file mode 100644 index 00000000..f62a31f9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/get_stats.mcfunction @@ -0,0 +1,6 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/utils/get_stats +# Mevcut istatistikleri macroengine:output'a kopyala +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output stats set from storage macroengine:engine _mcmd_stats diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction new file mode 100644 index 00000000..248b26b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd/utils/run_with_options_tracked.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output multiCommands.executed set value 0b + +execute at @s store success storage macroengine:output multiCommands.executed byte 1 unless function macroengine:api/cmd/other/multi_cmd/advanced/run_with_options run return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd_adv.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd_adv.mcfunction new file mode 100644 index 00000000..49b65796 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/multi_cmd_adv.mcfunction @@ -0,0 +1,22 @@ +# macroengine:api/cmd/other/multi_cmd_adv [MACRO] +# Advanced multi-command execution with options. +# INPUT (macro args): $(list) — command list; $(options) — options compound +# +# SECURITY: sets multiCommands.type = "multi_cmd_adv" before run. +# Type is validated against security.multi_type_allowlist before execution. + +# Tag type +data modify storage macroengine:engine multiCommands.type set value "multi_cmd_adv" +data modify storage macroengine:engine multiCommands.active set value 1b + +# Validate type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.type +execute if data storage macroengine:engine {security:{multi_type_allowlist:{multi_cmd_adv:0b}}} run data remove storage macroengine:engine multiCommands.active + +$data merge storage macroengine:input {list:$(list),options:$(options)} + +function macroengine:api/cmd/other/multi_cmd/advanced/run_with_options + +# Clear type marker +data remove storage macroengine:engine multiCommands.type +data remove storage macroengine:engine multiCommands.active diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_as_uuid.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_as_uuid.mcfunction new file mode 100644 index 00000000..34bd8b3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_as_uuid.mcfunction @@ -0,0 +1 @@ + $execute as @a[nbt={UUID:$(uuid)}] run $(cmd) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_nearest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_nearest.mcfunction new file mode 100644 index 00000000..f9a05e88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_nearest.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[sort=nearest,limit=1] at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_nearest ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_random.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_random.mcfunction new file mode 100644 index 00000000..b026191d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_random.mcfunction @@ -0,0 +1,2 @@ +$execute as @r at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_self ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_self.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_self.mcfunction new file mode 100644 index 00000000..a771af37 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/run_self.mcfunction @@ -0,0 +1,2 @@ +$execute as @s at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/run_self ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_reset.mcfunction new file mode 100644 index 00000000..02020e83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_reset.mcfunction @@ -0,0 +1,2 @@ +$data modify storage $(storageName) $(nbt) set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/storage_reset ","color":"aqua"},{"text":"$(storageName)","color":"white"},{"text":".","color":"#555555"},{"text":"$(nbt)","color":"aqua"},{"text":" → []","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_set.mcfunction new file mode 100644 index 00000000..d2a57b4b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/other/storage_set.mcfunction @@ -0,0 +1,2 @@ +$execute at @s run data modify storage $(storageName) $(nbt) set $(actionType) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/other/storage_set ","color":"aqua"},{"text":"$(storageName)","color":"white"},{"text":".","color":"#555555"},{"text":"$(nbt)","color":"aqua"},{"text":" ← ","color":"#555555"},{"text":"$(value)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/particle.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/particle.mcfunction new file mode 100644 index 00000000..b62ef612 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/particle.mcfunction @@ -0,0 +1,3 @@ + +$particle $(name) $(x) $(y) $(z) $(dx) $(dy) $(dz) $(speed) $(count) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/particle ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_feature.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_feature.mcfunction new file mode 100644 index 00000000..9e879690 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_feature.mcfunction @@ -0,0 +1,4 @@ + + +$place feature $(feature) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/place_feature ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(feature)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_structure.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_structure.mcfunction new file mode 100644 index 00000000..0eaf5ac5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/place_structure.mcfunction @@ -0,0 +1,4 @@ + + +$place structure $(structure) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/place_structure ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(structure)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/publish.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/publish.mcfunction new file mode 100644 index 00000000..7c9b4784 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/publish.mcfunction @@ -0,0 +1,3 @@ + + +$publish $(allow_commands) $(game_mode) $(port) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride.mcfunction new file mode 100644 index 00000000..1b359812 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride.mcfunction @@ -0,0 +1,3 @@ + +$ride @a[name=$(player),limit=1] mount $(vehicle) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ride ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(vehicle)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride_dismount.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride_dismount.mcfunction new file mode 100644 index 00000000..2398a9e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/ride_dismount.mcfunction @@ -0,0 +1,3 @@ + +$ride @a[name=$(player),limit=1] dismount +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ride_dismount ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_cb_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_cb_reset.mcfunction new file mode 100644 index 00000000..20a6bb13 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_cb_reset.mcfunction @@ -0,0 +1,4 @@ +data modify block 0 -64 0 auto set value 0b +setblock 0 -64 0 minecraft:air replace + +forceload remove 0 0 \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_with_cb.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_with_cb.mcfunction new file mode 100644 index 00000000..3562155a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/run_with_cb.mcfunction @@ -0,0 +1,9 @@ +# Add forceload +forceload add 0 0 + +# Execute command from storage using marker + command block +setblock 0 -64 0 minecraft:command_block{Command:"",auto:0b,TrackOutput:0b} replace +data modify block 0 -64 0 Command set from storage macroengine:input cmd +data modify block 0 -64 0 auto set value 1b + +schedule function macroengine:api/cmd/run_cb_reset 2t replace \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_add.mcfunction new file mode 100644 index 00000000..f796e2d3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run scoreboard players add @s $(objective) $(amount) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(amount)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_get.mcfunction new file mode 100644 index 00000000..dc571af1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result int 1 run scoreboard players get @a[name=$(player),limit=1] $(objective) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_get ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_set.mcfunction new file mode 100644 index 00000000..e2f1944d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/scoreboard_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run scoreboard players set @s $(objective) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/scoreboard_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/set_clock_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/set_clock_rate.mcfunction new file mode 100644 index 00000000..65230dd7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/set_clock_rate.mcfunction @@ -0,0 +1,6 @@ + +# DL - World Clock Rate Controller +$time rate $(rate) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"clock/rate_updated ","color":"aqua"},{"text":"* ","color":"white"},{"text":"to ","color":"gray"},{"text":"$(rate)x","color":"gold"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/setblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/setblock.mcfunction new file mode 100644 index 00000000..c1072309 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/setblock.mcfunction @@ -0,0 +1,4 @@ + + +$setblock $(x) $(y) $(z) $(block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/setblock ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound.mcfunction new file mode 100644 index 00000000..5d4da496 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run playsound $(sound) master @s ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/sound ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound_all.mcfunction new file mode 100644 index 00000000..f064b564 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/sound_all.mcfunction @@ -0,0 +1,3 @@ + +$playsound $(sound) master @a ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/sound_all ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate.mcfunction new file mode 100644 index 00000000..e5d5fe7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run spectate $(target) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spectate ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate_stop.mcfunction new file mode 100644 index 00000000..ea090973 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spectate_stop.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run spectate +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spectate_stop ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spreadplayers.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spreadplayers.mcfunction new file mode 100644 index 00000000..140de078 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/spreadplayers.mcfunction @@ -0,0 +1,4 @@ + + +$spreadplayers $(cx) $(cz) $(spread) $(max_range) false $(target) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/spreadplayers ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/stopsound.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/stopsound.mcfunction new file mode 100644 index 00000000..f74d5599 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/stopsound.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run stopsound @s $(category) $(sound) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/stopsound ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(sound)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/storage_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/storage_set.mcfunction new file mode 100644 index 00000000..8717f22b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/storage_set.mcfunction @@ -0,0 +1,3 @@ + +$data modify storage $(storage) $(nbt) set $(actionType) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/storage_set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/subtitle.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/subtitle.mcfunction new file mode 100644 index 00000000..177ed9b2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/subtitle.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s subtitle {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/subtitle ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/summon.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/summon.mcfunction new file mode 100644 index 00000000..623cb1a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/summon.mcfunction @@ -0,0 +1,4 @@ + + +$summon $(entity) $(x) $(y) $(z) $(nbt) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/summon ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(entity)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/swing.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/swing.mcfunction new file mode 100644 index 00000000..7b46a881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/swing.mcfunction @@ -0,0 +1,6 @@ + +# DL - Swing & Feedback Module +$swing @a[name=$(player),limit=1] $(hand) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/swing ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_add.mcfunction new file mode 100644 index 00000000..1742f2e2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run tag @s add $(tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tag_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_remove.mcfunction new file mode 100644 index 00000000..a3953d60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tag_remove.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run tag @s remove $(tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tag_remove ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_add.mcfunction new file mode 100644 index 00000000..bf559d41 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_add.mcfunction @@ -0,0 +1,4 @@ + + +$time add $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/time_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_of.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_of.mcfunction new file mode 100644 index 00000000..24bc1a25 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_of.mcfunction @@ -0,0 +1,7 @@ + +# DL - Universal World Clock Controller +# Usage: /function ame:clock_handler {clock:"macroengine:test", action:"set", value:"12000"} +$time of $(clock) $(action) $(value) + +# System Debug Log for staff (Only for users with 'macroengine.debug' tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"clock/system_update ","color":"aqua"},{"text":"$(clock) ","color":"white"},{"text":"action:","color":"gray"},{"text":"$(action) ","color":"gold"},{"text":"value:","color":"gray"},{"text":"$(value)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_set.mcfunction new file mode 100644 index 00000000..4451e591 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/time_set.mcfunction @@ -0,0 +1,4 @@ + + +$time set $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/time_set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title.mcfunction new file mode 100644 index 00000000..cfcbf407 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s title {"text":"$(text)","color":"$(color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_all.mcfunction new file mode 100644 index 00000000..afb269da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_all.mcfunction @@ -0,0 +1,3 @@ + +$title @a title {"text":"$(title)"} +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_all ","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_bold.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_bold.mcfunction new file mode 100644 index 00000000..2d4f54a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_bold.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s title {"text":"$(text)","color":"$(color)","bold":true} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_bold ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_clear.mcfunction new file mode 100644 index 00000000..2146fb81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_clear.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s clear +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_reset.mcfunction new file mode 100644 index 00000000..de22c70d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_reset.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s reset +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_reset ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_sub.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_sub.mcfunction new file mode 100644 index 00000000..05e0874c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_sub.mcfunction @@ -0,0 +1,4 @@ + +$title @a[name=$(player),limit=1] title {"text":"$(title)","color":"$(color)","bold":true} +$title @a[name=$(player),limit=1] subtitle {"text":"$(subtitle)","color":"$(sub_color)","italic":true} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_sub ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_times.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_times.mcfunction new file mode 100644 index 00000000..c3db2283 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/title_times.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] at @s run title @s times $(fade_in) $(stay) $(fade_out) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/title_times ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp.mcfunction new file mode 100644 index 00000000..68539017 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_facing.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_facing.mcfunction new file mode 100644 index 00000000..835920b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_facing.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s $(x) $(y) $(z) facing $(fx) $(fy) $(fz) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_facing ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_coords.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_coords.mcfunction new file mode 100644 index 00000000..272ea71b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_coords.mcfunction @@ -0,0 +1,4 @@ + + +$tp $(player) $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_coords ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(x) $(y) $(z)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_entity.mcfunction new file mode 100644 index 00000000..8acba383 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_entity.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] run tp @s @e[type=$(type),tag=$(tag),limit=1] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_entity ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_player.mcfunction new file mode 100644 index 00000000..79b2e3bd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/tp_to_player.mcfunction @@ -0,0 +1,4 @@ + + +$execute as @a[name=$(player),limit=1] at @s run tp @s @a[name=$(target),limit=1] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/tp_to_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(target)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/trigger_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/trigger_set.mcfunction new file mode 100644 index 00000000..42d8c9fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/trigger_set.mcfunction @@ -0,0 +1,3 @@ + +$scoreboard players set $(player) $(objective) $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/trigger_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/unfreeze.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/unfreeze.mcfunction new file mode 100644 index 00000000..f134ee39 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/unfreeze.mcfunction @@ -0,0 +1,19 @@ + +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/unfreeze +# Releases a player previously frozen by macroengine:api/cmd/freeze. +# +# 1. Finds the frozen player's macroengine.pid. +# 2. Kills the anchor armor stand whose macroengine.freeze_id matches. +# 3. Removes the macroengine.frozen tag so the tick function stops +# teleporting them. +# 4. Plays the unfreeze sound and notifies the player. +# +# INPUT : $(player) → exact player name +# +# EXAMPLE: +# function macroengine:api/cmd/unfreeze {player:"Steve"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),tag=macroengine.frozen,limit=1] run function macroengine:core/internal/api/cmd/freeze/remove +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/unfreeze ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"translate":"macroengine.msg.unfreeze","color":"#55ff55","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/weather.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/weather.mcfunction new file mode 100644 index 00000000..0ada9c2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/weather.mcfunction @@ -0,0 +1,4 @@ + + +$weather $(type) $(duration) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/weather ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/whitelist.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/whitelist.mcfunction new file mode 100644 index 00000000..65ca4928 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/whitelist.mcfunction @@ -0,0 +1,4 @@ + + +$whitelist $(action) $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/whitelist ","color":"aqua"},{"text":"$(action) $(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_add.mcfunction new file mode 100644 index 00000000..76888ac6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_add.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run xp add @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_get.mcfunction new file mode 100644 index 00000000..0e5df494 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_get.mcfunction @@ -0,0 +1,3 @@ + +$execute store result storage macroengine:output result int 1 run xp query @a[name=$(player),limit=1] $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_get ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_set.mcfunction new file mode 100644 index 00000000..7b0674fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/cmd/xp_set.mcfunction @@ -0,0 +1,3 @@ + +$execute as @a[name=$(player),limit=1] run xp set @s $(amount) $(type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/xp_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/from_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/from_score.mcfunction new file mode 100644 index 00000000..0fcdc480 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/from_score.mcfunction @@ -0,0 +1,35 @@ +# macroengine:api/color/from_score [MACRO] +# Maps an integer score range to a color using a threshold table. +# Useful for health bars, progress displays, danger indicators. +# +# Threshold logic (low → high): +# score < low_threshold → low_color +# score < mid_threshold → mid_color +# score >= mid_threshold → high_color +# +# Input (macro args): +# objective — scoreboard objective name +# player — player name, fake player name (include # prefix), or selector string +# low_threshold — score below this → low_color +# mid_threshold — score below this → mid_color (if >= low_threshold) +# low_color — color for low range (e.g. "red") +# mid_color — color for mid range (e.g. "yellow") +# high_color — color for high range (e.g. "green") +# +# Output → macroengine:output result +# The matching color string. +# +# Usage: +# function macroengine:api/color/from_score {objective:"health",player:"Steve",\ +# low_threshold:7,mid_threshold:14,\ +# low_color:"red",mid_color:"yellow",high_color:"green"} +# data get storage macroengine:output result + +# Default: high_color +$data modify storage macroengine:output result set value "$(high_color)" + +# Override with low or mid if score is below threshold +$execute if score $(player) $(objective) matches ..$(low_threshold) run data modify storage macroengine:output result set value "$(low_color)" +$execute if score $(player) $(objective) matches $(low_threshold)..$(mid_threshold) run data modify storage macroengine:output result set value "$(mid_color)" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/from_score ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_delete.mcfunction new file mode 100644 index 00000000..4ad343de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_delete.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/color/gradient_delete [MACRO] +# Removes a named gradient from storage. +# +# Input (macro args): +# name — gradient name to remove +# +# Usage: +# function macroengine:api/color/gradient_delete {name:"health"} + + +$data remove storage macroengine:engine color.gradients.$(name) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/gradient_delete ","color":"aqua"},{"text":"$(name)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_set.mcfunction new file mode 100644 index 00000000..9739a31d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/gradient_set.mcfunction @@ -0,0 +1,26 @@ +# macroengine:api/color/gradient_set [MACRO] +# Registers a named gradient as an ordered list of color strings. +# Steps are accessed by index via macroengine:api/color/lerp. +# +# Input (macro args): +# name — gradient name (e.g. "health", "sunset", "xp") +# colors — SNBT list of color strings, e.g. ["red","yellow","green"] +# or hex: ["#FF0000","#FFAA00","#00FF00"] +# Length is arbitrary; step 0 = first entry. +# +# Output → none +# +# Usage: +# function macroengine:api/color/gradient_set {name:"health",\ +# colors:["red","yellow","green"]} +# +# function macroengine:api/color/gradient_set {name:"xp",\ +# colors:["dark_green","green","#AAFF00","yellow"]} +# +# Note: SNBT list syntax requires quotes around string entries. +# This is a load-time operation — call from a load tag or init function. + + +execute unless data storage macroengine:engine color.gradients run data modify storage macroengine:engine color.gradients set value {} +$data modify storage macroengine:engine color.gradients.$(name) set value $(colors) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/gradient_set ","color":"aqua"},{"text":"$(name)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/lerp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/lerp.mcfunction new file mode 100644 index 00000000..74560452 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/lerp.mcfunction @@ -0,0 +1,29 @@ +# macroengine:api/color/lerp [MACRO] +# Looks up a precomputed lerp step from a named gradient table. +# Gradients are registered via macroengine:api/color/gradient_set. +# +# This is NOT a real-time RGB interpolator — mcfunction cannot do +# per-channel arithmetic at runtime. Instead, callers pre-register +# a gradient as an ordered list of hex strings and this function +# returns the entry at the given step index. +# +# Input (macro args): +# gradient — gradient name registered via gradient_set +# step — integer index into the gradient list (0-based) +# +# Output → macroengine:output result +# The color string at that step, or "" if out of range. +# +# Usage: +# # Register once (e.g. at load): +# function macroengine:api/color/gradient_set {name:"sunset",\ +# colors:["#FF0000","#FF5500","#FFAA00","#FFD700","#FFFF00"]} +# +# # Retrieve at runtime: +# function macroengine:api/color/lerp {gradient:"sunset",step:2} +# # → macroengine:output result = "#FFAA00" + +data modify storage macroengine:output result set value "" +$data modify storage macroengine:engine _color_lerp_tmp set value {gradient:"$(gradient)",step:$(step)} +$execute if data storage macroengine:engine color.gradients.$(gradient) run function macroengine:core/internal/systems/color/lerp_exec with storage macroengine:engine _color_lerp_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/lerp ","color":"aqua"},{"text":"$(gradient)[$(step)]","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_delete.mcfunction new file mode 100644 index 00000000..2ea357be --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_delete.mcfunction @@ -0,0 +1,14 @@ +# macroengine:api/color/palette_delete [MACRO] +# Removes a color alias from the runtime palette. +# +# Input (macro args): +# key — alias name to remove +# +# Output → none +# +# Usage: +# function macroengine:api/color/palette_delete {key:"brand"} + + +$data remove storage macroengine:engine color.palette.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_delete ","color":"aqua"},{"text":"$(key)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_get.mcfunction new file mode 100644 index 00000000..7e5716dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_get.mcfunction @@ -0,0 +1,17 @@ +# macroengine:api/color/palette_get [MACRO] +# Reads a color alias from the runtime palette. +# +# Input (macro args): +# key — alias name (e.g. "brand") +# +# Output → macroengine:output result +# The stored color value, or absent if key not found. +# +# Usage: +# function macroengine:api/color/palette_get {key:"brand"} +# data get storage macroengine:output result + + +data modify storage macroengine:output result set value "" +$execute if data storage macroengine:engine color.palette.$(key) run data modify storage macroengine:output result set from storage macroengine:engine color.palette.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_get ","color":"aqua"},{"text":"$(key)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_list.mcfunction new file mode 100644 index 00000000..f70ec6a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_list.mcfunction @@ -0,0 +1,13 @@ +# macroengine:api/color/palette_list +# Prints all registered palette entries to the calling player. +# Requires macroengine.admin tag. +# +# Usage: +# function macroengine:api/color/palette_list + +execute unless entity @s[tag=macroengine.admin] run return 0 + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Color Palette ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine color.palette run tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"color.palette","interpret":false,"color":"green"}] +execute unless data storage macroengine:engine color.palette run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(palette is empty)","color":"gray","italic":true}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_set.mcfunction new file mode 100644 index 00000000..676e3681 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/palette_set.mcfunction @@ -0,0 +1,18 @@ +# macroengine:api/color/palette_set [MACRO] +# Registers a named color alias in the runtime palette. +# Existing key is overwritten. +# +# Input (macro args): +# key — alias name (e.g. "brand", "danger", "success") +# value — color value (named or hex, e.g. "#00AAAA", "red") +# +# Output → none +# +# Usage: +# function macroengine:api/color/palette_set {key:"brand",value:"#00AAAA"} +# function macroengine:api/color/palette_set {key:"danger",value:"red"} + + +execute unless data storage macroengine:engine color.palette run data modify storage macroengine:engine color.palette set value {} +$data modify storage macroengine:engine color.palette.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/palette_set ","color":"aqua"},{"text":"$(key)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(value)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/resolve.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/resolve.mcfunction new file mode 100644 index 00000000..d6a67169 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/resolve.mcfunction @@ -0,0 +1,30 @@ +# macroengine:api/color/resolve [MACRO] +# Looks up a named palette entry or returns the value as-is if not found. +# Use this to map short alias keys (e.g. "brand", "danger", "info") to hex. +# +# The palette is stored in macroengine:engine color.palette as a compound: +# {brand:"#00AAAA", danger:"red", info:"aqua", ...} +# Populate via macroengine:api/color/palette_set. +# +# Input (macro args): +# color — alias key or direct color value +# +# Output → macroengine:output result +# The resolved color string (palette value if key found; input value otherwise). +# +# Usage: +# function macroengine:api/color/resolve {color:"brand"} +# # → macroengine:output result = "#00AAAA" (if palette has brand→#00AAAA) +# +# function macroengine:api/color/resolve {color:"red"} +# # → macroengine:output result = "red" (not in palette, returned as-is) + +# Default: return input value +$data modify storage macroengine:output result set value "$(color)" + +# Override if palette has this key — write color key into temp so resolve_exec can access it +$data modify storage macroengine:engine _color_resolve_tmp set value {color:"$(color)"} +execute if data storage macroengine:engine color.palette run function macroengine:core/internal/systems/color/resolve_exec with storage macroengine:engine _color_resolve_tmp +data remove storage macroengine:engine _color_resolve_tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/resolve ","color":"aqua"},{"text":"$(color)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/validate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/validate.mcfunction new file mode 100644 index 00000000..a5f76f55 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/color/validate.mcfunction @@ -0,0 +1,29 @@ +# macroengine:api/color/validate [MACRO] +# Checks whether a color string is a known named color or a valid hex code. +# +# Named colors accepted: +# black, dark_blue, dark_green, dark_aqua, dark_red, dark_purple, +# gold, gray, dark_gray, blue, green, aqua, red, light_purple, +# yellow, white +# +# Hex accepted: #RRGGBB format (stored as-is; format is not verified at +# mcfunction level — caller must supply a valid string). +# +# Input (macro args): +# color — color string to validate (e.g. "red", "#FF5500") +# +# Output → macroengine:output result +# 1b = valid named color or hex-like string starting with # +# 0b = invalid / unrecognised +# +# Usage: +# function macroengine:api/color/validate {color:"red"} +# data get storage macroengine:output result +# +# Note: hex validation only checks that the value starts with "#". +# Full format validation (#RRGGBB) is not possible in mcfunction alone. + +data modify storage macroengine:output result set value 0b +$data modify storage macroengine:engine _color_validate_tmp set value {color:"$(color)"} +function macroengine:core/internal/systems/color/validate_exec with storage macroengine:engine _color_validate_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/validate ","color":"aqua"},{"text":"$(color)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/close.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/close.mcfunction new file mode 100644 index 00000000..0f864a5f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/close.mcfunction @@ -0,0 +1,5 @@ +dialog clear @s + +tag @s remove macroengine.dialog_opened + +tag @s add macroengine.dialog_closed diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/is_open.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/is_open.mcfunction new file mode 100644 index 00000000..fdae9a65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/is_open.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/dialog/is_open +# Checks whether the executing player currently has a dialog open. +# Output: macroengine:output result → 1b (open) or 0b (closed / not set) +# +# Example: +# execute as @a run function macroengine:api/dialog/is_open +# # Then read macroengine:output result per player context +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +execute if entity @s[tag=macroengine.dialog_opened] unless entity @s[tag=macroengine.dialog_closed] run data modify storage macroengine:output result set value 1b + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"dialog/is_open ","color":"aqua"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load.mcfunction new file mode 100644 index 00000000..682ebd24 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load.mcfunction @@ -0,0 +1,2 @@ +execute unless data storage macroengine:input cooldown run data modify storage macroengine:input cooldown set value 20 +function macroengine:api/dialog/load_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load_exec.mcfunction new file mode 100644 index 00000000..2cacfbb1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/load_exec.mcfunction @@ -0,0 +1,3 @@ +$scoreboard players set @s macroengine.dialog_load $(cooldown) +tag @s remove macroengine.dialog_opened +tag @s add macroengine.dialog_closed diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/notify_admins.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/notify_admins.mcfunction new file mode 100644 index 00000000..465561b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/notify_admins.mcfunction @@ -0,0 +1,20 @@ +# macroengine:api/dialog/notify_admins [1.21.6 overlay] +# Notifies all online admins that the executing player opened a dialog. +# Logs the dialog identifier to the debug log buffer. +# +# Must be called AFTER the dialog_opened tag has been set on @s. +# Both api/dialog/open and api/dialog/show call this after tag assignment. +# +# BUGFIX v6.0.1: guard now also checks that dialog.DIALOG.title exists in +# storage so that the admin message includes meaningful dialog info rather +# than falling through with a generic "opened a dialog" when no dialog +# context is set. + +execute unless entity @s[tag=macroengine.dialog_opened] run return 0 + +tellraw @a[tag=macroengine.admin] ["",{"text":"[DL/dialog] ","color":"gold","bold":true},{"selector":"@s","color":"yellow"},{"text":" opened dialog: ","color":"white"},{"nbt":"dialog.DIALOG.title","plain":true ,"storage":"macroengine:engine","color":"aqua","italic":true}] + +data modify storage macroengine:engine _log_add_tmp.message set value "[dialog/notify_admins] dialog opened" +data modify storage macroengine:engine _log_add_tmp.level set value "INFO" +data modify storage macroengine:engine _log_add_tmp.color set value "gray" +function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/open.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/open.mcfunction new file mode 100644 index 00000000..95854323 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/open.mcfunction @@ -0,0 +1,12 @@ +scoreboard players set @s macroengine.dialog_load -1 +tag @s remove macroengine.dialog_closed +tag @s remove macroengine.dialog_opened + +execute unless data storage macroengine:engine dialog.DIALOG run return run dialog show @s {"type":"multi_action","title":"","actions":[{"label":"Ok"}],"pause":false,"after_action":"close","body":{"type":"plain_message","contents":[{"text":"A problem occurred.","bold":true,"color":"yellow","italic":false},"\n\n",{"text":"Dialog not found","color":"red","bold":false,"italic":false}]}} +execute if data storage macroengine:engine {dialog:{DIALOG:""}} run return run dialog show @s {"type":"multi_action","title":"","actions":[{"label":"Ok"}],"pause":false,"after_action":"close","body":{"type":"plain_message","contents":[{"text":"A problem occurred.","bold":true,"color":"yellow","italic":false},"\n\n",{"text":"Unknown dialog","color":"red","bold":false,"italic":false}]}} +execute unless data storage macroengine:engine dialog.DIALOG.type run return run dialog show @s {"type":"multi_action","title":"","actions":[{"label":"Ok"}],"pause":false,"after_action":"close","body":{"type":"plain_message","contents":[{"text":"A problem occurred.","bold":true,"color":"yellow","italic":false},"\n\n",{"text":"Unknown dialog type","color":"red","bold":false,"italic":false}]}} +execute unless data storage macroengine:engine dialog.DIALOG.title run return run dialog show @s {"type":"multi_action","title":"","actions":[{"label":"Ok"}],"pause":false,"after_action":"close","body":{"type":"plain_message","contents":[{"text":"A problem occurred.","bold":true,"color":"yellow","italic":false},"\n\n",{"text":"Missing dialog title","color":"red","bold":false,"italic":false}]}} +execute if data storage macroengine:engine {dialog:{DIALOG:{type:"multi_action"}}} unless data storage macroengine:engine dialog.DIALOG.actions run return run dialog show @s {"type":"multi_action","title":"","actions":[{"label":"Ok"}],"pause":false,"after_action":"close","body":{"type":"plain_message","contents":[{"text":"A problem occurred.","bold":true,"color":"yellow","italic":false},"\n\n",{"text":"Missing actions","color":"red","bold":false,"italic":false}]}} + +execute if data storage macroengine:engine dialog.DIALOG run function macroengine:api/dialog/show +execute if data storage macroengine:engine dialog.DIALOG run function macroengine:api/dialog/notify_admins diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show.mcfunction new file mode 100644 index 00000000..801fd8b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show.mcfunction @@ -0,0 +1,18 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/dialog/show [1.21.6+ overlay] +# Shows the dialog stored at macroengine:engine dialog.DIALOG as inline JSON. +# Called by dialog/open after validation. +# Uses show_macro_exec to pipe DIALOG compound as inline dialog. +# ───────────────────────────────────────────────────────────────── + +execute if entity @s[tag=macroengine.dialog_opened] at @s run return 0 +execute unless data storage macroengine:engine dialog.DIALOG run return 0 + +execute at @s run function macroengine:player/get_name +data modify storage macroengine:engine dialog.NAME set from storage macroengine:names temp.NAME + +function macroengine:api/dialog/show_dialog_exec with storage macroengine:engine dialog + +tag @s add macroengine.dialog_opened + +function macroengine:api/dialog/notify_admins diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_dialog_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_dialog_exec.mcfunction new file mode 100644 index 00000000..c7f70a18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_dialog_exec.mcfunction @@ -0,0 +1,3 @@ +# Internal: called by dialog/show via `with storage macroengine:engine dialog` +# macro arg: DIALOG = dialog compound NBT object +$dialog show $(NAME) $(DIALOG) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_macro.mcfunction new file mode 100644 index 00000000..3d7d2bb1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/dialog/show_macro.mcfunction @@ -0,0 +1,14 @@ +# macroengine:api/dialog/show_macro +# Shows a dialog from inline JSON stored in macroengine:engine dialog.DATA. +# Requires Minecraft 1.21.6+ (pack_format 80+). +# On older versions this stub fires a friendly error message. +# +# Usage (1.21.6+ overlay handles actual logic): +# data modify storage macroengine:engine dialog.DATA set value '{...}' +# function macroengine:api/dialog/show_macro +# +# BUGFIX v6.0.1: this file was missing from the base overlay entirely. +# Without it, any pack calling macroengine:api/dialog/show_macro on 1.20.3–1.21.5 +# would get a "function not found" error instead of a clean version warning. + +tellraw @s {"text":"This feature requires Minecraft 1.21.6 or higher!","color":"red","italic":false} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/get.mcfunction new file mode 100644 index 00000000..95b5b487 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/get.mcfunction @@ -0,0 +1,36 @@ +# macroengine:api/gamerule/get [MACRO] +# Reads a custom gamerule value from storage into macroengine:output gamerule. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string (must match the name used in set) +# +# OUTPUT: +# macroengine:output gamerule — the stored value string, or absent if never set +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# function macroengine:api/gamerule/get with storage macroengine:input {} +# # read: data get storage macroengine:output gamerule + + +# Normalize key (spaces → underscores, lowercase) +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine_string:input to_lowercase.String set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +function macroengine_string:util/to_lowercase/fast +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output to_lowercase + +# Read from engine storage +data remove storage macroengine:output gamerule +function macroengine:core/internal/api/gamerule/read with storage macroengine:input {} + +# $(_gamerule_norm) below is a NEW macro invocation's arg, bound at call time +# from current storage — NOT the same binding as this function's own $(rule) +# arg (which was fixed at entry, before _gamerule_norm existed). Calling this +# inline as a bare $tellraw would have silently failed to resolve. +function macroengine:core/internal/api/gamerule/debug_print with storage macroengine:input {} + +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/reset.mcfunction new file mode 100644 index 00000000..7fba2f9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/reset.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/gamerule/reset [MACRO] +# Removes a custom gamerule from engine storage entirely. +# Does NOT touch vanilla /gamerule — this is for macroengine-tracked rules only. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# function macroengine:api/gamerule/reset with storage macroengine:input {} + + +# Normalize +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace + +function macroengine:core/internal/api/gamerule/remove with storage macroengine:input {} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/reset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"gray","italic":true},{"text":" removed","color":"gray"}] + +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/set.mcfunction new file mode 100644 index 00000000..c11e4029 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/gamerule/set.mcfunction @@ -0,0 +1,45 @@ +# macroengine:api/gamerule/set [MACRO] +# Sets a custom gamerule value, persists it in storage, and dispatches +# a callback function when the value matches a defined condition. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(rule) — rule name string, e.g. "pvp_enabled" +# $(value) — value string: "true", "false", or a number string e.g. "10" +# +# OPTIONAL storage keys (set before calling, removed after): +# macroengine:input gr_on_true — function to call when value is "true" +# macroengine:input gr_on_false — function to call when value is "false" +# macroengine:input gr_on_value — function to call for any numeric match +# macroengine:input gr_matches — scoreboard range string, e.g. "5..10" (used with gr_on_value) +# +# EXAMPLE: +# data modify storage macroengine:input rule set value "pvp_enabled" +# data modify storage macroengine:input value set value "true" +# data modify storage macroengine:input gr_on_true set value "mypack:pvp/enable" +# data modify storage macroengine:input gr_on_false set value "mypack:pvp/disable" +# function macroengine:api/gamerule/set with storage macroengine:input {} +# +# RETURN: 1 on success, 0 on guard failure. + + +# ── Normalize rule name: spaces → underscores, then lowercase ──────────────── +data modify storage macroengine_string:input replace.String set from storage macroengine:input rule +data modify storage macroengine_string:input replace.Find set value " " +data modify storage macroengine_string:input replace.Replace set value "_" +function macroengine_string:util/replace +data modify storage macroengine_string:input to_lowercase.String set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +function macroengine_string:util/to_lowercase/fast +data modify storage macroengine:input _gamerule_norm set from storage macroengine_string:output to_lowercase + +# ── Persist value in engine storage ────────────────────────────────────────── +function macroengine:core/internal/api/gamerule/persist with storage macroengine:input {} + +# ── Dispatch callbacks ──────────────────────────────────────────────────────── +function macroengine:core/internal/api/gamerule/dispatch with storage macroengine:input {} + +# ── Debug log ───────────────────────────────────────────────────────────────── +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"white"},{"text":" = ","color":"#555555"},{"text":"$(value)","color":"green"}] + +# ── Cleanup ─────────────────────────────────────────────────────────────────── +data remove storage macroengine:input _gamerule_norm diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_attack.mcfunction new file mode 100644 index 00000000..20f1ed03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_attack.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/interaction/bind_attack +# Binds a function to an interaction entity attack event. +# +# INPUT: +# macroengine:input tag — entity tag to match +# macroengine:input func — function to call on attack +# +# USAGE: +# data modify storage macroengine:input tag set value "my_interact" +# data modify storage macroengine:input func set value "mypack:on_attack" +# function macroengine:api/interaction/bind_attack with storage macroengine:input {} +function macroengine:core/internal/api/interaction/bind_attack_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_use.mcfunction new file mode 100644 index 00000000..756cc61a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/bind_use.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/interaction/bind_use +# Binds a function to an interaction entity use (right-click) event. +# +# INPUT: +# macroengine:input tag — entity tag to match +# macroengine:input func — function to call on use +# +# USAGE: +# data modify storage macroengine:input tag set value "my_interact" +# data modify storage macroengine:input func set value "mypack:on_use" +# function macroengine:api/interaction/bind_use with storage macroengine:input {} +function macroengine:core/internal/api/interaction/bind_use_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/list.mcfunction new file mode 100644 index 00000000..e1e84712 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/list.mcfunction @@ -0,0 +1,3 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/list","color":"aqua"}] +tellraw @a[tag=macroengine.debug] ["",{"text":" attack: ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"interaction_binds.attack","color":"white"}] +tellraw @a[tag=macroengine.debug] ["",{"text":" use: ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"interaction_binds.use","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/remove.mcfunction new file mode 100644 index 00000000..400c7312 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/remove.mcfunction @@ -0,0 +1,3 @@ +$kill @e[type=minecraft:interaction,tag=$(tag)] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/remove ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" killed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/spawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/spawn.mcfunction new file mode 100644 index 00000000..e49d82e2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/spawn.mcfunction @@ -0,0 +1,6 @@ +$summon minecraft:interaction ~ ~ ~ {width:$(width), height:$(height), response:$(response), Tags:["macroengine.interaction","macroengine.ia_new"]} + +$tag @e[type=minecraft:interaction,tag=macroengine.ia_new,limit=1,sort=nearest] add $(tag) +tag @e[tag=macroengine.ia_new] remove macroengine.ia_new + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/spawn ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" spawned","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_attack.mcfunction new file mode 100644 index 00000000..5edb5543 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_attack.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine interaction_binds.attack[0] run return 0 + +data modify storage macroengine:engine _ia_ubinds set from storage macroengine:engine interaction_binds.attack +data modify storage macroengine:engine interaction_binds.attack set value [] +$data modify storage macroengine:engine _ia_ufilter set value {tag:"$(tag)", func:"$(func)", list:"attack"} +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/unbind_attack ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_use.mcfunction new file mode 100644 index 00000000..acdcec78 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/interaction/unbind_use.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine interaction_binds.use[0] run return 0 + +data modify storage macroengine:engine _ia_ubinds set from storage macroengine:engine interaction_binds.use +data modify storage macroengine:engine interaction_binds.use set value [] +$data modify storage macroengine:engine _ia_ufilter set value {tag:"$(tag)", func:"$(func)", list:"use"} +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/unbind_use ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/combo_marker.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/combo_marker.mcfunction new file mode 100644 index 00000000..ad76df8b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/combo_marker.mcfunction @@ -0,0 +1,27 @@ +# macroengine:api/item/combo_marker +# +# Stamps a consecutive-use counter under minecraft:custom_data.macroengine.combo +# on the target's held item — for "combo" mechanics (e.g. bonus effects +# after N consecutive uses without switching items). Mojang tracks no +# per-item use streak; this is purely datapack-side bookkeeping. Preserves +# any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/combo_marker {player:"Steve",slot:"weapon.mainhand",combo:3} +# +# Callers are responsible for incrementing/resetting "combo" between calls +# (e.g. via a player-scoped scoreboard objective) — this function only +# writes the given value onto the item, it does not track state itself. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.combo set value $(combo) +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/combo_marker_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/durability_overlay.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/durability_overlay.mcfunction new file mode 100644 index 00000000..313f6a88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/durability_overlay.mcfunction @@ -0,0 +1,24 @@ +# macroengine:api/item/durability_overlay +# +# Stamps a secondary, datapack-tracked durability counter under +# minecraft:custom_data.macroengine.overlay_durability — independent of +# vanilla's minecraft:damage component. Lets a pack track "custom uses +# remaining" on items that are not damageable, or track a second pool +# (e.g. "charges") alongside real durability. Mojang has no such secondary +# counter. Preserves any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/durability_overlay {player:"Steve",slot:"weapon.mainhand",value:50} + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.overlay_durability set value $(value) +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/durability_overlay_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/hidden_flag.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/hidden_flag.mcfunction new file mode 100644 index 00000000..362b273c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/hidden_flag.mcfunction @@ -0,0 +1,39 @@ +# macroengine:api/item/hidden_flag +# +# Appends a named boolean flag to minecraft:custom_data.macroengine.flags on the +# target's held item. custom_data never renders in the tooltip and has no +# vanilla equivalent as a general-purpose flag bag — this gives datapacks a +# namespaced place to store item-specific booleans (e.g. "quest_item", +# "soulbound", "no_drop") without colliding with other packs' custom_data +# use. Preserves any other macroengine fields already on the item. +# +# IMPLEMENTATION NOTE: macro variables ($(key)) can only be substituted as +# VALUES, never as NBT compound KEYS — Minecraft has no syntax for a dynamic +# key name inside a macro line (a known, still-open engine limitation, not +# a workaround choice). So "flags" is a list of {name:"...",value:1b} +# entries rather than a compound keyed by flag name; "name" is a value +# here, not a key, so it interpolates fine. +# +# Call: +# function macroengine:api/item/hidden_flag {player:"Steve",slot:"weapon.mainhand",name:"soulbound",value:1b} +# +# NOTE: appends — does not de-duplicate by name. If you set the same flag +# name twice, both entries persist; readers should treat the LAST matching +# entry as authoritative if that matters for your use case. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +execute unless data storage macroengine:_item_tmp macroengine.flags run data modify storage macroengine:_item_tmp macroengine.flags set value [] +data modify storage macroengine:_item_tmp macroengine.flags append value {} +$data modify storage macroengine:_item_tmp macroengine.flags[-1].name set value "$(name)" +$data modify storage macroengine:_item_tmp macroengine.flags[-1].value set value $(value) + +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/hidden_flag_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/owner_tag.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/owner_tag.mcfunction new file mode 100644 index 00000000..e3e4c661 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/owner_tag.mcfunction @@ -0,0 +1,34 @@ +# macroengine:api/item/owner_tag +# +# Stamps the target's main-hand item with an owner tag under +# minecraft:custom_data.macroengine.owner — a field Mojang does not provide +# natively. Preserves any other macroengine fields already on the item (reads +# the existing compound first via internal/read_macroengine_compound). +# +# Call: +# function macroengine:api/item/owner_tag {player:"Steve",slot:"weapon.mainhand",owner:"Steve"} +# +# LIMITATION: only writes/reads the main-hand slot reliably. "slot" is +# passed through to /item modify (a valid slot argument there), but the +# existing-compound READ always comes from SelectedItem — see +# api/item/use_cooldown_check for why arbitrary equipment slots cannot be +# read by /data get path. Passing a non-mainhand slot will still WRITE to +# that slot, but will merge against mainhand's existing data, which is +# almost certainly not what you want. Stick to weapon.mainhand for now. +# +# "/data modify entity " is never used — Mojang blocks direct writes +# to player entity data (fails silently); all mutation goes through the +# item component system via /item modify instead. + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +$data modify storage macroengine:_item_tmp macroengine.owner set value "$(owner)" +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/owner_tag_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown.mcfunction new file mode 100644 index 00000000..7718addc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown.mcfunction @@ -0,0 +1,31 @@ +# macroengine:api/item/use_cooldown +# +# Stamps a per-item custom cooldown expiry tick under +# minecraft:custom_data.macroengine.cooldown_until — independent of vanilla's +# shared "/cooldown" system (which is per-item-type, not per-item-instance). +# Preserves any other macroengine fields already on the item. +# +# Call: +# function macroengine:api/item/use_cooldown {player:"Steve",slot:"weapon.mainhand",ticks:100} +# +# "ticks" is an offset added to the current world time; stored as an +# absolute expiry tick so checking it later is a single comparison +# (see api/item/use_cooldown_check). + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +# Compute absolute expiry tick = current gametime + requested offset +execute store result score #macroengine_item_now macroengine.tmp run time query gametime +$scoreboard players add #macroengine_item_now macroengine.tmp $(ticks) +execute store result storage macroengine:_item_tmp expiry int 1 run scoreboard players get #macroengine_item_now macroengine.tmp + +$data modify storage macroengine:_item_tmp player set value "$(player)" +function macroengine:core/internal/api/item/read_macroengine_compound with storage macroengine:_item_tmp + +data modify storage macroengine:_item_tmp macroengine.cooldown_until set from storage macroengine:_item_tmp expiry +$data modify storage macroengine:_item_tmp slot set value "$(slot)" + +function macroengine:core/internal/api/item/use_cooldown_apply with storage macroengine:_item_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown_check.mcfunction new file mode 100644 index 00000000..dca879c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/item/use_cooldown_check.mcfunction @@ -0,0 +1,38 @@ +# macroengine:api/item/use_cooldown_check +# +# Reads minecraft:custom_data.macroengine.cooldown_until from the target's +# MAIN HAND item and reports whether it has expired. +# +# LIMITATION: only the main-hand slot is supported here. "weapon.mainhand" is +# a slot argument valid for /item, /give, and "execute if items" — it is NOT +# a valid /data get NBT path. Reading a specific item's NBT by path requires +# the SelectedItem tag (main hand only) or Inventory[{Slot:N}] for other +# slots. Extending this to arbitrary slots needs a slot->index lookup table +# and is out of scope for this pass. +# +# Call: +# function macroengine:api/item/use_cooldown_check {player:"Steve"} +# +# Output: +# macroengine:output found -> 1b if player found +# macroengine:output ready -> 1b if cooldown has expired (or was never set) +# macroengine:output remaining -> ticks remaining (0 if ready) + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output ready set value 0b +data modify storage macroengine:output remaining set value 0 + +$execute unless entity @a[name=$(player),limit=1] run return 0 +data modify storage macroengine:output found set value 1b + +# Reset to 0 first: if the item has no cooldown_until path yet, the "data +# get" below fails and would otherwise leave a stale score from a prior call. +scoreboard players set #macroengine_item_expiry macroengine.tmp 0 +execute store result score #macroengine_item_now macroengine.tmp run time query gametime +$execute as @a[name=$(player),limit=1] store result score #macroengine_item_expiry macroengine.tmp run data get entity @s SelectedItem.components."minecraft:custom_data".macroengine.cooldown_until + +execute if score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run data modify storage macroengine:output ready set value 1b +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run scoreboard players operation #macroengine_item_remaining macroengine.tmp = #macroengine_item_expiry macroengine.tmp +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp run scoreboard players operation #macroengine_item_remaining macroengine.tmp -= #macroengine_item_now macroengine.tmp +execute unless score #macroengine_item_now macroengine.tmp >= #macroengine_item_expiry macroengine.tmp store result storage macroengine:output remaining int 1 run scoreboard players get #macroengine_item_remaining macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/use_cooldown_check ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_advancement.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_advancement.mcfunction new file mode 100644 index 00000000..3a189d9c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_advancement.mcfunction @@ -0,0 +1,31 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_advancement [MACRO] +# +# Checks whether a player has completed a specific advancement and +# injects the boolean result as a named macro variable into the target function. +# +# Usage: +# function macroengine:engine/macro/with_advancement \ +# {func:"ns:path", player:"Name", advancement:"ns:adv/path", var:"done"} +# +# Parameters: +# func — function to call (ns:path) +# player — target player name +# advancement — advancement to check (ns:path/to/adv) +# var — macro variable name to inject into the target function +# +# Output: $(done) → 1b (completed) or 0b (not completed) +# ───────────────────────────────────────────── + +# Clear pipe +data remove storage macroengine:engine _macro_pipe + +# Default: not completed +$data modify storage macroengine:engine _macro_pipe.$(var) set value "empty" + +# Set to 1b if the player has completed the advancement +$execute as @a[name=$(player),limit=1,advancements={$(advancement)=true}] run data modify storage macroengine:engine _macro_pipe.$(var) set value 1b +$execute as @a[name=$(player),limit=1,advancements={$(advancement)=false}] run data modify storage macroengine:engine _macro_pipe.$(var) set value 0b + +# Call target function with pipe as macro source +$function $(func) with storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_function.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_function.mcfunction new file mode 100644 index 00000000..1b4e6a5c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_function.mcfunction @@ -0,0 +1,31 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_function [MACRO] +# +# Runs a provider (source) function; passes the data that function +# wrote to macroengine:engine _macro_pipe storage as macro variable source +# to a consumer (target) function. +# +# Establishes a type-safe data bridge between two functions. +# +# Usage: +# function macroengine:engine/macro/with_function \ +# {source:"ns:provider", target:"ns:consumer"} +# +# Parameters: +# source — function that produces data and writes it to macroengine:engine _macro_pipe +# target — function that consumes data from the pipe as macro variables +# +# Contract: +# source function must write its output to this storage: +# data modify storage macroengine:engine _macro_pipe. set value +# target function can access those keys as $(key). +# ───────────────────────────────────────────── + +# Run provider function — it writes its output to _macro_pipe +$function $(source) + +# Pass pipe to consumer as macro source +$function $(target) with storage macroengine:engine _macro_pipe + +# Clear pipe before source runs +data remove storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_score.mcfunction new file mode 100644 index 00000000..32ad81e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/macro/with_score.mcfunction @@ -0,0 +1,27 @@ +# ───────────────────────────────────────────── +# macroengine:api/macro/with_score [MACRO] +# +# Reads a player's scoreboard value and injects it as a named +# macro variable into the target function. +# +# Usage: +# function macroengine:engine/macro/with_score \ +# {func:"ns:path", player:"Name", objective:"myObj", var:"myVar"} +# +# Parameters: +# func — function to call (ns:path) +# player — target player name +# objective — scoreboard objective +# var — macro variable name to inject into the target function +# +# Output: $(myVar) → scoreboard value (int) +# ───────────────────────────────────────────── + +# Write score into pipe under the requested variable name +$execute store result storage macroengine:engine _macro_pipe.$(var) int 1 run scoreboard players get $(player) $(objective) + +# Call target function with pipe as macro source +$function $(func) with storage macroengine:engine _macro_pipe + +# Clear pipe +data remove storage macroengine:engine _macro_pipe \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/check.mcfunction new file mode 100644 index 00000000..251d42ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/check.mcfunction @@ -0,0 +1,11 @@ +scoreboard players set $pc_pid macroengine.tmp 0 +$execute store result score $pc_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pc_pid macroengine.tmp matches 0 run return 0 + +execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run return 1 + +$execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run return 1 + +execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +$execute as @a if score @s macroengine.pid = $pc_pid macroengine.tmp run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" ","color":"red"},{"translate":"macroengine.msg.no_perm","with":[""],"color":"red"}] +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/clear.mcfunction new file mode 100644 index 00000000..a635b2b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/clear.mcfunction @@ -0,0 +1,5 @@ +execute unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Permission denied.","color":"red"}] + +$data remove storage macroengine:engine permissions.$(player) +$advancement revoke @a[name=$(player),limit=1] from macroengine:hidden/root +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/clear ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"$(player)","color":"white"},{"text":" — all permissions cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/exec.mcfunction new file mode 100644 index 00000000..4baee4d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/exec.mcfunction @@ -0,0 +1,14 @@ +scoreboard players set $pex_pid macroengine.tmp 0 +$execute store result score $pex_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pex_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pex_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pex_tmp.result set value 1b +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:engine _pex_tmp.result set value 1b + +$execute if data storage macroengine:engine _pex_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pex_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pex_pid macroengine.tmp at @s run $(cmd) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/exec ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":"] → ","color":"#555555"},{"text":"$(cmd)","color":"green"}] +data remove storage macroengine:engine _pex_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/grant.mcfunction new file mode 100644 index 00000000..6ec5502e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/grant.mcfunction @@ -0,0 +1,11 @@ +execute if entity @s unless entity @s[tag=macroengine.admin] run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +execute if entity @s unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"translate":"macroengine.msg.permission_denied","color":"red"}] + +$data modify storage macroengine:engine permissions.$(player).$(perm) set value 1b + +scoreboard players set $pg_pid macroengine.tmp 0 +$execute store result score $pg_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +$execute as @a if score @s macroengine.pid = $pg_pid macroengine.tmp run tag @s add perm.$(perm) +$advancement grant @a[name=$(player),limit=1] only macroengine:api/perm/$(perm) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/grant ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" ← ","color":"#555555"},{"text":"$(perm)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/has.mcfunction new file mode 100644 index 00000000..f3bd9a3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/has.mcfunction @@ -0,0 +1,11 @@ +data modify storage macroengine:output result set value 0b + +scoreboard players set $ph_pid macroengine.tmp 0 +$execute store result score $ph_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) + +execute as @a if score @s macroengine.pid = $ph_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:output result set value 1b +$execute as @a if score @s macroengine.pid = $ph_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run data modify storage macroengine:output result set value 1b + +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/list.mcfunction new file mode 100644 index 00000000..0f1f1095 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/list.mcfunction @@ -0,0 +1,4 @@ +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Perms: ","color":"aqua"},{"text":"$(player)","color":"white","bold":true},{"text":" ━━━━━━━━━━━━━━","color":"#555555"}] +$execute if data storage macroengine:engine permissions.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"permissions.$(player)","interpret":false,"color":"yellow"}] +$execute unless data storage macroengine:engine permissions.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no permissions)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/revoke.mcfunction new file mode 100644 index 00000000..421c37ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/revoke.mcfunction @@ -0,0 +1,11 @@ +execute if entity @s unless entity @s[tag=macroengine.admin] run playsound macroengine:perm.denied master @s ~ ~ ~ 1 1 +execute if entity @s unless entity @s[tag=macroengine.admin] run return run tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"text":"✘ ","color":"red"},{"translate":"macroengine.msg.permission_denied","color":"red"}] + +$data remove storage macroengine:engine permissions.$(player).$(perm) + +scoreboard players set $prv_pid macroengine.tmp 0 +$execute store result score $prv_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +$execute as @a if score @s macroengine.pid = $prv_pid macroengine.tmp run tag @s remove perm.$(perm) +$advancement revoke @a[name=$(player),limit=1] only macroengine:api/perm/$(perm) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/revoke ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":" — ","color":"#555555"},{"text":"$(perm)","color":"aqua"},{"text":" revoked","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/run.mcfunction new file mode 100644 index 00000000..d34b2e26 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/run.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $pr_pid macroengine.tmp 0 +$execute store result score $pr_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pr_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pr_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pr_tmp.result set value 1b +$execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run execute if entity @s[tag=perm.$(perm)] run data modify storage macroengine:engine _pr_tmp.result set value 1b + +$execute if data storage macroengine:engine _pr_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pr_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pr_pid macroengine.tmp at @s run $(cmd) + +data remove storage macroengine:engine _pr_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/run ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"] → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind.mcfunction new file mode 100644 index 00000000..6cb253fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind.mcfunction @@ -0,0 +1,9 @@ +$scoreboard objectives add $(name) trigger + +$execute unless data storage macroengine:engine perm_triggers.$(name) run data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine perm_triggers.$(name) append value {value:$(value), func:"$(func)", perm:"$(perm)"} + +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] +$execute unless data storage macroengine:engine perm_trigger_names[{name:"$(name)"}] run data modify storage macroengine:engine perm_trigger_names append value {name:"$(name)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/bind ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind_cmd.mcfunction new file mode 100644 index 00000000..660425e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/bind_cmd.mcfunction @@ -0,0 +1,9 @@ +$scoreboard objectives add $(name) trigger + +$execute unless data storage macroengine:engine perm_triggers.$(name) run data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine perm_triggers.$(name) append value {value:$(value), cmd:"$(cmd)", perm:"$(perm)"} + +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] +$execute unless data storage macroengine:engine perm_trigger_names[{name:"$(name)"}] run data modify storage macroengine:engine perm_trigger_names append value {name:"$(name)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/bind_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"},{"text":" [","color":"#555555"},{"text":"$(perm)","color":"green"},{"text":"]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/clear.mcfunction new file mode 100644 index 00000000..4bd632a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine perm_triggers.$(name) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/clear ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"$(name)","color":"white"},{"text":" — all binds cleanndi","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/enable.mcfunction new file mode 100644 index 00000000..db2b6863 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/enable.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $pte_pid macroengine.tmp 0 +$execute store result score $pte_pid macroengine.tmp run data get storage macroengine:engine player_pids.$(player) +execute if score $pte_pid macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:engine _pte_tmp set value {result:0b} +execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run execute if entity @s[tag=macroengine.admin] run data modify storage macroengine:engine _pte_tmp.result set value 1b +$execute if data storage macroengine:engine permissions.$(player).$(perm) run data modify storage macroengine:engine _pte_tmp.result set value 1b + +$execute if data storage macroengine:engine _pte_tmp{result:0b} run execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] +execute if data storage macroengine:engine _pte_tmp{result:0b} run return 0 + +$execute as @a if score @s macroengine.pid = $pte_pid macroengine.tmp run scoreboard players enable @s $(name) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/enable ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" — ","color":"#555555"},{"text":"$(name)","color":"aqua"},{"text":" enabled","color":"#555555"}] +data remove storage macroengine:engine _pte_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/unbind.mcfunction new file mode 100644 index 00000000..32febbff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/perm/trigger/unbind.mcfunction @@ -0,0 +1,13 @@ +$execute unless data storage macroengine:engine perm_triggers.$(name) run return 0 + +$data modify storage macroengine:engine _pt_unbind set from storage macroengine:engine perm_triggers.$(name) +$data modify storage macroengine:engine perm_triggers.$(name) set value [] +$data modify storage macroengine:engine _pt_uval set value $(value) +$data modify storage macroengine:engine _pt_filter_ctx set value {name:"$(name)"} + +function macroengine:core/internal/api/perm/trigger/unbind_filter + +data remove storage macroengine:engine _pt_unbind +data remove storage macroengine:engine _pt_uval +data remove storage macroengine:engine _pt_filter_ctx +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm/trigger/unbind ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(name)","color":"white"},{"text":":","color":"#555555"},{"text":"$(value)","color":"yellow"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/actionbar.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/actionbar.mcfunction new file mode 100644 index 00000000..e5d71993 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/actionbar.mcfunction @@ -0,0 +1,19 @@ +# macroengine:api/title/actionbar — Raw JSON actionbar display [MACRO] +# Displays a full JSON component string in the actionbar of a named player. +# Unlike cmd/actionbar (text + color only), this accepts any serialized component +# including gradients, translate, score, selector, and nbt text sources. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# json — serialized JSON component string +# +# Output → none +# +# Usage: +# function macroengine:api/title/actionbar {player:"Steve",json:'{"text":"HP: 20/20","color":"red"}'} +# function macroengine:api/title/actionbar {player:"Steve",\ +# json:'[{"text":"Kills: "},{"score":{"name":"@s","objective":"kills"},"color":"gold"}]'} + + +$title @a[name=$(player),limit=1] actionbar $(json) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/actionbar ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/broadcast.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/broadcast.mcfunction new file mode 100644 index 00000000..af0128c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/broadcast.mcfunction @@ -0,0 +1,26 @@ +# macroengine:api/title/broadcast — Broadcast title + subtitle + times to all players [MACRO] +# Sends a complete title display (timing + title + subtitle) to every online player. +# Unlike cmd/title_all which only sends a plain title to @a with no subtitle or +# timing control, this sets times and subtitle in the same atomic call. +# +# Input (macro args): +# title — title text +# subtitle — subtitle text +# color — title color (e.g. "red", "#RRGGBB") +# sub_color — subtitle color (e.g. "yellow", "#RRGGBB") +# fade_in — ticks to fade in (e.g. 20) +# stay — ticks to stay (e.g. 100) +# fade_out — ticks to fade out (e.g. 20) +# +# Output → none +# +# Usage: +# function macroengine:api/title/broadcast {title:"Server restart in 5 min",\ +# subtitle:"Save your progress!",color:"red",sub_color:"yellow",\ +# fade_in:20,stay:100,fade_out:20} + + +$title @a times $(fade_in) $(stay) $(fade_out) +$title @a title {"text":"$(title)","color":"$(color)"} +$title @a subtitle {"text":"$(subtitle)","color":"$(sub_color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/broadcast ","color":"aqua"},{"text":"@a ","color":"gray"},{"text":"→ ","color":"#555555"},{"text":"$(title)","color":"$(color)"},{"text":" / ","color":"#555555"},{"text":"$(subtitle)","color":"$(sub_color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show.mcfunction new file mode 100644 index 00000000..f24b9cac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show.mcfunction @@ -0,0 +1,26 @@ +# macroengine:api/title/show — Atomic title display [MACRO] +# Sets display timing then shows title + subtitle for one player in a single call. +# Unlike calling cmd/title_times + cmd/title + cmd/subtitle separately, +# this guarantees consistent timing for the title/subtitle pair. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# title — title text +# subtitle — subtitle text +# color — title color (e.g. "gold", "#RRGGBB") +# sub_color — subtitle color (e.g. "gray", "#RRGGBB") +# fade_in — ticks to fade in (e.g. 10) +# stay — ticks to stay (e.g. 60) +# fade_out — ticks to fade out (e.g. 10) +# +# Output → none +# +# Usage: +# function macroengine:api/title/show {player:"Steve",title:"Hello",subtitle:"welcome back",\ +# color:"gold",sub_color:"gray",fade_in:10,stay:60,fade_out:10} + + +$title @a[name=$(player),limit=1] times $(fade_in) $(stay) $(fade_out) +$title @a[name=$(player),limit=1] title {"text":"$(title)","color":"$(color)"} +$title @a[name=$(player),limit=1] subtitle {"text":"$(subtitle)","color":"$(sub_color)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/show ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(title)","color":"$(color)"},{"text":" / ","color":"#555555"},{"text":"$(subtitle)","color":"$(sub_color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show_raw.mcfunction new file mode 100644 index 00000000..bc83bdf0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/title/show_raw.mcfunction @@ -0,0 +1,25 @@ +# macroengine:api/title/show_raw — Atomic title display with raw JSON [MACRO] +# Like title/show but accepts full serialized JSON component strings, +# allowing gradients, translate, score, selector, and nbt text sources. +# +# Input (macro args): +# player — player name selector string (e.g. "Steve") +# title_json — serialized JSON component for title (must be a valid JSON text component) +# subtitle_json — serialized JSON component for subtitle (must be a valid JSON text component) +# fade_in — ticks to fade in +# stay — ticks to stay +# fade_out — ticks to fade out +# +# Output → none +# +# Usage: +# function macroengine:api/title/show_raw {player:"Steve",\ +# title_json:'{"text":"Hello","color":"gold","bold":true}',\ +# subtitle_json:'[{"text":"Welcome "},{"score":{"name":"@s","objective":"kills"}}]',\ +# fade_in:10,stay:70,fade_out:20} + + +$title @a[name=$(player),limit=1] times $(fade_in) $(stay) $(fade_out) +$title @a[name=$(player),limit=1] title $(title_json) +$title @a[name=$(player),limit=1] subtitle $(subtitle_json) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"title/show_raw ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/false.mcfunction new file mode 100644 index 00000000..c353e2ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/false.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine modules.cb set value 0b +tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cb module: ","color":"aqua"},{"text":"disabled","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/true.mcfunction new file mode 100644 index 00000000..69e9c349 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/cb/true.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine modules.cb set value 1b +tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cb module: ","color":"aqua"},{"text":"enabled","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/false.mcfunction new file mode 100644 index 00000000..11a2bf18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/geo/false — Disable the geo/region_watch module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.geo set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/geo ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/true.mcfunction new file mode 100644 index 00000000..979daf5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/geo/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/geo/true — Enable the geo/region_watch module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.geo set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/geo ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/false.mcfunction new file mode 100644 index 00000000..b64834c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/false.mcfunction @@ -0,0 +1,10 @@ +# macroengine:api/toggle/hook/false — Disable the hook module +# Called by the module toggle dialog when State = false. +# Caller: macroengine.admin tag required (enforced by dialog show guard in show.mcfunction) + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.hook set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/hook ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/true.mcfunction new file mode 100644 index 00000000..4b18b2c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/hook/true.mcfunction @@ -0,0 +1,10 @@ +# macroengine:api/toggle/hook/true — Enable the hook module +# Called by the module toggle dialog when State = true. +# Caller: macroengine.admin tag required (enforced by dialog show guard in show.mcfunction) + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.hook set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/hook ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/false.mcfunction new file mode 100644 index 00000000..cab00bdb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/interaction/false — Disable the interaction (IE) module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.interaction set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/interaction ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/true.mcfunction new file mode 100644 index 00000000..8ecdda12 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/interaction/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/interaction/true — Enable the interaction (IE) module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.interaction set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/interaction ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/list.mcfunction new file mode 100644 index 00000000..0b51e2d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/list.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/toggle/list +# Prints the enabled/disabled state of all DL modules. +# +# Usage: function macroengine:api/toggle/list +# Caller: macroengine.admin tag required + +execute unless entity @s[tag=macroengine.admin] run return 0 + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Module States ━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"modules","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/false.mcfunction new file mode 100644 index 00000000..389add2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/perm/false — Disable the perm trigger module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.perm set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/perm ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/true.mcfunction new file mode 100644 index 00000000..bf721dd6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/perm/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/perm/true — Enable the perm trigger module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.perm set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"perm","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/perm ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/show.mcfunction new file mode 100644 index 00000000..97dbe211 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/show.mcfunction @@ -0,0 +1,19 @@ +# macroengine:api/toggle/show +# Opens the module toggle dialog (inline, 1.21.6+). +# +# Usage: function macroengine:api/toggle/show +# Caller: macroengine.admin tag required +# +# On submit → dialog calls: +# /function macroengine:api/toggle// +# where is "true" (enable) or "false" (disable). +# +# Supported modules: hook, interaction, perm, wand, geo +# +# NOTE: template uses $(Module) and $(2) to match the defined input keys. +# The original spec used $(1) which does not correspond to any key; +# $(Module) is the correct substitution for key:"Module". + +execute unless entity @s[tag=macroengine.admin] run return 0 + +dialog show @s {"type":"minecraft:multi_action","title":"","inputs":[{"type":"minecraft:text","key":"Module","label":"Module Name","label_visible":true,"max_length":64},{"type":"minecraft:boolean","key":"2","label":"Enabled","initial":true,"on_true":"true","on_false":"false"}],"can_close_with_escape":true,"after_action":"close","pause":false,"exit_action":{"label":"Close"},"actions":[{"label":"Apply","action":{"type":"minecraft:dynamic/run_command","template":"/function macroengine:api/toggle/$(Module)/$(2)"}}]} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/false.mcfunction new file mode 100644 index 00000000..b35e96a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/false.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/wand/false — Disable the wand module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.wand set value 0b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"disabled","color":"red"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/wand ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"false","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/true.mcfunction new file mode 100644 index 00000000..fe15a07d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/toggle/wand/true.mcfunction @@ -0,0 +1,8 @@ +# macroengine:api/toggle/wand/true — Enable the wand module + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine modules.wand set value 1b + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"enabled","color":"green"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"toggle/wand ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"true","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind.mcfunction new file mode 100644 index 00000000..ab6e25fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind.mcfunction @@ -0,0 +1,4 @@ +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine trigger_binds append value {value:$(value), func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/bind ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(value)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind_cmd.mcfunction new file mode 100644 index 00000000..a34ca5f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/bind_cmd.mcfunction @@ -0,0 +1,4 @@ +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine trigger_binds append value {value:$(value), cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/bind_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(value)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/disable.mcfunction new file mode 100644 index 00000000..9fb803ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/disable.mcfunction @@ -0,0 +1,2 @@ +$scoreboard players reset $(player) macroengine_action +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/disable ","color":"aqua"},{"text":"· ","color":"#555555"},{"text":"$(player)","color":"white"},{"text":" — macroengine_action disabled","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/enable.mcfunction new file mode 100644 index 00000000..aa3d4dad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/enable.mcfunction @@ -0,0 +1,2 @@ +$scoreboard players enable $(player) macroengine_action +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/enable ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(player)","color":"white"},{"text":" — macroengine_action enabled","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/list.mcfunction new file mode 100644 index 00000000..e8826c66 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Trigger Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine trigger_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no binds registered)","color":"gray","italic":true}] +execute if data storage macroengine:engine trigger_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"trigger_binds","plain":true ,"storage":"macroengine:engine","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind.mcfunction new file mode 100644 index 00000000..c04c1d15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine trigger_binds run return 0 + +data modify storage macroengine:engine _tc_unbind set from storage macroengine:engine trigger_binds +data modify storage macroengine:engine trigger_binds set value [] + +$data modify storage macroengine:engine _tc_uval set value $(value) +function macroengine:core/internal/api/trigger/unbind_filter +data remove storage macroengine:engine _tc_unbind +data remove storage macroengine:engine _tc_uval +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/unbind ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"value=$(value)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind_all.mcfunction new file mode 100644 index 00000000..81ec0981 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/trigger/unbind_all.mcfunction @@ -0,0 +1,2 @@ +data modify storage macroengine:engine trigger_binds set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"trigger/unbind_all ","color":"aqua"},{"text":"⚠ ","color":"yellow"},{"text":"all trigger binds cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_check.mcfunction new file mode 100644 index 00000000..9d93911c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_check.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/cooldown_check +# Checks whether the wand cooldown is active. +# NOTE: Wand cooldowns are stored under macroengine:engine wand_cooldowns; +# this avoids collision with macroengine:cooldown module's "$(player).$(key)" path +# so there is zero risk of key collision. +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag +# OUTPUT: +# macroengine:output result → 0b=ready (no cooldown), 1b=cooldown active +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine wand_cooldowns.$(player).$(tag) run return 0 + +$execute store result score $wcc_exp macroengine.tmp run data get storage macroengine:engine wand_cooldowns.$(player).$(tag) +execute store result score $wcc_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $wcc_now macroengine.tmp < $wcc_exp macroengine.tmp run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/cooldown_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_set.mcfunction new file mode 100644 index 00000000..652746fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/cooldown_set.mcfunction @@ -0,0 +1,18 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/cooldown_set +# Applies a cooldown to wand usage. +# NOTE: Wand cooldowns are stored under macroengine:engine wand_cooldowns; +# this avoids collision with macroengine:cooldown module's "$(player).$(key)" path +# so there is zero risk of key collision. +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag +# $(duration) → cooldown duration (in ticks) +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $wcd_dur macroengine.tmp $(duration) +execute store result score $wcd_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $wcd_now macroengine.tmp += $wcd_dur macroengine.tmp +$execute store result storage macroengine:engine wand_cooldowns.$(player).$(tag) int 1 run scoreboard players get $wcd_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/cooldown_set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] ","color":"#555555"},{"text":"$(duration)t","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give.mcfunction new file mode 100644 index 00000000..d177acbb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give +# Gives the player a carrot_on_a_stick marked as a wand. +# The item is automatically tagged with custom_data. +# +# INPUT: +# $(player) → target player +# $(tag) → wand tag (written into custom_data) +# $(name) → item name (JSON text component, e.g. "Fire Wand") +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input name set value "Fire Wand" +# function macroengine:api/wand/give with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$give @a[name=$(player),limit=1] minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:enchantment_glint_override=true] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_custom.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_custom.mcfunction new file mode 100644 index 00000000..ee618b89 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_custom.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give_custom +# Gives a custom item tagged as a wand. +# Any item type can be used (sword, stick, etc.) +# but right-click only works with carrot_on_a_stick. +# +# INPUT: +# $(player) → target player +# $(tag) → wand tag +# $(name) → item name (JSON text string) +# $(count) → quantity (default 1) +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "ice_wand" +# data modify storage macroengine:input name set value "Ice Wand" +# data modify storage macroengine:input count set value 1 +# function macroengine:api/wand/give_custom with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$give @a[name=$(player),limit=1] minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:enchantment_glint_override=true] $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give_custom ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(item)","color":"aqua"},{"text":" [$(tag)]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_lore.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_lore.mcfunction new file mode 100644 index 00000000..50a02f0e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/give_lore.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/give_lore +# Writes the wand with lore to mainhand (item replace). +# +# INPUT (storage macroengine:input): +# player → target player name +# tag → wand tag +# name → item name (string) +# lore → lore metni, TEK SATIR (string) +# color → lore color (e.g. "red", "gold", "gray") +# +# EXAMPLE: +# data modify storage macroengine:input player set value "Steve" +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input name set value "Fire Wand" +# data modify storage macroengine:input lore set value "Fire Damage: +20" +# data modify storage macroengine:input color set value "red" +# function macroengine:api/wand/give_lore +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/wand/give_lore_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/has.mcfunction new file mode 100644 index 00000000..dc0e0f95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/has.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/has +# Does the player hold a specific wand in their main hand? +# +# INPUT: +# $(player) → player name +# $(tag) → wand tag to check +# OUTPUT: +# macroengine:output result → 1b (found) / 0b (not found) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute as @a[name=$(player),limit=1] if items entity @s weapon.mainhand *[minecraft:custom_data~{wand:"$(tag)"}] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" [$(tag)] → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/list.mcfunction new file mode 100644 index 00000000..278aad3e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/list.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/list — Shows registered wand binds. +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Wand Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine wand_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no wand binds)","color":"gray","italic":true}] +execute if data storage macroengine:engine wand_binds[0] run tellraw @s ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"wand_binds","interpret":false,"color":"yellow"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register.mcfunction new file mode 100644 index 00000000..8f4e9579 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register +# Registers a wand with a specific custom_data tag. +# On every item use, $(func) or $(cmd) runs. +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name (e.g. "my_wand") +# func → (optional) function to run +# cmd → (optional) command to run (if no func) +# +# USAGE: +# data modify storage macroengine:input tag set value "fire_wand" +# data modify storage macroengine:input func set value "mypack:on_fire_wand" +# function macroengine:api/wand/register with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_cmd.mcfunction new file mode 100644 index 00000000..dec8c56c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_cmd.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register_cmd +# Binds a raw command to a wand (carrot_on_a_stick). +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name +# cmd → raw command to run +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_cmd_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_fn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_fn.mcfunction new file mode 100644 index 00000000..a90e03a5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/register_fn.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/register_fn +# Binds a function to a wand (carrot_on_a_stick). +# +# INPUT (storage macroengine:input): +# tag → custom_data tag name +# func → function to run +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] +function macroengine:core/internal/api/wand/register_fn_do with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister.mcfunction new file mode 100644 index 00000000..9190c816 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/unregister +# Removes all wand binds belonging to a specific tag. +# +# INPUT (storage macroengine:input): +# tag → wand tag to remove +# +# EXAMPLE: +# data modify storage macroengine:input tag set value "fire_wand" +# function macroengine:api/wand/unregister +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/api/wand/unregister_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister_all.mcfunction new file mode 100644 index 00000000..1a274813 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/api/wand/unregister_all.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/wand/unregister_all — Clears all wand binds. +data modify storage macroengine:engine wand_binds set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/unregister_all ","color":"aqua"},{"text":"⚠ all wand binds cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/detect.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/detect.mcfunction new file mode 100644 index 00000000..acf1438e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/detect.mcfunction @@ -0,0 +1,9 @@ +# macroengine:backport/detect +# Detects Minecraft version and loads appropriate backports +# This is a base stub; overlays override it. + +# Default to modern +scoreboard players set #macroengine.mc_version macroengine.meta 107 + +# Call the overlay-specific backport/load if present +function macroengine:backport/load diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/info.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/info.mcfunction new file mode 100644 index 00000000..d3dcb8d8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/info.mcfunction @@ -0,0 +1,7 @@ +# macroengine:backport/info +# Public API - shows backport status. +# On modern versions this is minimal. +# Overlays provide detailed legacy info. + +tellraw @s ["",{"text":"[MACROENGINE] Backport system active.","color":"aqua"}] +tellraw @s ["",{"text":"Version-specific compatibility is provided via overlays.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/load.mcfunction new file mode 100644 index 00000000..41945aa0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/backport/load.mcfunction @@ -0,0 +1,3 @@ +# macroengine:backport/load +# Modern versions (1.21+) do not need backports. +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] backport: modern version - no backports needed","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config.mcfunction new file mode 100644 index 00000000..e8da01d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config.mcfunction @@ -0,0 +1,37 @@ +# macroengine:config +# Single source of runtime configuration (replaces _rt_origin + scattered defaults). +# Other packs may read macroengine:engine config / macroengine.meta scores; do not hardcode. + +# ── Version (602 = 6.0.2) ────────────────────────────────────────── +scoreboard objectives add macroengine.meta dummy +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 602 + +# Archived flag: set to 1 to show archive warning on every /reload +# scoreboard players set #runtoolkit.archivedpacks.macroengine macroengine.meta 1 +execute unless score #runtoolkit.archivedpacks.macroengine macroengine.meta = #runtoolkit.archivedpacks.macroengine macroengine.meta run scoreboard players set #runtoolkit.archivedpacks.macroengine macroengine.meta 0 + +# ── Engine defaults (only fill missing keys — preserves live data) ─ +execute unless data storage macroengine:engine global run data modify storage macroengine:engine global set value {} +data modify storage macroengine:engine global.version set value "v6.0.2" + +execute unless data storage macroengine:engine config run data modify storage macroengine:engine config set value {} + +# Feature toggles (override via /data modify storage macroengine:engine config.*) +execute unless data storage macroengine:engine config.enabled run data modify storage macroengine:engine config.enabled set value 1b +execute unless data storage macroengine:engine config.debug_default run data modify storage macroengine:engine config.debug_default set value 0b +execute unless data storage macroengine:engine config.log_level run data modify storage macroengine:engine config.log_level set value 1 +execute unless data storage macroengine:engine config.sandbox run data modify storage macroengine:engine config.sandbox set value 1b +execute unless data storage macroengine:engine config.reload_warn run data modify storage macroengine:engine config.reload_warn set value 1b +execute unless data storage macroengine:engine config.namespace_allowlist run data modify storage macroengine:engine config.namespace_allowlist set value ["macroengine:"] + +# Mirror sandbox flag used by gate/* — gates are active by default (sandbox:1b). +# Disabling requires confirmation via macroengine_load:gate/toggle/disable; re-enabling +# (macroengine_load:gate/toggle/enable) does not. +execute if data storage macroengine:engine config{sandbox:1b} run data modify storage macroengine:engine sandbox set value 1b +execute unless data storage macroengine:engine config{sandbox:1b} run data modify storage macroengine:engine sandbox set value 0b + +# Admin min level storage (legacy readers; not enforced when gates removed) +execute unless data storage macroengine:engine security run data modify storage macroengine:engine security set value {} +execute unless data storage macroengine:engine security.admin_min_level run data modify storage macroengine:engine security.admin_min_level set value 0 +execute unless data storage macroengine:engine security.cmd_min_level run data modify storage macroengine:engine security.cmd_min_level set value 0 +execute unless data storage macroengine:engine security.sandbox_cmd_min_level run data modify storage macroengine:engine security.sandbox_cmd_min_level set value 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/load_cfg.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/load_cfg.mcfunction new file mode 100644 index 00000000..3b498c34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/load_cfg.mcfunction @@ -0,0 +1,15 @@ +# macroengine:config/load_cfg +# +# Load-gate config. Reviewed via PR + GitHub Actions (see CONTRIBUTING.md). +# Key naming: #runtoolkit.packs.macroengine.config.load. +# Storage: macroengine.meta scoreboard. +# +# Idempotent — only fills a key if it is missing, never overwrites. + +# --- load.timeout_seconds: auto-cancel delay for the load confirmation gate (default 300 = 5 minutes) --- +execute unless score #runtoolkit.packs.macroengine.config.load.timeout_seconds macroengine.meta matches 1.. run scoreboard players set #runtoolkit.packs.macroengine.config.load.timeout_seconds macroengine.meta 300 + +# --- load.sandbox_enabled: 0=normal gate flow, 1=auto-confirm on load (default 0) +# Mirrors the legacy macroengine:engine {sandbox:1b} storage flag for +# backward compatibility — both are checked in macroengine_load:load/confirm. +execute unless score #runtoolkit.packs.macroengine.config.load.sandbox_enabled macroengine.meta matches 0..1 run scoreboard players set #runtoolkit.packs.macroengine.config.load.sandbox_enabled macroengine.meta 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/namespace_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/namespace_list.mcfunction new file mode 100644 index 00000000..9752813f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/namespace_list.mcfunction @@ -0,0 +1,48 @@ +# ====================================================================================== +# macroengine:config/namespace_list +# ====================================================================================== +# +# PURPOSE: +# Single source of truth for input_check Section 5 (namespace allowlist +# enforcement). Each approved prefix is added here, one line, one prefix. +# input_check calls this via `function` and reads the resulting list from +# storage — no other file should hardcode an allowlist prefix. +# +# POLICY: +# Every line added here is a widening of what external callers may invoke +# through macroengine's dynamic call interface. This is a security-relevant +# change and MUST go through code review (PR), never a live/runtime edit +# (no /data modify storage against this list from in-game). +# +# BEFORE ADDING A PREFIX, THE PR MUST ANSWER: +# 1. Does every function under this namespace, that could ever be reached +# through macroengine's dynamic call path, tolerate the same threat model +# input_check enforces (selector abuse, execute-chain hijacking, +# NBT/storage injection, gamerule/scoreboard abuse, entity/tag +# manipulation, forceload/block abuse)? input_check's Sections 8-19 +# only pattern-match on `cmd` payload text — they do not know which +# namespace originated the call, so a vulnerable function under a +# newly-allowed namespace is NOT separately protected. +# 2. Is every function under this namespace fully authored/audited by +# this project (not a third-party pack with unknown internals)? +# 3. What is the narrowest possible prefix? Prefer "macroengine_string:util/" +# over "macroengine_string:" if only the util/ functions are meant to be +# externally callable. +# +# FORMAT: +# One prefix per line, appended to the list below. Do not remove the +# "macroengine:" line — it is the original, always-required baseline. +# +# CURRENT STATE: +# No additional namespaces have been approved yet. Only macroengine: +# is allowed. This file exists so future additions are a single-line, +# reviewable PR diff instead of an edit inside input_check.mcfunction +# itself. +# +# ====================================================================================== + +data modify storage macroengine:output config.namespace_allowlist set value ["macroengine:","macroengine.main:empty"] + +# --- Approved additional prefixes go below this line, one per line. --- +# Example (DO NOT UNCOMMENT WITHOUT A REVIEWED PR): +# data modify storage macroengine:output config.namespace_allowlist append value "macroengine_string:util/" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/tick_cfg.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/tick_cfg.mcfunction new file mode 100644 index 00000000..75bd4fad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/config/tick_cfg.mcfunction @@ -0,0 +1,21 @@ +# macroengine:config/tick_cfg +# +# Tick config system. No macros used (see CONTRIBUTING.md - tick config +# changes are reviewed via PR and checked by GitHub Actions; runtime macro +# key generation is not allowed here). +# +# Key naming: #runtoolkit.packs.macroengine.config.tick. +# Storage: macroengine.meta scoreboard (config/gate values only - temporary data +# uses macroengine.tmp, see macroengine_load:loader/scoreboards lines 5-6) +# +# This function only sets a default for keys that are MISSING; it does not +# overwrite an existing value (idempotent - safe to call again on reload). + +# --- tick.rate: how many ticks between dispatch runs (default 1 = every tick) --- +execute unless score #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.rate macroengine.meta 1 + +# --- tick.pause: 0 = running, 1 = paused (config-level flag, separate from the paused check in core/tick.mcfunction) --- +execute unless score #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.pause macroengine.meta 0 + +# --- tick.max_channels: upper bound on simultaneously active channels --- +execute unless score #runtoolkit.packs.macroengine.config.tick.max_channels macroengine.meta matches -2147483648..2147483647 run scoreboard players set #runtoolkit.packs.macroengine.config.tick.max_channels macroengine.meta 32 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/exec.mcfunction new file mode 100644 index 00000000..d91bb0bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/cmd/exec +# Bridges macroengine:input cmd → macroengine:engine tools_trigger → dispatch. +# Called only when macroengine:input cmd exists. + +data modify storage macroengine:engine tools_trigger set from storage macroengine:input cmd +function macroengine:core/internal/debug/tools/trigger/dispatch +data remove storage macroengine:engine tools_trigger +data remove storage macroengine:input cmd diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/run.mcfunction new file mode 100644 index 00000000..288300e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cmd/run.mcfunction @@ -0,0 +1,22 @@ +# macroengine:core/cmd/run +# Entry point for the command dispatcher. +# Fires when any player triggers macroengine_run (via player_systems.mcfunction). +# Expects macroengine:input cmd to be set before triggering: +# data merge storage macroengine:input {cmd:{type:"...", data:{...}}} +# /trigger macroengine_run set 1 +# +# Available types: see macroengine:debug/tools/trigger/internal/dispatch for full list. +# Examples: +# msg → data:{player:"Name", message:"..."} +# give → data:{player:"Name", item:"minecraft:diamond", count:1} +# gamemode → data:{player:"Name", mode:"survival"} +# tp → data:{player:"Name", x:0, y:64, z:0} +# effect_add → data:{player:"Name", effect:"minecraft:speed", duration:100, amplifier:1} +# score_set → data:{player:"Name", objective:"obj", value:10} +# tag_add → data:{player:"Name", tag:"myTag"} +# xp → data:{player:"Name", amount:100, type:"points"} +# fill → data:{x1:0,y1:0,z1:0,x2:1,y2:1,z2:1,block:"minecraft:stone"} +# setblock → data:{x:0, y:64, z:0, block:"minecraft:stone"} + +execute if data storage macroengine:input cmd run function macroengine:core/cmd/exec +execute unless data storage macroengine:input cmd run tellraw @s [{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd: ","color":"aqua"},{"text":"macroengine:input cmd not set","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/delete.mcfunction new file mode 100644 index 00000000..d2b88f9e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/delete.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine config.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/delete ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/exec.mcfunction new file mode 100644 index 00000000..de6ed8e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/exec.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/config/exec [MACRO] +# Runs a function if the config score matches a range. +# Works with values stored on macroengine.config scoreboard via score_set. +# +# INPUT (macro args): +# $(key) — scoreboard fake player name (e.g. "damage") +# $(matches) — score range string (e.g. "1..", "5", "1..10") +# $(func) — function to run if condition is true +# +# USAGE: +# data modify storage macroengine:input key set value "pvp_enabled" +# data modify storage macroengine:input matches set value "1.." +# data modify storage macroengine:input func set value "mypack:on_pvp" +# function macroengine:core/config/exec with storage macroengine:input {} +# +# EXAMPLE (bind a command instead of func): +# Use score_set to write the value, then check inline: +# execute if score #pvp_enabled macroengine.config matches 1.. run function mypack:on_pvp +$execute if score #$(key) macroengine.config matches $(matches) run function $(func) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/get.mcfunction new file mode 100644 index 00000000..1e0445dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/get.mcfunction @@ -0,0 +1,4 @@ +data modify storage macroengine:output result set value "" + +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set from storage macroengine:engine config.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/has.mcfunction new file mode 100644 index 00000000..87114826 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/has ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/list.mcfunction new file mode 100644 index 00000000..81c340f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Config Values ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine config run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"config","interpret":false,"color":"green"}] +execute unless data storage macroengine:engine config run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no config values set)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/reset.mcfunction new file mode 100644 index 00000000..1b7549a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/reset.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine config diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_get.mcfunction new file mode 100644 index 00000000..9d1b0891 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_get.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/config/score_get +# Prints a config value to the caller (admin only, debug use). +# Usage: $function macroengine:core/config/score_get {key:"damage"} +execute unless entity @s[tag=macroengine.admin] run return 0 +$tellraw @s ["",{"text":"[Config] ","color":"aqua"},{"text":"#$(key)","color":"white"},{"text":" = ","color":"#555555"},{"score":{"name":"#$(key)","objective":"macroengine.config"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_set.mcfunction new file mode 100644 index 00000000..5abd4cfe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/score_set.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/config/score_set +# Sets an integer config value on the macroengine.config scoreboard. +# Usage: $function macroengine:core/config/score_set {key:"damage",value:5} +# Read back: scoreboard players get #damage macroengine.config +$scoreboard players set #$(key) macroengine.config $(value) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set.mcfunction new file mode 100644 index 00000000..403ff2ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine config.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_default.mcfunction new file mode 100644 index 00000000..81c77920 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_default.mcfunction @@ -0,0 +1,7 @@ +data modify storage macroengine:output result set value 1b + +$execute if data storage macroengine:engine config.$(key) run data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine config.$(key) run return 0 + +$data modify storage macroengine:engine config.$(key) set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set_default ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_int.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_int.mcfunction new file mode 100644 index 00000000..67d7810b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/config/set_int.mcfunction @@ -0,0 +1,2 @@ +$execute store result storage macroengine:engine config.$(key) int 1 run scoreboard players set $cfg_tmp macroengine.tmp $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"config/set_int ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/check.mcfunction new file mode 100644 index 00000000..baaf2fcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/check.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output result set value 1b + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $cd_now macroengine.tmp < $cd_exp macroengine.tmp run data modify storage macroengine:output result set value 0b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear.mcfunction new file mode 100644 index 00000000..64f5004c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine cooldowns.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/clear ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear_all.mcfunction new file mode 100644 index 00000000..cf2971d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/clear_all.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine cooldowns.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/clear_all ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(player)","color":"white"},{"text":" — all cooldowns cleared","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/detail.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/detail.mcfunction new file mode 100644 index 00000000..a995eee0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/detail.mcfunction @@ -0,0 +1,15 @@ +data merge storage macroengine:output {active:0b,remaining:0,expires:0} + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cdd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result storage macroengine:output expires int 1 run scoreboard players get $cdd_exp macroengine.tmp + +execute store result score $cdd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +execute if score $cdd_now macroengine.tmp < $cdd_exp macroengine.tmp run data modify storage macroengine:output active set value 1b + +scoreboard players operation $cdd_exp macroengine.tmp -= $cdd_now macroengine.tmp +execute if score $cdd_exp macroengine.tmp matches 1.. run execute store result storage macroengine:output remaining int 1 run scoreboard players get $cdd_exp macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/detail ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" active=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"active","color":"green"},{"text":" rem=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"remaining","color":"green"},{"text":" exp=","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"expires","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/extend.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/extend.mcfunction new file mode 100644 index 00000000..508b69ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/extend.mcfunction @@ -0,0 +1,13 @@ +execute store result score $ce_base macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $ce_exp macroengine.tmp = $ce_base macroengine.tmp + +$execute if data storage macroengine:engine cooldowns.$(player).$(key) run execute store result score $ce_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) + +execute if score $ce_exp macroengine.tmp <= $ce_base macroengine.tmp run scoreboard players operation $ce_exp macroengine.tmp = $ce_base macroengine.tmp + +$scoreboard players set $ce_amt macroengine.tmp $(amount) +scoreboard players operation $ce_exp macroengine.tmp += $ce_amt macroengine.tmp + +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $ce_exp macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/extend ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" +$(amount)t","color":"green"},{"text":" → exp=","color":"#555555"},{"score":{"name":"$ce_exp","objective":"macroengine.tmp"},"color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/is_ready.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/is_ready.mcfunction new file mode 100644 index 00000000..d132e5a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/is_ready.mcfunction @@ -0,0 +1,7 @@ +$data modify storage macroengine:input player set value "$(player)" +$data modify storage macroengine:input key set value "$(key)" +function macroengine:core/cooldown/check with storage macroengine:input {} +# check: result=0b → cooldown active. is_ready returns the inverse. +execute if data storage macroengine:output {result:0b} run data modify storage macroengine:output result set value 1b +execute if data storage macroengine:output {result:1b} run data modify storage macroengine:output result set value 0b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/is_ready ","color":"aqua"},{"text":"$(player):$(key) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/pause.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/pause.mcfunction new file mode 100644 index 00000000..9cb4cfe3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/pause.mcfunction @@ -0,0 +1,22 @@ +# macroengine:core/cooldown/pause +# Pauses an active cooldown, saving the remaining ticks. +# Params: player, key +# Output: macroengine:output result (remaining ticks saved), 0b if not active + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +# Calculate remaining ticks +$execute store result score $cdp_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cdp_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cdp_exp macroengine.tmp -= $cdp_now macroengine.tmp + +# Only pause if actually still active +execute unless score $cdp_exp macroengine.tmp matches 1.. run return 0 + +# Save remaining ticks to paused storage and clear the live cooldown +$execute store result storage macroengine:engine paused_cooldowns.$(player).$(key) int 1 run scoreboard players get $cdp_exp macroengine.tmp +$data remove storage macroengine:engine cooldowns.$(player).$(key) +execute store result storage macroengine:output result int 1 run scoreboard players get $cdp_exp macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/pause ","color":"aqua"},{"text":"⏸ ","color":"yellow"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"t remaining","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/remaining.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/remaining.mcfunction new file mode 100644 index 00000000..edee288b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/remaining.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output result set value 0 +$execute unless data storage macroengine:engine cooldowns.$(player).$(key) run return 0 + +$execute store result score $cd_exp macroengine.tmp run data get storage macroengine:engine cooldowns.$(player).$(key) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time + +scoreboard players operation $cd_exp macroengine.tmp -= $cd_now macroengine.tmp +execute if score $cd_exp macroengine.tmp matches 1.. run execute store result storage macroengine:output result int 1 run scoreboard players get $cd_exp macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/remaining ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/reset_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/reset_all.mcfunction new file mode 100644 index 00000000..b8e7f7a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/reset_all.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/cooldown/reset_all +# Clears all active cooldowns for a player. +# Girdi : $(player) → player name +# Output: (side effect only) +# +# Example: +# data modify storage macroengine:input player set value "Steve" +# function macroengine:core/cooldown/reset_all with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$data remove storage macroengine:engine cooldowns.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/reset_all ","color":"aqua"},{"text":"$(player) all cooldowns cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/resume.mcfunction new file mode 100644 index 00000000..6d980420 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/resume.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/cooldown/resume +# Resumes a previously paused cooldown. +# Params: player, key +# Output: macroengine:output result (new expiry epoch tick), 0b if not paused + +data modify storage macroengine:output result set value 0b + +$execute unless data storage macroengine:engine paused_cooldowns.$(player).$(key) run return 0 + +# Reconstruct expiry: now + saved remaining ticks +$execute store result score $cdr_rem macroengine.tmp run data get storage macroengine:engine paused_cooldowns.$(player).$(key) +execute store result score $cdr_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cdr_now macroengine.tmp += $cdr_rem macroengine.tmp + +# Write back to live cooldowns, remove from paused +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $cdr_now macroengine.tmp +$data remove storage macroengine:engine paused_cooldowns.$(player).$(key) +execute store result storage macroengine:output result int 1 run scoreboard players get $cdr_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/resume ","color":"aqua"},{"text":"▶ ","color":"green"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" resumed (","color":"#555555"},{"score":{"name":"$cdr_rem","objective":"macroengine.tmp"},"color":"yellow"},{"text":"t remaining)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/set.mcfunction new file mode 100644 index 00000000..9d0cacd2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/cooldown/set.mcfunction @@ -0,0 +1,5 @@ +$scoreboard players set $cd_dur macroengine.tmp $(duration) +execute store result score $cd_now macroengine.tmp run scoreboard players get $epoch macroengine.time +scoreboard players operation $cd_now macroengine.tmp += $cd_dur macroengine.tmp +$execute store result storage macroengine:engine cooldowns.$(player).$(key) int 1 run scoreboard players get $cd_now macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cooldown/set ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(player)","color":"white"},{"text":":","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" for ","color":"#555555"},{"text":"$(duration)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/disable/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/disable/main.mcfunction new file mode 100644 index 00000000..bb0ef6f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/disable/main.mcfunction @@ -0,0 +1,7 @@ +# Gated disable: if the gate system is active (macroengine:engine sandbox:1b, +# the default), route through confirmation instead of disabling +# immediately. If gates were turned off via gate/toggle/disable, apply +# directly like before. +execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"disable",label:"Disable macroengine",action:"macroengine:core/internal/disable/apply",args:{}} + +function macroengine:core/internal/disable/apply diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/exec.mcfunction new file mode 100644 index 00000000..3440daf1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/exec.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/dispatch/exec [MACRO] +# THE ONLY file in macroengine that executes $function $(func). +# Do NOT call directly — use #macroengine:internal/dispatch. +# +# INPUT (macroengine:engine._dispatch): func → fully-qualified function name +# +# "with storage macroengine:engine _dispatch" forwards the entire _dispatch +# compound as macro context to the target function — not just func. +# This lets callers stash extra fields (alongside func) on _dispatch +# before dispatching, and have the target read them as $(...) macro +# args, without this gateway needing to know what those fields are. +# Added so macroengine:core/lib/fiber/internal/resume_dispatch (dispatched +# via the process_queue -> queue_run_func -> #macroengine:internal/dispatch +# chain) can read $(id)/$(resume) directly instead of relying on a +# separate shared FIFO list that could desync between concurrent +# fibers — see resume_dispatch.mcfunction for the full explanation. +# ───────────────────────────────────────────────────────────────── + +execute unless entity @a run return 0 + +$function $(func) with storage macroengine:engine _dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/run.mcfunction new file mode 100644 index 00000000..04a20251 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/dispatch/run.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/dispatch/run +# Central function dispatch gateway — called via #macroengine:internal/dispatch. +# Reads func from macroengine:engine._dispatch and calls exec via macroengine. +# +# Override #macroengine:internal/dispatch in your overlay/pack to inject +# validation or logging without touching call sites. +# ───────────────────────────────────────────────────────────────── +function macroengine:core/dispatch/exec with storage macroengine:engine _dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated.mcfunction new file mode 100644 index 00000000..cc0b8a49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated.mcfunction @@ -0,0 +1,13 @@ +# ───────────────────────────────────────────── +# macroengine:core/engine/call/execute_validated +# Runs a function that has passed security validation. +# Called only by macroengine:debug/tools/utils/input_check. +# +# Girdi (macroengine:output.inputs): +# func — function name to run (already validated) +# Veri (macroengine:input): +# All parameters to pass to the function +# ───────────────────────────────────────────── + +# Pass validated func name to macro sub-function and run +function macroengine:core/engine/call/execute_validated/run with storage macroengine:output inputs diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated/run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated/run.mcfunction new file mode 100644 index 00000000..006b5368 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/engine/call/execute_validated/run.mcfunction @@ -0,0 +1,8 @@ +# ───────────────────────────────────────────── +# macroengine:core/engine/call/execute_validated/run +# Expands and runs the validated function via macroengine. +# Gets $(func) variable from macroengine:output.inputs storage, +# uses macroengine:input storage as the parameter source. +# ───────────────────────────────────────────── + +$function $(func) with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/check.mcfunction new file mode 100644 index 00000000..66977c60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/check.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/fallback/check +# Returns 1 if a fallback was triggered in the last call, 0 otherwise. +# Usage: +# function macroengine:core/fallback/clear +# function ns:your/action +# execute if data storage macroengine:output fallback{triggered:1b} run function ns:handle_failure +# function macroengine:core/fallback/check ← or use this for return-based checks +execute if data storage macroengine:output fallback{triggered:1b} run return 1 +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/clear.mcfunction new file mode 100644 index 00000000..ee4f675f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/clear.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/fallback/clear +# Clears the fallback state from macroengine:output. +# Call this before an action chain to get a clean fallback check afterwards. +# Usage: function macroengine:core/fallback/clear +data remove storage macroengine:output fallback diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/entity_missing.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/entity_missing.mcfunction new file mode 100644 index 00000000..643dde18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/entity_missing.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/entity_missing +# Called when a required entity target was not found. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] entity_missing — no valid target found" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"entity_missing"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/generic.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/generic.mcfunction new file mode 100644 index 00000000..bf3983ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/generic.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/generic +# Called when no specific fallback applies. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] generic fallback triggered" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"generic"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/invalid_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/invalid_score.mcfunction new file mode 100644 index 00000000..8e782881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/invalid_score.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/invalid_score +# Called when a required scoreboard value is absent or out of range. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] invalid_score — score missing or out of range, using default" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"invalid_score"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/no_permission.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/no_permission.mcfunction new file mode 100644 index 00000000..744c651d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/no_permission.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/fallback/no_permission +# Called when executor's macroengine.perm_level < security.cmd_min_level (or sandbox threshold). + +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] no_permission — macroengine.perm_level below required threshold" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data remove storage macroengine:engine _log_add_tmp.message +data remove storage macroengine:engine _log_add_tmp.level +data remove storage macroengine:engine _log_add_tmp.color + +# Notify caller +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"Permission denied. Your ","color":"red"},{"text":"macroengine.perm_level","color":"aqua"},{"text":" is insufficient.","color":"red"}] + +# Notify debug admins +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"NO_PERM ","color":"yellow","bold":true},{"selector":"@s","color":"gold"},{"text":" — perm_level below threshold","color":"yellow"}] + +data modify storage macroengine:output fallback set value {triggered:1b,reason:"no_permission"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/not_loaded.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/not_loaded.mcfunction new file mode 100644 index 00000000..341c373c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/not_loaded.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/not_loaded +# Called when the engine is not initialized. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] not_loaded — macroengine not initialized, run /function macroengine:load" +data modify storage macroengine:engine _log_add_tmp.level set value "ERROR" +data modify storage macroengine:engine _log_add_tmp.color set value "red" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"not_loaded"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/storage_missing.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/storage_missing.mcfunction new file mode 100644 index 00000000..8c1fe5d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/fallback/storage_missing.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/fallback/storage_missing +# Called when expected NBT storage data is absent. +data modify storage macroengine:engine _log_add_tmp.message set value "[Fallback] storage_missing — required NBT key not found" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp +data modify storage macroengine:output fallback set value {triggered:1b,reason:"storage_missing"} +return 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/apply_defaults.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/apply_defaults.mcfunction new file mode 100644 index 00000000..a72a87ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/apply_defaults.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/cb/internal/apply_defaults +# Fills in missing x/y/z fields before the macro call. +execute unless data storage macroengine:input cb.x run data modify storage macroengine:input cb.x set value 0 +execute unless data storage macroengine:input cb.y run data modify storage macroengine:input cb.y set value -64 +execute unless data storage macroengine:input cb.z run data modify storage macroengine:input cb.z set value 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/exec.mcfunction new file mode 100644 index 00000000..d9c6344d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/exec.mcfunction @@ -0,0 +1,14 @@ +# macroengine:api/cb/internal/exec +# Macro: called via "function ... with storage macroengine:input cb" +# Expected keys: cmd (string), x (int), y (int), z (int) +# +# Side-effects: +# • Writes macroengine:engine _cb_last {x,y,z} for the cleanup step. +# • Schedules macroengine:api/cb/internal/reset 2t later. + +$data modify storage macroengine:engine _cb_last set value {x:$(x),y:$(y),z:$(z)} +$forceload add $(x) $(z) +$setblock $(x) $(y) $(z) minecraft:command_block{Command:"",auto:0b,TrackOutput:0b} replace +$data modify block $(x) $(y) $(z) Command set value "$(cmd)" +$data modify block $(x) $(y) $(z) auto set value 1b +schedule function macroengine:core/internal/api/cb/reset 2t replace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset.mcfunction new file mode 100644 index 00000000..a6005648 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset.mcfunction @@ -0,0 +1,6 @@ +# macroengine:api/cb/internal/reset +# Scheduled 2t after exec — cleans up the temporary command block. +# Reads coordinates from transient cb_slot storage so reset targets +# the correct location even if run() was called again in the meantime. + +function macroengine:core/internal/api/cb/reset_exec with storage macroengine:engine _cb_last diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset_exec.mcfunction new file mode 100644 index 00000000..54eb6b0f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cb/reset_exec.mcfunction @@ -0,0 +1,4 @@ +# Macro: receives {x, y, z} +$data modify block $(x) $(y) $(z) auto set value 0b +$setblock $(x) $(y) $(z) minecraft:air replace +$forceload remove $(x) $(z) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/anchor_tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/anchor_tp.mcfunction new file mode 100644 index 00000000..ae3c396f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/anchor_tp.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/anchor_tp [INTERNAL] +# Called every tick via freeze/internal/tick, once per anchor stand. +# Execution context: AS = anchor armor stand, AT = stand's position. +# +# Reads this stand's macroengine.freeze_id into a tmp score, then teleports +# the frozen player whose macroengine.pid matches that value back to +# this exact position (~ ~ ~). +# +# The ~ ~ ~ resolves to the armor stand's world position because +# the calling execute chain set position with `at @s` on the stand. +# Switching executor to the player with `as @a[...]` does NOT reset +# the position — it remains at the stand. So `teleport @s ~ ~ ~` +# moves the player to the stand's feet. This runs once per tick, +# so players cannot escape regardless of client-side movement speed. +# ───────────────────────────────────────────────────────────────── + +scoreboard players operation $freeze_tp macroengine.tmp = @s macroengine.freeze_id +execute as @a[tag=macroengine.frozen] if score @s macroengine.pid = $freeze_tp macroengine.tmp run teleport @s ~ ~ ~ +execute as @a[tag=macroengine.frozen] if score @s macroengine.pid = $freeze_tp macroengine.tmp run gamemode adventure @s diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/apply.mcfunction new file mode 100644 index 00000000..1e4173ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/apply.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/apply [INTERNAL] +# Runs AS the player to be frozen, AT their position. +# +# 1. Summons an invisible Marker armor stand at the player's feet. +# Marker=1b means no hitbox and no tick overhead. +# 2. Copies the player's macroengine.pid to the stand's macroengine.freeze_id +# so the tick function can match player↔stand reliably. +# 3. Tags both the stand (macroengine.freeze_anchor) and the player +# (macroengine.frozen). +# ───────────────────────────────────────────────────────────────── + +# Summon the anchor stand at player's exact position +summon minecraft:armor_stand ~ ~ ~ {Invisible:1b,Marker:1b,NoGravity:1b,Tags:["macroengine.freeze_anchor"]} + +# Copy this player's PID to a tmp score, then copy to the nearest +# anchor stand (the one we just summoned — always nearest to us). +scoreboard players operation $freeze_link macroengine.tmp = @s macroengine.pid +execute as @e[tag=macroengine.freeze_anchor,sort=nearest,limit=1] run scoreboard players operation @s macroengine.freeze_id = $freeze_link macroengine.tmp + +# Tag the player as frozen +tag @s add macroengine.frozen + +# Notify and play sound +playsound macroengine:ui.freeze master @s ~ ~ ~ 0.9 0.9 +tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"translate":"macroengine.msg.freeze","color":"#00aaff","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/remove.mcfunction new file mode 100644 index 00000000..36ac5049 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/remove.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/remove [INTERNAL] +# Runs AS the player being unfrozen. +# +# Copies the player's macroengine.pid to tmp, then kills every anchor +# stand whose macroengine.freeze_id matches (should always be exactly one). +# Then removes the macroengine.frozen tag so the tick function's +# early-exit check fires and no further TPs occur. +# ───────────────────────────────────────────────────────────────── + +# Store this player's PID so we can match it against anchor stands +scoreboard players operation $freeze_rm macroengine.tmp = @s macroengine.pid + +# Kill the matching anchor stand +execute as @e[tag=macroengine.freeze_anchor] if score @s macroengine.freeze_id = $freeze_rm macroengine.tmp run kill @s + +# Unfreeze the player +tag @s remove macroengine.frozen + +# Notify and play sound +playsound macroengine:ui.unfreeze master @s ~ ~ ~ 0.7 1.3 +tellraw @s ["",{"text":"\uE000","color":"#00AAAA"},{"text":" ","color":"#00AAAA"},{"translate":"macroengine.msg.unfreeze","color":"#55ff55","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/tick.mcfunction new file mode 100644 index 00000000..5b9cea4c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/freeze/tick.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/freeze/internal/tick [INTERNAL — runs via on_tick] +# Hooked into #macroengine:events/on_tick (called every game tick). +# +# Early-exit if no frozen players exist — zero cost when the +# freeze system is idle. +# +# For each anchor stand: switch execution position to the stand, +# then delegate to anchor_tp which identifies and teleports the +# matching frozen player back to that position. +# ───────────────────────────────────────────────────────────────── + +# Fast exit — no frozen players, nothing to do +execute unless entity @a[tag=macroengine.frozen] run return 0 + +# Iterate anchor stands and teleport their linked players back +execute as @e[tag=macroengine.freeze_anchor] at @s run function macroengine:core/internal/api/cmd/freeze/anchor_tp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction new file mode 100644 index 00000000..cca39a03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/run_spread +# Spreads _mcmd_queue execution: one item per tick. +# Schedules run_spread_tick which self-reschedules until queue is drained. +# Supports full item format (conditions, hooks, cmd, func). +# ───────────────────────────────────────────────────────────────── + +execute if data storage macroengine:engine _mcmd_queue[0] run schedule function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick 1t append + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/run_spread ","color":"aqua"},{"text":"↷ spread scheduled","color":"gray"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction new file mode 100644 index 00000000..a01daf9c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/run_spread_tick +# Called once per tick by `schedule` to process the next spread command. +# Self-schedules until _mcmd_queue is drained. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _mcmd_queue[0] run return 0 + +data modify storage macroengine:engine _mcmd_current set from storage macroengine:engine _mcmd_queue[0] +data remove storage macroengine:engine _mcmd_queue[0] + +execute if data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_object +execute unless data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_string + +data remove storage macroengine:engine _mcmd_current + +# Continue draining the queue — schedule next tick +execute if data storage macroengine:engine _mcmd_queue[0] run schedule function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/run_spread_tick 1t append + +# Cleanup options when fully done +execute unless data storage macroengine:engine _mcmd_queue[0] run data remove storage macroengine:engine _mcmd_options + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/spread ","color":"aqua"},{"text":"◉ tick","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction new file mode 100644 index 00000000..d910ec54 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_append_loop +# Recursive: drain _sort_tmp into _mcmd_queue one item at a time. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _sort_tmp[0] run return 0 + +data modify storage macroengine:engine _mcmd_queue append from storage macroengine:engine _sort_tmp[0] +data remove storage macroengine:engine _sort_tmp[0] + +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction new file mode 100644 index 00000000..3eda8881 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_by_priority.mcfunction @@ -0,0 +1,38 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_by_priority +# Sorts _mcmd_queue by priority field (ascending). +# Items with no priority field default to 0 (middle bucket). +# Buckets: negative | zero/unset | positive +# Uses sort_scan_loop (classify) + sort_append_loop (merge). +# ───────────────────────────────────────────────────────────────── + +# Move queue to sort_buf; initialize buckets +data modify storage macroengine:engine _sort_buf set from storage macroengine:engine _mcmd_queue +data modify storage macroengine:engine _sort_neg set value [] +data modify storage macroengine:engine _sort_zero set value [] +data modify storage macroengine:engine _sort_pos set value [] + +# Classify each item into the correct bucket +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop + +# Rebuild queue: neg → zero → pos +data modify storage macroengine:engine _mcmd_queue set value [] + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_neg +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_zero +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +data modify storage macroengine:engine _sort_tmp set from storage macroengine:engine _sort_pos +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_append_loop + +# Cleanup +data remove storage macroengine:engine _sort_buf +data remove storage macroengine:engine _sort_neg +data remove storage macroengine:engine _sort_zero +data remove storage macroengine:engine _sort_pos +data remove storage macroengine:engine _sort_tmp +data remove storage macroengine:engine _sort_cur + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/sort ","color":"aqua"},{"text":"✔ sorted by priority","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction new file mode 100644 index 00000000..aae24506 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/advanced/internal/sort_scan_loop +# Recursive: dequeue one item from _sort_buf and classify it. +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine _sort_buf[0] run return 0 + +data modify storage macroengine:engine _sort_cur set from storage macroengine:engine _sort_buf[0] +data remove storage macroengine:engine _sort_buf[0] + +# Read priority into scoreboard — returns 0 if field absent (desired default) +execute store result score $sort_pri macroengine.tmp run data get storage macroengine:engine _sort_cur.priority + +execute if score $sort_pri macroengine.tmp matches ..-1 run data modify storage macroengine:engine _sort_neg append from storage macroengine:engine _sort_cur +execute if score $sort_pri macroengine.tmp matches 0 run data modify storage macroengine:engine _sort_zero append from storage macroengine:engine _sort_cur +execute if score $sort_pri macroengine.tmp matches 1.. run data modify storage macroengine:engine _sort_pos append from storage macroengine:engine _sort_cur + +scoreboard players reset $sort_pri macroengine.tmp + +function macroengine:core/internal/api/cmd/other/multi_cmd/advanced/sort_scan_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction new file mode 100644 index 00000000..a1cf49a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/check_condition.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/check_condition +# Check condition and write result to $mcmd_cond_result +# _mcmd_current.condition: {tag:"...", score:{...}, predicate:"..."} +# ───────────────────────────────────────────────────────────────── + +# Default: condition passed +scoreboard players set $mcmd_cond_result macroengine.tmp 1 + +# Tag check +execute if data storage macroengine:engine _mcmd_current.condition.tag run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_tag + +# Score check +execute if data storage macroengine:engine _mcmd_current.condition.score run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_score + +# Predicate check +execute if data storage macroengine:engine _mcmd_current.condition.predicate run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_predicate + +# Entity check (selector) +execute if data storage macroengine:engine _mcmd_current.condition.entity run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_entity + +# Storage check +execute if data storage macroengine:engine _mcmd_current.condition.storage run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_check_storage diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction new file mode 100644 index 00000000..3072b60b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cleanup.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/cleanup +# Cleanup — remove temporary storages +# ───────────────────────────────────────────────────────────────── + +data remove storage macroengine:engine _mcmd_queue +data remove storage macroengine:engine _mcmd_current +data remove storage macroengine:engine _mcmd_exec +data remove storage macroengine:engine _mcmd_cond_tmp + +# Sort temporaries (no-op if sort was not used) +data remove storage macroengine:engine _sort_neg +data remove storage macroengine:engine _sort_zero +data remove storage macroengine:engine _sort_pos +data remove storage macroengine:engine _sort_buf +data remove storage macroengine:engine _sort_tmp +data remove storage macroengine:engine _sort_cur + +scoreboard players reset $mcmd_cond_result macroengine.tmp +scoreboard players reset $mcmd_cond_score macroengine.tmp +scoreboard players reset $sort_pri macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction new file mode 100644 index 00000000..c554f93d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_entity.mcfunction @@ -0,0 +1,2 @@ +# Entity selector checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_entity_exec with storage macroengine:engine _mcmd_current.condition diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction new file mode 100644 index 00000000..878ca762 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_predicate.mcfunction @@ -0,0 +1,2 @@ +# Predicate checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_pred_exec with storage macroengine:engine _mcmd_current.condition diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction new file mode 100644 index 00000000..9cddbeca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_score.mcfunction @@ -0,0 +1,6 @@ +# Score checker +execute store result score $mcmd_cond_score macroengine.tmp run scoreboard players get @s dummy +data modify storage macroengine:engine _mcmd_cond_tmp set from storage macroengine:engine _mcmd_current.condition.score +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_score_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp +scoreboard players reset $mcmd_cond_score macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction new file mode 100644 index 00000000..0b0daa7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_storage.mcfunction @@ -0,0 +1,2 @@ +# Storage data checker +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_storage_exec with storage macroengine:engine _mcmd_current.condition.storage diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction new file mode 100644 index 00000000..7639dfdd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_check_tag.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/cond_check_tag +# Tag check — @s must have the specified tag +# condition.tag: "admin" or {name:"admin", has:1b} +# ───────────────────────────────────────────────────────────────── + +# Simple string format +execute unless data storage macroengine:engine _mcmd_current.condition.tag{} run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_simple + +# Object format {name:"...", has:1b/0b} +execute if data storage macroengine:engine _mcmd_current.condition.tag{} run function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_object diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction new file mode 100644 index 00000000..7f8032bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_entity_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(entity) +$execute unless entity $(entity) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction new file mode 100644 index 00000000..adaa7826 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_pred_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(predicate) +$execute unless predicate $(predicate) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction new file mode 100644 index 00000000..f4f6e185 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_score_exec.mcfunction @@ -0,0 +1,4 @@ +# [MACRO] INPUT: $(objective), $(min), $(max) +$execute store result score $mcmd_cond_score macroengine.tmp run scoreboard players get @s $(objective) +$execute if score $mcmd_cond_score macroengine.tmp matches $(min)..$(max) run return 0 +scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction new file mode 100644 index 00000000..401dab2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_storage_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(path) +$execute unless data storage $(path) run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction new file mode 100644 index 00000000..04f33cae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(tag) +$execute unless entity @s[tag=$(tag)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction new file mode 100644 index 00000000..46f7c281 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec.mcfunction @@ -0,0 +1,3 @@ +# [MACRO] INPUT: $(name), $(has) +$execute if data storage macroengine:engine _mcmd_cond_tmp{has:1b} unless entity @s[tag=$(name)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 +$execute if data storage macroengine:engine _mcmd_cond_tmp{has:0b} if entity @s[tag=$(name)] run scoreboard players set $mcmd_cond_result macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction new file mode 100644 index 00000000..739df944 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_object.mcfunction @@ -0,0 +1,7 @@ +# Tag object checker - {name:"...", has:1b/0b} + +data modify storage macroengine:engine _mcmd_cond_tmp set from storage macroengine:engine _mcmd_current.condition.tag +execute unless data storage macroengine:engine _mcmd_cond_tmp.has run data modify storage macroengine:engine _mcmd_cond_tmp.has set value 1b + +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_obj_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction new file mode 100644 index 00000000..52b72860 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/cond_tag_simple.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/cmd/other/multi_cmd/internal/cond_tag_simple +# Simple string tag check + +data modify storage macroengine:engine _mcmd_cond_tmp set value {} +data modify storage macroengine:engine _mcmd_cond_tmp.tag set from storage macroengine:engine _mcmd_current.condition.tag +function macroengine:core/internal/api/cmd/other/multi_cmd/cond_tag_exec with storage macroengine:engine _mcmd_cond_tmp +data remove storage macroengine:engine _mcmd_cond_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec.mcfunction new file mode 100644 index 00000000..a51f4e5c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec.mcfunction @@ -0,0 +1 @@ +$execute run $(current_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction new file mode 100644 index 00000000..7bf115ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func.mcfunction @@ -0,0 +1 @@ +$function $(current_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction new file mode 100644 index 00000000..498d2987 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_func_macro.mcfunction @@ -0,0 +1,6 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_func_macro [MACRO] +# INPUT: $(func) +# ───────────────────────────────────────────────────────────────── + +$function $(func) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction new file mode 100644 index 00000000..c5ba9d61 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_macro.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_macro [MACRO] +# INPUT: $(cmd) +# ───────────────────────────────────────────────────────────────── + +# Pass raw command to pipeline input +$data modify storage macroengine:input raw_command set value "$(cmd)" + +# Execute security pipeline (which sets up isolation, validates, checks canary) +# cmd_gate now acts as the pipeline entry point + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command safely executed via pipeline","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction new file mode 100644 index 00000000..1482a207 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_object.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_object +# Execute advanced object command +# _mcmd_current format: {cmd:"...", condition:{}, priority:0} +# ───────────────────────────────────────────────────────────────── + +# Check condition (if present) +execute if data storage macroengine:engine _mcmd_current.condition run function macroengine:core/internal/api/cmd/other/multi_cmd/check_condition +execute if data storage macroengine:engine _mcmd_current.condition if score $mcmd_cond_result macroengine.tmp matches 0 run return 0 + +# Run pre-hook (if present) +execute if data storage macroengine:engine _mcmd_current.pre_hook run function macroengine:core/internal/api/cmd/other/multi_cmd/run_pre_hook + +# Start profiling (if present) +execute if data storage macroengine:engine _mcmd_options{profile:1b} run execute store result score $mcmd_exec_start macroengine.tmp run time query gametime + +# Execute command +execute if data storage macroengine:engine _mcmd_current.cmd run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_macro with storage macroengine:engine _mcmd_current +execute if data storage macroengine:engine _mcmd_current.func run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_func_macro with storage macroengine:engine _mcmd_current + +# End profiling (if present) +execute if data storage macroengine:engine _mcmd_options{profile:1b} run function macroengine:core/internal/api/cmd/other/multi_cmd/record_exec_time + +# Run post-hook (if present) +execute if data storage macroengine:engine _mcmd_current.post_hook run function macroengine:core/internal/api/cmd/other/multi_cmd/run_post_hook + +# Track stats +execute if data storage macroengine:engine _mcmd_options{profile:1b} run scoreboard players add $mcmd_success macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction new file mode 100644 index 00000000..127f30f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/exec_string.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/exec_string +# Execute simple string command +# _mcmd_current is a plain string e.g. "say Hello" +# ───────────────────────────────────────────────────────────────── + +# Wrap string into object +data modify storage macroengine:engine _mcmd_exec set value {} +data modify storage macroengine:engine _mcmd_exec.cmd set from storage macroengine:engine _mcmd_current + +# Execute via macro +function macroengine:core/internal/api/cmd/other/multi_cmd/exec_macro with storage macroengine:engine _mcmd_exec + +# Cleanup +data remove storage macroengine:engine _mcmd_exec diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction new file mode 100644 index 00000000..5a3fa756 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/func_convert_loop.mcfunction @@ -0,0 +1,9 @@ +# Convert string list to {func:"..."} objects +execute unless data storage macroengine:input list[0] run return 0 + +data modify storage macroengine:engine _mcmd_func_tmp set value {} +data modify storage macroengine:engine _mcmd_func_tmp.func set from storage macroengine:input list[0] +data modify storage macroengine:engine _mcmd_queue append from storage macroengine:engine _mcmd_func_tmp + +data remove storage macroengine:input list[0] +function macroengine:core/internal/api/cmd/other/multi_cmd/func_convert_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction new file mode 100644 index 00000000..b742d7ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_post_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(post_hook) +$function $(post_hook) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction new file mode 100644 index 00000000..51d13105 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/hook_pre_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(pre_hook) +$function $(pre_hook) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction new file mode 100644 index 00000000..2fe2f68f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/record_exec_time.mcfunction @@ -0,0 +1,8 @@ +# Record execution time for profiling +execute store result score $mcmd_exec_end macroengine.tmp run time query gametime +scoreboard players operation $mcmd_exec_dur macroengine.tmp = $mcmd_exec_end macroengine.tmp +scoreboard players operation $mcmd_exec_dur macroengine.tmp -= $mcmd_exec_start macroengine.tmp + +scoreboard players reset $mcmd_exec_start macroengine.tmp +scoreboard players reset $mcmd_exec_end macroengine.tmp +scoreboard players reset $mcmd_exec_dur macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction new file mode 100644 index 00000000..681b1b37 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_as_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(selector) +$execute as $(selector) run function macroengine:api/cmd/other/multi_cmd/run diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction new file mode 100644 index 00000000..ae68a910 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_at_exec.mcfunction @@ -0,0 +1,2 @@ +# [MACRO] INPUT: $(selector) +$execute at $(selector) run function macroengine:api/cmd/other/multi_cmd/run diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction new file mode 100644 index 00000000..de389c2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_post_hook.mcfunction @@ -0,0 +1,2 @@ +# Post-hook runner +function macroengine:core/internal/api/cmd/other/multi_cmd/hook_post_exec with storage macroengine:engine _mcmd_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction new file mode 100644 index 00000000..d9a08685 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/run_pre_hook.mcfunction @@ -0,0 +1,2 @@ +# Pre-hook runner +function macroengine:core/internal/api/cmd/other/multi_cmd/hook_pre_exec with storage macroengine:engine _mcmd_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction new file mode 100644 index 00000000..90575d99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/show_stats.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/show_stats +# Show statistics +# ───────────────────────────────────────────────────────────────── + +execute store result score $mcmd_end_time macroengine.tmp run time query gametime +execute store result score $mcmd_duration macroengine.tmp run data get storage macroengine:engine _mcmd_stats.start_time +scoreboard players operation $mcmd_duration macroengine.tmp = $mcmd_end_time macroengine.tmp +scoreboard players operation $mcmd_duration macroengine.tmp -= $mcmd_duration macroengine.tmp + +execute store result storage macroengine:engine _mcmd_stats.total int 1 run scoreboard players get $mcmd_total macroengine.tmp +execute store result storage macroengine:engine _mcmd_stats.success int 1 run scoreboard players get $mcmd_success macroengine.tmp +execute store result storage macroengine:engine _mcmd_stats.duration int 1 run scoreboard players get $mcmd_duration macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"multi_cmd/stats ","color":"aqua"},{"text":"Total: ","color":"#555555"},{"nbt":"_mcmd_stats.total","plain":true ,"storage":"macroengine:engine","color":"white"},{"text":" | Success: ","color":"#555555"},{"nbt":"_mcmd_stats.success","plain":true ,"storage":"macroengine:engine","color":"green"},{"text":" | Duration: ","color":"#555555"},{"nbt":"_mcmd_stats.duration","plain":true ,"storage":"macroengine:engine","color":"yellow"},{"text":"t","color":"yellow"}] + +scoreboard players reset $mcmd_total macroengine.tmp +scoreboard players reset $mcmd_success macroengine.tmp +scoreboard players reset $mcmd_duration macroengine.tmp +scoreboard players reset $mcmd_end_time macroengine.tmp +data remove storage macroengine:engine _mcmd_stats diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step.mcfunction new file mode 100644 index 00000000..75334469 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/cmd/other/multi_cmd/internal/step +# Dequeue one command and execute it, then recurse +# ───────────────────────────────────────────────────────────────── + +# Return if queue is empty +execute unless data storage macroengine:engine _mcmd_queue[0] run return 0 + +# Dequeue first command +data modify storage macroengine:engine _mcmd_current set from storage macroengine:engine _mcmd_queue[0] +data remove storage macroengine:engine _mcmd_queue[0] + +# Increment stats counter +execute if data storage macroengine:engine _mcmd_options{profile:1b} run scoreboard players add $mcmd_total macroengine.tmp 1 + +# Execute command (string or object) +execute if data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_object +execute unless data storage macroengine:engine _mcmd_current{} run function macroengine:core/internal/api/cmd/other/multi_cmd/exec_string + +# Process next command +function macroengine:core/internal/api/cmd/other/multi_cmd/step diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction new file mode 100644 index 00000000..5b48a50d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/cmd/other/multi_cmd/step_func.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _mcmd_list[0] run return 0 + +data modify storage macroengine:engine _mcmd_entry set value {} +data modify storage macroengine:engine _mcmd_entry.current_cmd set from storage macroengine:engine _mcmd_list[0] +data remove storage macroengine:engine _mcmd_list[0] + +function macroengine:core/internal/api/cmd/other/multi_cmd/exec_func with storage macroengine:engine _mcmd_entry + +function macroengine:core/internal/api/cmd/other/multi_cmd/step_func diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_false.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_false.mcfunction new file mode 100644 index 00000000..d3eefaf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_false.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/gamerule/internal/call_on_false [MACRO] +# Calls the gr_on_false callback. Called by dispatch only. +$function $(gr_on_false) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_true.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_true.mcfunction new file mode 100644 index 00000000..021f9454 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/call_on_true.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/gamerule/internal/call_on_true [MACRO] +# Calls the gr_on_true callback. Called by dispatch only. +$function $(gr_on_true) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/debug_print.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/debug_print.mcfunction new file mode 100644 index 00000000..56f3979b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/debug_print.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/internal/api/gamerule/debug_print [MACRO] +# Internal — do not call directly. +# +# Emits the gamerule/get debug line. Split out from api/gamerule/get so the +# $(_gamerule_norm) macro arg is bound fresh from storage AFTER the normalize +# step writes it, instead of at get.mcfunction's own entry (before the value +# existed). +# +# Expects: {_gamerule_norm:"..."} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"gamerule/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(_gamerule_norm)","color":"white"},{"text":" = ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"gamerule","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/dispatch.mcfunction new file mode 100644 index 00000000..7e47200b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/dispatch.mcfunction @@ -0,0 +1,19 @@ +# macroengine:api/gamerule/internal/dispatch +# Evaluates the value and calls the appropriate callback function. +# Called exclusively by macroengine:api/gamerule/set — do NOT call directly. +# +# INPUT (storage macroengine:input): +# value — raw value string: "true", "false", or numeric string +# gr_on_true — (optional) function to call when value is "true" +# gr_on_false — (optional) function to call when value is "false" +# gr_on_value — (optional) function to call for numeric match +# gr_matches — (optional) scoreboard range string, e.g. "5..10" + +# ── Boolean: true ──────────────────────────────────────────────────────────── +execute if data storage macroengine:input {value:"true"} if data storage macroengine:input gr_on_true run return run function macroengine:core/internal/api/gamerule/call_on_true with storage macroengine:input {} + +# ── Boolean: false ─────────────────────────────────────────────────────────── +execute if data storage macroengine:input {value:"false"} if data storage macroengine:input gr_on_false run return run function macroengine:core/internal/api/gamerule/call_on_false with storage macroengine:input {} + +# ── Numeric with explicit matches range ────────────────────────────────────── +execute if data storage macroengine:input gr_on_value if data storage macroengine:input gr_matches run function macroengine:core/internal/api/gamerule/numeric_check with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/numeric_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/numeric_check.mcfunction new file mode 100644 index 00000000..07f8470e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/numeric_check.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/gamerule/internal/numeric_check [MACRO] +# Converts value string to score, checks against gr_matches range, calls gr_on_value. +# Called exclusively by dispatch — do NOT call directly. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(value) — numeric value string, e.g. "10" +# $(gr_matches) — scoreboard range string, e.g. "5..10" or "1.." +# $(gr_on_value) — function to call if score is in range + +$scoreboard players set #macroengine_gamerule_scratch macroengine.gamerule $(value) +$execute if score #macroengine_gamerule_scratch macroengine.gamerule matches $(gr_matches) run function $(gr_on_value) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/persist.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/persist.mcfunction new file mode 100644 index 00000000..0a26f37d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/persist.mcfunction @@ -0,0 +1,9 @@ +# macroengine:api/gamerule/internal/persist [MACRO] +# Writes the normalized rule name + value into macroengine:engine gamerules compound. +# Called exclusively by macroengine:api/gamerule/set — do NOT call directly. +# +# INPUT (macro args via `with storage macroengine:input {}`): +# $(_gamerule_norm) — normalized rule name (spaces → underscores, lowercase) +# $(value) — value string + +$data modify storage macroengine:engine gamerules.$(_gamerule_norm) set value "$(value)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/read.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/read.mcfunction new file mode 100644 index 00000000..a191cb76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/read.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/gamerule/internal/read [MACRO] +# Reads gamerule value from engine storage into output. +# Called by get only. +$execute if data storage macroengine:engine gamerules.$(_gamerule_norm) run data modify storage macroengine:output gamerule set from storage macroengine:engine gamerules.$(_gamerule_norm) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/remove.mcfunction new file mode 100644 index 00000000..dfbec7d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/gamerule/remove.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/gamerule/internal/remove [MACRO] +# Removes a single gamerule key from engine storage. +# Called by reset only. +$data remove storage macroengine:engine gamerules.$(_gamerule_norm) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_attack_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_attack_do.mcfunction new file mode 100644 index 00000000..2634dc15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_attack_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/interaction/internal/bind_attack_do [MACRO] [INTERNAL] +# Called by bind_attack with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine interaction_binds.attack append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/bind_attack ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_use_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_use_do.mcfunction new file mode 100644 index 00000000..925684ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/bind_use_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/interaction/internal/bind_use_do [MACRO] [INTERNAL] +# Called by bind_use with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine interaction_binds.use append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"interaction/bind_use ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/check_bind.mcfunction new file mode 100644 index 00000000..cba1808d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/check_bind.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute if entity @e[type=minecraft:interaction,tag=macroengine.ia_active,tag=$(tag),limit=1] run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/dispatch.mcfunction new file mode 100644 index 00000000..e77bb0e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/dispatch.mcfunction @@ -0,0 +1,6 @@ +data modify storage macroengine:engine _ia_cur set from storage macroengine:engine _ia_iter[0] +data remove storage macroengine:engine _ia_iter[0] + +function macroengine:core/internal/api/interaction/check_bind with storage macroengine:engine _ia_cur + +execute if data storage macroengine:engine _ia_iter[0] run function macroengine:core/internal/api/interaction/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_attack.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_attack.mcfunction new file mode 100644 index 00000000..06d2580a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_attack.mcfunction @@ -0,0 +1,9 @@ +tag @s add macroengine.ia_active + +data modify storage macroengine:engine _ia_iter set from storage macroengine:engine interaction_binds.attack +execute if data storage macroengine:engine _ia_iter[0] run execute on attacker run function macroengine:core/internal/api/interaction/dispatch + +tag @s remove macroengine.ia_active +data remove entity @s attack +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_use.mcfunction new file mode 100644 index 00000000..3029909d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/on_use.mcfunction @@ -0,0 +1,9 @@ +tag @s add macroengine.ia_active + +data modify storage macroengine:engine _ia_iter set from storage macroengine:engine interaction_binds.use +execute if data storage macroengine:engine _ia_iter[0] run execute on target run function macroengine:core/internal/api/interaction/dispatch + +tag @s remove macroengine.ia_active +data remove entity @s interaction +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/tick_scan.mcfunction new file mode 100644 index 00000000..fcd9cf42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/tick_scan.mcfunction @@ -0,0 +1,8 @@ +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/interaction/false +execute unless data storage macroengine:engine {modules:{interaction:1b}} run return 0 + +execute unless entity @e[type=minecraft:interaction,tag=macroengine.interaction,limit=1] run return 0 + +execute if data storage macroengine:engine interaction_binds.attack[0] run execute as @e[type=minecraft:interaction,tag=macroengine.interaction] if data entity @s attack run function macroengine:core/internal/api/interaction/on_attack + +execute if data storage macroengine:engine interaction_binds.use[0] run execute as @e[type=minecraft:interaction,tag=macroengine.interaction] if data entity @s interaction run function macroengine:core/internal/api/interaction/on_use diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_check.mcfunction new file mode 100644 index 00000000..f6912e95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_check.mcfunction @@ -0,0 +1 @@ +$execute unless data storage macroengine:engine _ia_ucur{tag:"$(tag)",func:"$(func)"} run data modify storage macroengine:engine interaction_binds.$(list) append from storage macroengine:engine _ia_ucur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_filter.mcfunction new file mode 100644 index 00000000..c663528c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/interaction/unbind_filter.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _ia_ubinds[0] run return 0 + +data modify storage macroengine:engine _ia_ucur set from storage macroengine:engine _ia_ubinds[0] +data remove storage macroengine:engine _ia_ubinds[0] + +function macroengine:core/internal/api/interaction/unbind_check with storage macroengine:engine _ia_ufilter + +function macroengine:core/internal/api/interaction/unbind_filter +data remove storage macroengine:engine _ia_ucur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/combo_marker_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/combo_marker_apply.mcfunction new file mode 100644 index 00000000..dc529e14 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/combo_marker_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/combo_marker_apply +# Internal — do not call directly. Second pass of api/item/combo_marker. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) {function:"minecraft:set_components",components:{"minecraft:custom_data":{macroengine:$(macroengine)}}} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/combo_marker ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/durability_overlay_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/durability_overlay_apply.mcfunction new file mode 100644 index 00000000..5eaab1ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/durability_overlay_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/durability_overlay_apply +# Internal — do not call directly. Second pass of api/item/durability_overlay. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) {function:"minecraft:set_components",components:{"minecraft:custom_data":{macroengine:$(macroengine)}}} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/durability_overlay ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/hidden_flag_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/hidden_flag_apply.mcfunction new file mode 100644 index 00000000..62599199 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/hidden_flag_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/hidden_flag_apply +# Internal — do not call directly. Second pass of api/item/hidden_flag. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) {function:"minecraft:set_components",components:{"minecraft:custom_data":{macroengine:$(macroengine)}}} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/hidden_flag ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/owner_tag_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/owner_tag_apply.mcfunction new file mode 100644 index 00000000..5d110129 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/owner_tag_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/owner_tag_apply +# Internal — do not call directly. Second pass of api/item/owner_tag. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) {function:"minecraft:set_components",components:{"minecraft:custom_data":{macroengine:$(macroengine)}}} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/owner_tag ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/read_macroengine_compound.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/read_macroengine_compound.mcfunction new file mode 100644 index 00000000..90357dea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/read_macroengine_compound.mcfunction @@ -0,0 +1,16 @@ +# macroengine:core/internal/api/item/read_macroengine_compound +# Internal — do not call directly. +# +# Reads the MAIN HAND item's existing minecraft:custom_data.macroengine compound +# into storage macroengine:_item_tmp macroengine, defaulting to {} if absent. Every +# api/item/* function calls this before writing, so that set_components +# never clobbers fields written by a different api/item/* call. This is the +# one piece shared across all five field-setters below (the field name +# itself must stay a literal in each caller's own JSON body, since macro +# variables cannot substitute NBT compound KEYS — only values). +# +# Expects: {player:"..."} +# Produces: storage macroengine:_item_tmp macroengine + +data modify storage macroengine:_item_tmp macroengine set value {} +$execute as @a[name=$(player),limit=1] run data modify storage macroengine:_item_tmp macroengine set from entity @s SelectedItem.components."minecraft:custom_data".macroengine diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/use_cooldown_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/use_cooldown_apply.mcfunction new file mode 100644 index 00000000..828ea702 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/item/use_cooldown_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/api/item/use_cooldown_apply +# Internal — do not call directly. Final pass of api/item/use_cooldown. +# Expects: {player:"...",slot:"...",macroengine:{...}} + +$item modify entity @a[name=$(player),limit=1] $(slot) {function:"minecraft:set_components",components:{"minecraft:custom_data":{macroengine:$(macroengine)}}} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"item/use_cooldown ","color":"aqua"},{"text":"$(player) ","color":"white"},{"text":"slot=$(slot)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/check_bind.mcfunction new file mode 100644 index 00000000..50b2bd7b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/check_bind.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _ptd_binds[0] run return 0 + +data modify storage macroengine:engine _ptd_current set from storage macroengine:engine _ptd_binds[0] +data remove storage macroengine:engine _ptd_binds[0] + +execute store result score $ptd_entry_val macroengine.tmp run data get storage macroengine:engine _ptd_current.value +execute if score $ptd_val macroengine.tmp = $ptd_entry_val macroengine.tmp run function macroengine:core/internal/api/perm/trigger/run_if_perm with storage macroengine:engine _ptd_current + +function macroengine:core/internal/api/perm/trigger/check_bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/exec.mcfunction new file mode 100644 index 00000000..f99dec07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/exec.mcfunction @@ -0,0 +1,2 @@ +execute if data storage macroengine:engine _ptd_current.func run function macroengine:core/internal/api/trigger/call with storage macroengine:engine _ptd_current +execute if data storage macroengine:engine _ptd_current.cmd run function macroengine:core/internal/api/trigger/call2 with storage macroengine:engine _ptd_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/player_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/player_dispatch.mcfunction new file mode 100644 index 00000000..28b03527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/player_dispatch.mcfunction @@ -0,0 +1,12 @@ +$scoreboard players operation $ptd_val macroengine.tmp = @s $(name) + +$scoreboard players set @s $(name) 0 +$scoreboard players enable @s $(name) + +$execute unless data storage macroengine:engine perm_triggers.$(name)[0] run return 0 + +$data modify storage macroengine:engine _ptd_binds set from storage macroengine:engine perm_triggers.$(name) + +function macroengine:core/internal/api/perm/trigger/check_bind +data remove storage macroengine:engine _ptd_binds +data remove storage macroengine:engine _ptd_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/run_if_perm.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/run_if_perm.mcfunction new file mode 100644 index 00000000..c25dbfca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/run_if_perm.mcfunction @@ -0,0 +1,5 @@ +execute if entity @s[tag=macroengine.admin] run function macroengine:core/internal/api/perm/trigger/exec with storage macroengine:engine _ptd_current + +$execute unless entity @s[tag=macroengine.admin] if entity @s[tag=perm.$(perm)] run function macroengine:core/internal/api/perm/trigger/exec with storage macroengine:engine _ptd_current + +$execute unless entity @s[tag=macroengine.admin] unless entity @s[tag=perm.$(perm)] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✘ ","color":"red"},{"text":"$(perm)","color":"yellow"},{"text":" — you don't have this permission.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_dispatch.mcfunction new file mode 100644 index 00000000..2fc75837 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_dispatch.mcfunction @@ -0,0 +1,3 @@ +$execute as @a[scores={$(name)=1..}] run function macroengine:core/internal/api/perm/trigger/player_dispatch with storage macroengine:engine _pt_tick_ctx + +$execute as @a run scoreboard players enable @s $(name) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_start.mcfunction new file mode 100644 index 00000000..409e426e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_start.mcfunction @@ -0,0 +1,8 @@ +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/perm/false +execute unless data storage macroengine:engine {modules:{perm:1b}} run return 0 + +execute unless data storage macroengine:engine perm_trigger_names[0] run return 0 + +data modify storage macroengine:engine _pt_names_tmp set from storage macroengine:engine perm_trigger_names +function macroengine:core/internal/api/perm/trigger/tick_step_loop +data remove storage macroengine:engine _pt_names_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_step_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_step_loop.mcfunction new file mode 100644 index 00000000..2910390d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/tick_step_loop.mcfunction @@ -0,0 +1,8 @@ +execute unless data storage macroengine:engine _pt_names_tmp[0] run return 0 + +data modify storage macroengine:engine _pt_tick_ctx set from storage macroengine:engine _pt_names_tmp[0] +data remove storage macroengine:engine _pt_names_tmp[0] + +function macroengine:core/internal/api/perm/trigger/tick_dispatch with storage macroengine:engine _pt_tick_ctx + +function macroengine:core/internal/api/perm/trigger/tick_step_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_filter.mcfunction new file mode 100644 index 00000000..0d778b7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_filter.mcfunction @@ -0,0 +1,9 @@ +execute unless data storage macroengine:engine _pt_unbind[0] run return 0 + +execute store result score $pt_fval macroengine.tmp run data get storage macroengine:engine _pt_unbind[0].value +execute store result score $pt_uval macroengine.tmp run data get storage macroengine:engine _pt_uval + +execute unless score $pt_fval macroengine.tmp = $pt_uval macroengine.tmp run function macroengine:core/internal/api/perm/trigger/unbind_reinsert with storage macroengine:engine _pt_filter_ctx + +data remove storage macroengine:engine _pt_unbind[0] +function macroengine:core/internal/api/perm/trigger/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_reinsert.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_reinsert.mcfunction new file mode 100644 index 00000000..c2cd5425 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/perm/trigger/unbind_reinsert.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine perm_triggers.$(name) append from storage macroengine:engine _pt_unbind[0] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call2.mcfunction new file mode 100644 index 00000000..46553aa0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/call2.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/trigger/internal/call2 [MACRO] + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/check_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/check_next.mcfunction new file mode 100644 index 00000000..78602d46 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/check_next.mcfunction @@ -0,0 +1,12 @@ +execute unless data storage macroengine:engine _tc_binds[0] run return 0 + +data modify storage macroengine:engine _tc_current set from storage macroengine:engine _tc_binds[0] +data remove storage macroengine:engine _tc_binds[0] + +execute store result score $tc_val macroengine.tmp run data get storage macroengine:engine _tc_current.value + +execute if score $tc_player macroengine.tmp = $tc_val macroengine.tmp if data storage macroengine:engine _tc_current.func run function macroengine:core/internal/api/trigger/call with storage macroengine:engine _tc_current + +execute if score $tc_player macroengine.tmp = $tc_val macroengine.tmp if data storage macroengine:engine _tc_current.cmd run function macroengine:core/internal/api/trigger/call2 with storage macroengine:engine _tc_current + +function macroengine:core/internal/api/trigger/check_next diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/dispatch.mcfunction new file mode 100644 index 00000000..3c85a83a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/dispatch.mcfunction @@ -0,0 +1,12 @@ +scoreboard players operation $tc_player macroengine.tmp = @s macroengine_action + +scoreboard players set @s macroengine_action 0 +scoreboard players enable @s macroengine_action + +execute unless data storage macroengine:engine trigger_binds[0] run return 0 + +data modify storage macroengine:engine _tc_binds set from storage macroengine:engine trigger_binds + +function macroengine:core/internal/api/trigger/check_next +data remove storage macroengine:engine _tc_binds +data remove storage macroengine:engine _tc_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/unbind_filter.mcfunction new file mode 100644 index 00000000..cf102f86 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/trigger/unbind_filter.mcfunction @@ -0,0 +1,10 @@ +execute unless data storage macroengine:engine _tc_unbind[0] run return 0 + +execute store result score $tc_fval macroengine.tmp run data get storage macroengine:engine _tc_unbind[0].value + +execute store result score $tc_uval macroengine.tmp run data get storage macroengine:engine _tc_uval + +execute unless score $tc_fval macroengine.tmp = $tc_uval macroengine.tmp run data modify storage macroengine:engine trigger_binds append from storage macroengine:engine _tc_unbind[0] + +data remove storage macroengine:engine _tc_unbind[0] +function macroengine:core/internal/api/trigger/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_cmd.mcfunction new file mode 100644 index 00000000..0db79d7d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_cmd.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/wand/internal/call_cmd [MACRO] + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_func.mcfunction new file mode 100644 index 00000000..7e1b1f80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/call_func.mcfunction @@ -0,0 +1,3 @@ +# macroengine:api/wand/internal/call_func [MACRO] +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_item.mcfunction new file mode 100644 index 00000000..06296fb1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_item.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/check_item [MACRO] +# $(tag) → custom_data tag name +# If the item in the player's main hand has this tag, run the bind. + +$execute if items entity @s weapon.mainhand *[minecraft:custom_data~{wand:"$(tag)"}] run function macroengine:core/internal/api/wand/fire with storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_next.mcfunction new file mode 100644 index 00000000..0bb5e259 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/check_next.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/wand/internal/check_next +# Iterate bind list: match the tag of the held item. + +execute unless data storage macroengine:engine _wand_iter[0] run return 0 + +data modify storage macroengine:engine _wand_current set from storage macroengine:engine _wand_iter[0] +data remove storage macroengine:engine _wand_iter[0] + +function macroengine:core/internal/api/wand/check_item with storage macroengine:engine _wand_current + +function macroengine:core/internal/api/wand/check_next diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/dispatch.mcfunction new file mode 100644 index 00000000..7644546d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/dispatch.mcfunction @@ -0,0 +1,7 @@ +# macroengine:api/wand/internal/dispatch +# Called as @s. Compare held items with the bind list. + +data modify storage macroengine:engine _wand_iter set from storage macroengine:engine wand_binds +execute if data storage macroengine:engine _wand_iter[0] run function macroengine:core/internal/api/wand/check_next +data remove storage macroengine:engine _wand_iter +data remove storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/fire.mcfunction new file mode 100644 index 00000000..307af610 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/fire [MACRO] +# Run the bind based on func or cmd field. + +execute if data storage macroengine:engine _wand_current.func run function macroengine:core/internal/api/wand/call_func with storage macroengine:engine _wand_current +execute if data storage macroengine:engine _wand_current.cmd run function macroengine:core/internal/api/wand/call_cmd with storage macroengine:engine _wand_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/give_lore_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/give_lore_exec.mcfunction new file mode 100644 index 00000000..07531cd1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/give_lore_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:api/wand/internal/give_lore_exec [MACRO] +# INPUT (macro): $(player), $(tag), $(name), $(lore), $(color) +# +# Writes with lore directly to mainhand via item replace weapon.mainhand. +# Not give but item replace — places directly in slot 0 (mainhand). + +$item replace entity @a[name=$(player),limit=1] weapon.mainhand with minecraft:carrot_on_a_stick[minecraft:custom_data={wand:"$(tag)"},minecraft:item_name={"text":"$(name)"},minecraft:lore=[{"text":"$(lore)","italic":false,"color":"$(color)"}],minecraft:enchantment_glint_override=true] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/give_lore ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_cmd_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_cmd_do.mcfunction new file mode 100644 index 00000000..db4d8fad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_cmd_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_cmd_do [MACRO] [INTERNAL] +# Called by wand/register_cmd with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(cmd) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register_cmd ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → cmd","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_do.mcfunction new file mode 100644 index 00000000..e7750d06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_do [MACRO] [INTERNAL] +# Called by wand/register with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func), $(cmd) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", func:"$(func)", cmd:"$(cmd)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_fn_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_fn_do.mcfunction new file mode 100644 index 00000000..4210a68f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/register_fn_do.mcfunction @@ -0,0 +1,5 @@ +# macroengine:api/wand/internal/register_fn_do [MACRO] [INTERNAL] +# Called by wand/register_fn with storage macroengine:input {} to do the actual append. +# INPUT: $(tag), $(func) +$data modify storage macroengine:engine wand_binds append value {tag:"$(tag)", func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/register_fn ","color":"aqua"},{"text":"✔ ","color":"green"},{"text":"$(tag)","color":"white"},{"text":" → func","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/tick_scan.mcfunction new file mode 100644 index 00000000..6d25c49d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/tick_scan.mcfunction @@ -0,0 +1,11 @@ +# macroengine:api/wand/internal/tick_scan +# Every tick: detect players with macroengine.rightClick score 1+, +# check their held item, run the matching bind. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/wand/false +execute unless data storage macroengine:engine {modules:{wand:1b}} run return 0 + +execute unless data storage macroengine:engine wand_binds[0] run return 0 + +execute as @a[scores={macroengine.rightClick=1..}] at @s run function macroengine:core/internal/api/wand/dispatch +scoreboard players set @a[scores={macroengine.rightClick=1..}] macroengine.rightClick 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_check.mcfunction new file mode 100644 index 00000000..fee71072 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_check.mcfunction @@ -0,0 +1,4 @@ +# macroengine:api/wand/internal/unbind_check [MACRO] +# $(tag) is the tag of the current record. Add back if it does not match _wand_filter_tag. + +$execute unless data storage macroengine:engine {_wand_filter_tag:"$(tag)"} run data modify storage macroengine:engine wand_binds append from storage macroengine:engine _wand_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_filter.mcfunction new file mode 100644 index 00000000..be56be2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unbind_filter.mcfunction @@ -0,0 +1,12 @@ +# macroengine:api/wand/internal/unbind_filter +# Write back entries from _wand_unbinds that do not match _wand_filter_tag. + +execute unless data storage macroengine:engine _wand_unbinds[0] run return 0 + +data modify storage macroengine:engine _wand_cur set from storage macroengine:engine _wand_unbinds[0] +data remove storage macroengine:engine _wand_unbinds[0] + +function macroengine:core/internal/api/wand/unbind_check with storage macroengine:engine _wand_cur + +function macroengine:core/internal/api/wand/unbind_filter +data remove storage macroengine:engine _wand_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unregister_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unregister_exec.mcfunction new file mode 100644 index 00000000..d4cbaf03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/api/wand/unregister_exec.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:api/wand/unregister +# Removes all wand binds belonging to a specific tag. +# +# INPUT: +# $(tag) → tag to remove +# ───────────────────────────────────────────────────────────────── + +execute unless data storage macroengine:engine wand_binds run return 0 + +data modify storage macroengine:engine _wand_unbinds set from storage macroengine:engine wand_binds +data modify storage macroengine:engine wand_binds set value [] +$data modify storage macroengine:engine _wand_filter_tag set value "$(tag)" +function macroengine:core/internal/api/wand/unbind_filter +data remove storage macroengine:engine _wand_unbinds +data remove storage macroengine:engine _wand_filter_tag +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"wand/unregister ","color":"aqua"},{"text":"✘ ","color":"red"},{"text":"$(tag)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/ban_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/ban_apply.mcfunction new file mode 100644 index 00000000..8909a35b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/ban_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/ban_apply +# The actual ban logic, run either directly (gates off) or after gate +# confirmation (gates on, the default). +$ban $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/ban ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/data_remove_storage_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/data_remove_storage_apply.mcfunction new file mode 100644 index 00000000..38c81668 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/data_remove_storage_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/data_remove_storage_apply +# The actual storage-removal logic, run either directly (gates off) or +# after gate confirmation (gates on, the default). +$data remove storage $(storage) $(path) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/data_remove_storage ","color":"aqua"},{"text":"$(storage) → $(path)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/kick_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/kick_apply.mcfunction new file mode 100644 index 00000000..53370c25 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/cmd/kick_apply.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/internal/cmd/kick_apply +# The actual kick logic, run either directly (gates off) or after gate +# confirmation (gates on, the default). +$kick $(player) $(reason) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"cmd/kick ","color":"aqua"},{"text":"$(player) $(reason)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_cmd.mcfunction new file mode 100644 index 00000000..eff11433 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_cmd.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/add_cmd [MACRO] +# INPUT: $(id) — cmd is NBT-copied from macroengine:input, not macro-spliced +# Called with cmd field guaranteed. + +$data modify storage macroengine:engine batches.$(id).items append value {cmd:""} +$data modify storage macroengine:engine batches.$(id).items[-1].cmd set from storage macroengine:input cmd diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_exec.mcfunction new file mode 100644 index 00000000..4e6a714e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/lib/batch/internal/add_exec [MACRO] +# INPUT: $(id) +# func or cmd field existence is checked outside the macro, +# then the relevant append_func / append_cmd is called — prevents undefined $(func/cmd). + +$execute unless data storage macroengine:engine batches.$(id) run return 0 + +execute if data storage macroengine:input func run function macroengine:core/internal/core/lib/batch/add_func with storage macroengine:input +execute if data storage macroengine:input cmd run function macroengine:core/internal/core/lib/batch/add_cmd with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_func.mcfunction new file mode 100644 index 00000000..5991044f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/add_func.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/add_func [MACRO] +# INPUT: $(id) — func is NBT-copied from macroengine:input, not macro-spliced +# Called with func field guaranteed. + +$data modify storage macroengine:engine batches.$(id).items append value {func:""} +$data modify storage macroengine:engine batches.$(id).items[-1].func set from storage macroengine:input func diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/begin_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/begin_exec.mcfunction new file mode 100644 index 00000000..96227a5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/begin_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/lib/batch/internal/begin_exec [MACRO] +# INPUT: $(id), $(spread_over) + +$data modify storage macroengine:engine batches.$(id) set value {items:[],spread_over:$(spread_over),flushed:0b} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/begin ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" spread_over=$(spread_over)t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/cancel_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/cancel_exec.mcfunction new file mode 100644 index 00000000..ec7872d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/cancel_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/lib/batch/internal/cancel_exec [MACRO] +# INPUT: $(id) + +$execute unless data storage macroengine:engine batches.$(id) run return 0 +$data remove storage macroengine:engine batches.$(id) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/cancel ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" — cancelled","color":"#FF5555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_exec.mcfunction new file mode 100644 index 00000000..f5fef894 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_exec.mcfunction @@ -0,0 +1,31 @@ +# macroengine:core/lib/batch/internal/flush_exec [MACRO] +# INPUT: $(id) +# For each item, delay = floor(idx * spread_over / total) is computed. +# Item'lar tek tek process_queue'ya eklenir — slice storage gerekmez. + +$execute unless data storage macroengine:engine batches.$(id) run return 0 + +# Load total and spread_over values to score +$execute store result score $bfl_total macroengine.tmp run data get storage macroengine:engine batches.$(id).items +$execute store result score $bfl_spread macroengine.tmp run data get storage macroengine:engine batches.$(id).spread_over +execute if score $bfl_spread macroengine.tmp matches ..0 run scoreboard players set $bfl_spread macroengine.tmp 1 +execute if score $bfl_total macroengine.tmp matches 0 run return 0 + +# Iteration counter +scoreboard players set $bfl_idx macroengine.tmp 0 + +# Copy items to working storage +$data modify storage macroengine:engine _bfl_items set from storage macroengine:engine batches.$(id).items +$data modify storage macroengine:engine _bfl_id set value "$(id)" + +function macroengine:core/internal/core/lib/batch/flush_loop + +data remove storage macroengine:engine _bfl_items +data remove storage macroengine:engine _bfl_id +scoreboard players reset $bfl_idx macroengine.tmp +scoreboard players reset $bfl_total macroengine.tmp +scoreboard players reset $bfl_spread macroengine.tmp + +$data remove storage macroengine:engine batches.$(id) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/batch/flush ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" — queued","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_loop.mcfunction new file mode 100644 index 00000000..407ee93e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_loop.mcfunction @@ -0,0 +1,27 @@ +# macroengine:core/lib/batch/internal/flush_loop +# Consumes _bfl_items. For each item: +# delay = floor($bfl_idx * $bfl_spread / $bfl_total) +# computed and added to the queue. +# func or cmd presence is checked with execute if data. + +execute unless data storage macroengine:engine _bfl_items[0] run return 0 + +# delay = floor(idx * spread / total) +scoreboard players operation $bfl_delay macroengine.tmp = $bfl_idx macroengine.tmp +scoreboard players operation $bfl_delay macroengine.tmp *= $bfl_spread macroengine.tmp +scoreboard players operation $bfl_delay macroengine.tmp /= $bfl_total macroengine.tmp + +# Move item to temporary storage +data modify storage macroengine:engine _bfl_cur set from storage macroengine:engine _bfl_items[0] +data remove storage macroengine:engine _bfl_items[0] + +# Write delay to item, then queue by func/cmd +execute store result storage macroengine:engine _bfl_cur.delay int 1 run scoreboard players get $bfl_delay macroengine.tmp + +execute if data storage macroengine:engine _bfl_cur.func run function macroengine:core/internal/core/lib/batch/flush_queue_func with storage macroengine:engine _bfl_cur +execute unless data storage macroengine:engine _bfl_cur.func run execute if data storage macroengine:engine _bfl_cur.cmd run function macroengine:core/internal/core/lib/batch/flush_queue_cmd with storage macroengine:engine _bfl_cur + +data remove storage macroengine:engine _bfl_cur +scoreboard players add $bfl_idx macroengine.tmp 1 + +function macroengine:core/internal/core/lib/batch/flush_loop \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_cmd.mcfunction new file mode 100644 index 00000000..9c6bd1ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/lib/batch/internal/flush_queue_cmd [MACRO] +# INPUT: $(delay) — cmd is NBT-copied from _bfl_cur, not macro-spliced + +$data modify storage macroengine:engine queue append value {cmd:"", delay:$(delay)} +data modify storage macroengine:engine queue[-1].cmd set from storage macroengine:engine _bfl_cur.cmd diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_func.mcfunction new file mode 100644 index 00000000..c5e3aeff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/batch/flush_queue_func.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/lib/batch/internal/flush_queue_func [MACRO] +# INPUT: $(delay) — func is NBT-copied from _bfl_cur, not macro-spliced + +$data modify storage macroengine:engine queue append value {func:"", delay:$(delay)} +data modify storage macroengine:engine queue[-1].func set from storage macroengine:engine _bfl_cur.func diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/is_alive_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/is_alive_exec.mcfunction new file mode 100644 index 00000000..174982e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/is_alive_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/lib/fiber/internal/is_alive_exec [MACRO] +# INPUT: $(id) + +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine fibers.$(id){alive:1b} run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/is_alive ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/kill_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/kill_exec.mcfunction new file mode 100644 index 00000000..b8fd41db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/kill_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/lib/fiber/internal/kill_exec [MACRO] +# INPUT: $(id) + +$execute unless data storage macroengine:engine fibers.$(id) run return 0 + +$data remove storage macroengine:engine fibers.$(id).alive +$data remove storage macroengine:engine fibers.$(id).resume + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/kill ","color":"aqua"},{"text":"[killed] ","color":"#FF5555"},{"text":"$(id)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_dispatch.mcfunction new file mode 100644 index 00000000..5bd4cb5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_dispatch.mcfunction @@ -0,0 +1,25 @@ +# macroengine:core/lib/fiber/internal/resume_dispatch [MACRO] +# Dispatched via the queue -> queue_run_func -> #macroengine:internal/dispatch +# -> core/dispatch/exec chain. core/dispatch/exec forwards the entire +# _dispatch compound as macro context, so $(id)/$(resume) below are the +# id/resume fields this specific queue entry was created with in +# yield_exec.mcfunction — NOT a shared list popped in arrival order. +# +# BUGFIX (concurrency): the previous design wrote a separate FIFO list +# (fibers._pending) on yield, and had resume_dispatch unconditionally +# pop _pending[0] whenever ANY queue entry fired. With 2+ concurrent +# fibers yielding with different delays, process_queue only ever +# advances queue[0] (it never looks past the head of the queue), so a +# short-delay fiber queued behind a longer-delay one would not fire +# until the earlier entry's delay reached 0 — and whichever queue entry +# did fire would resume _pending[0], which could belong to a different +# fiber than the one whose timer actually elapsed. Carrying id/resume +# inside the queue entry itself (and reading them back here via macro +# context) ties each fire event to its own fiber unambiguously, with +# no shared list to desynchronize. +# +# INPUT (macro context from _dispatch, set in yield_exec.mcfunction): +# $(id) — fiber id +# $(resume) — function to resume + +$function macroengine:core/internal/core/lib/fiber/resume_exec {id:"$(id)", func:"$(resume)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_exec.mcfunction new file mode 100644 index 00000000..081a42c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/resume_exec.mcfunction @@ -0,0 +1,12 @@ +# macroengine:core/lib/fiber/internal/resume_exec [MACRO] +# INPUT: $(id), $(func) +# Fed from _fib_cur. + +# Is the fiber still alive? +$execute unless data storage macroengine:engine fibers.$(id){alive:1b} run return 0 + +# Run via central dispatch +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/resume ","color":"aqua"},{"text":"[run] ","color":"green"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/spawn_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/spawn_exec.mcfunction new file mode 100644 index 00000000..fd1610ad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/spawn_exec.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/lib/fiber/internal/spawn_exec [MACRO] +# INPUT: $(id), $(func) + +# Delete if same id exists +$data remove storage macroengine:engine fibers.$(id) + +# Create fiber record +$data modify storage macroengine:engine fibers.$(id) set value {alive:1b} + +# Run first step via central dispatch +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/spawn ","color":"aqua"},{"text":"[start] ","color":"green"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/yield_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/yield_exec.mcfunction new file mode 100644 index 00000000..c95da7a8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/fiber/yield_exec.mcfunction @@ -0,0 +1,27 @@ +# macroengine:core/lib/fiber/internal/yield_exec [MACRO] +# INPUT: $(id), $(resume), $(delay) + +# Do not continue if fiber is dead +$execute unless data storage macroengine:engine fibers.$(id){alive:1b} run return 0 + +# Write resume point to fiber record (readable by is_alive/resume) +$data modify storage macroengine:engine fibers.$(id).resume set value "$(resume)" + +# BUGFIX: previously this wrote a separate FIFO list (fibers._pending) +# and a separate process_queue entry, on the assumption that +# resume_dispatch would always consume them in lockstep (one queue +# entry firing == _pending[0] belongs to that same yield call). +# That assumption breaks with 2+ concurrent fibers: process_queue only +# decrements queue[0].delay each tick (it never looks past the head), +# so a fiber that yields with a short delay can get stuck behind an +# earlier entry with a longer delay, and whichever queue entry fires +# first ends up popping _pending[0] — which may belong to a different +# fiber than the one whose timer actually elapsed. +# +# Fix: the resume target (id + func) now travels INSIDE the queue +# entry itself (id/resume fields), so when this specific queue entry +# fires, queue_run_func passes it straight through as macro args to +# resume_dispatch — no shared list to desynchronize. +$data modify storage macroengine:engine queue append value {func:"macroengine:core/internal/core/lib/fiber/resume_dispatch", delay:$(delay), id:"$(id)", resume:"$(resume)"} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/fiber/yield ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(resume)","color":"aqua"},{"text":" in $(delay)t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_step.mcfunction new file mode 100644 index 00000000..74215461 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/for_each_list_step.mcfunction @@ -0,0 +1,12 @@ +execute unless data storage macroengine:engine _felist_input[0] run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_list ","color":"aqua"},{"text":"DONE ","color":"green"},{"text":"list exhausted, loop ended","color":"#555555"}] +execute unless data storage macroengine:engine _felist_input[0] run return 0 + +data modify storage macroengine:engine _felist_current set from storage macroengine:engine _felist_input[0] +execute store result storage macroengine:engine _felist_i int 1 run scoreboard players get $felist_i macroengine.tmp + +function macroengine:core/internal/core/lib/for_each_list_call with storage macroengine:engine _felist_state + +data remove storage macroengine:engine _felist_input[0] +scoreboard players add $felist_i macroengine.tmp 1 + +function macroengine:core/internal/core/lib/for_each_list_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_fire.mcfunction new file mode 100644 index 00000000..9fc43aad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_fire.mcfunction @@ -0,0 +1,5 @@ +execute if data storage macroengine:engine queue[0].func if data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_func_as with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].func unless data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_func with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].cmd if data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_cmd_as with storage macroengine:engine queue[0] +execute if data storage macroengine:engine queue[0].cmd unless data storage macroengine:engine queue[0].player run function macroengine:core/internal/core/lib/queue_run_cmd with storage macroengine:engine queue[0] +data remove storage macroengine:engine queue[0] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd.mcfunction new file mode 100644 index 00000000..08c88adb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd.mcfunction @@ -0,0 +1,5 @@ +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd_as.mcfunction new file mode 100644 index 00000000..1e5fc42d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_cmd_as.mcfunction @@ -0,0 +1 @@ +$execute as $(player) at @s run $(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func_as.mcfunction new file mode 100644 index 00000000..d7846f69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/queue_run_func_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as $(player) at @s run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_call.mcfunction new file mode 100644 index 00000000..a5baedf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_call.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_call.mcfunction new file mode 100644 index 00000000..3472da32 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_call.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(_rn_func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_loop.mcfunction new file mode 100644 index 00000000..382252bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_n_loop.mcfunction @@ -0,0 +1,6 @@ +execute if score $rn_i macroengine.tmp >= $rn_n macroengine.tmp run return 0 + +execute store result score $repeat_i macroengine.tmp run scoreboard players get $rn_i macroengine.tmp +function macroengine:core/internal/core/lib/repeat_n_call with storage macroengine:engine {} +scoreboard players add $rn_i macroengine.tmp 1 +function macroengine:core/internal/core/lib/repeat_n_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_run.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_run.mcfunction new file mode 100644 index 00000000..2b0fcd5f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/repeat_run.mcfunction @@ -0,0 +1,13 @@ +execute store result score $rep_r macroengine.tmp run data get storage macroengine:engine _repeat.remaining +execute if score $rep_r macroengine.tmp matches ..0 run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat ","color":"aqua"},{"text":"DONE ","color":"green"},{"text":"all iterations completed","color":"#555555"}] +execute if score $rep_r macroengine.tmp matches ..0 run return 0 + +function macroengine:core/internal/core/lib/repeat_call with storage macroengine:engine _repeat + +scoreboard players remove $rep_r macroengine.tmp 1 +execute store result storage macroengine:engine _repeat.remaining int 1 run scoreboard players get $rep_r macroengine.tmp +execute store result score $rep_i macroengine.tmp run data get storage macroengine:engine _repeat.i +scoreboard players add $rep_i macroengine.tmp 1 +execute store result storage macroengine:engine _repeat.i int 1 run scoreboard players get $rep_i macroengine.tmp + +function macroengine:core/internal/core/lib/repeat_run diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue.mcfunction new file mode 100644 index 00000000..6c1eebdb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_as.mcfunction new file mode 100644 index 00000000..80533baa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_as.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd.mcfunction new file mode 100644 index 00000000..eb78b51b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction new file mode 100644 index 00000000..6563ceca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_requeue_cmd_as.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do.mcfunction new file mode 100644 index 00000000..f688aa40 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_as.mcfunction new file mode 100644 index 00000000..ca3b5954 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_as.mcfunction @@ -0,0 +1,4 @@ +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd.mcfunction new file mode 100644 index 00000000..a5b5a71d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction new file mode 100644 index 00000000..18e0c105 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/schedule_reset_do_cmd_as.mcfunction @@ -0,0 +1,4 @@ +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/insert_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/insert_dispatch.mcfunction new file mode 100644 index 00000000..5ec916eb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/insert_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/insert {Index:$(Index)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction new file mode 100644 index 00000000..dca7a623 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_fast_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_lowercase/fast {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction new file mode 100644 index 00000000..8340e748 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_lower_full_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_lowercase/full {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_number_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_number_dispatch.mcfunction new file mode 100644 index 00000000..f9c07394 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_number_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_number {Input:"$(Input)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_string_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_string_dispatch.mcfunction new file mode 100644 index 00000000..95e08789 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_string_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_string {Input:$(Input)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction new file mode 100644 index 00000000..28f518c8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_fast_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_uppercase/fast {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction new file mode 100644 index 00000000..d0f1a236 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/lib/string/to_upper_full_dispatch.mcfunction @@ -0,0 +1 @@ +$function macroengine_string:util/to_uppercase/full {String:"$(String)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_as.mcfunction new file mode 100644 index 00000000..210ae6de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_as.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/queue/internal/exec_as +# Runs a queued function as the named player (if online). +# If the player is offline the item is silently dropped — no retry. +# +# Macro input: +# fn — function path to call +# player — player name used in selector + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +$execute as $(player) run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_fn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_fn.mcfunction new file mode 100644 index 00000000..3d297ff2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_fn.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/queue/internal/exec_fn +# Runs a queued function in server (non-entity) context. +# Called with storage macroengine:engine _wq_job as macro source. +# +# Macro input: +# fn — function path to call + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_next.mcfunction new file mode 100644 index 00000000..f84ddad6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/exec_next.mcfunction @@ -0,0 +1,13 @@ +# macroengine:core/queue/internal/exec_next +# Pops work_queue[0] into _wq_job, removes it from the list, +# then dispatches to the appropriate runner. +# player field present → execute as that player (skipped if offline). +# player field absent → run in server context. + +data modify storage macroengine:engine _wq_job set from storage macroengine:engine work_queue[0] +data remove storage macroengine:engine work_queue[0] + +execute if data storage macroengine:engine _wq_job.player run function macroengine:core/internal/core/queue/exec_as with storage macroengine:engine _wq_job +execute unless data storage macroengine:engine _wq_job.player run function macroengine:core/internal/core/queue/exec_fn with storage macroengine:engine _wq_job + +data remove storage macroengine:engine _wq_job diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/flush_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/flush_loop.mcfunction new file mode 100644 index 00000000..378932ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/flush_loop.mcfunction @@ -0,0 +1,7 @@ +# macroengine:core/queue/internal/flush_loop +# Drains the entire work_queue in one call stack (used by queue/flush). +# Recursion depth = queue size — do NOT call on large queues. + +execute unless data storage macroengine:engine work_queue[0] run return 0 +function macroengine:core/internal/core/queue/exec_next +function macroengine:core/internal/core/queue/flush_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick.mcfunction new file mode 100644 index 00000000..b8e5cca6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/queue/internal/tick +# Rate-limited work queue dispatcher — called every tick by tick.mcfunction. +# Reads work_queue_rate and processes up to that many items. +# Early-exit if queue is empty (zero overhead when idle). + +execute unless data storage macroengine:engine work_queue[0] run return 0 + +execute store result score #wq_rate macroengine.tmp run data get storage macroengine:engine work_queue_rate +execute if score #wq_rate macroengine.tmp matches ..0 run return 0 + +function macroengine:core/internal/core/queue/tick_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick_loop.mcfunction new file mode 100644 index 00000000..8bea4468 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/core/queue/tick_loop.mcfunction @@ -0,0 +1,12 @@ +# macroengine:core/queue/internal/tick_loop +# Recursive loop: processes one item then calls itself until +# #wq_rate reaches 0 or the queue is empty. +# Max recursion depth = work_queue_rate (keep ≤ 64 for safety). + +execute unless data storage macroengine:engine work_queue[0] run return 0 +execute if score #wq_rate macroengine.tmp matches ..0 run return 0 + +scoreboard players remove #wq_rate macroengine.tmp 1 +function macroengine:core/internal/core/queue/exec_next + +function macroengine:core/internal/core/queue/tick_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/dispatch.mcfunction new file mode 100644 index 00000000..ce86339e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/dispatch.mcfunction @@ -0,0 +1,91 @@ +# macroengine:debug/tools/trigger/internal/dispatch +# Calls macroengine:api/cmd/* based on tools_trigger.type. +# All calls use "with storage macroengine:engine tools_trigger.data". + +# ── Message ────────────────────────────────────────────────────────────────── +# type:"msg" → data:{player:"Name", message:"..."} +execute if data storage macroengine:engine tools_trigger{type:"msg"} run function macroengine:api/cmd/msg with storage macroengine:engine tools_trigger.data + +# type:"title" → data:{player:"Name", text:"...", color:"gold"} +execute if data storage macroengine:engine tools_trigger{type:"title"} run function macroengine:api/cmd/title with storage macroengine:engine tools_trigger.data + +# type:"subtitle" → data:{player:"Name", text:"...", color:"white"} +execute if data storage macroengine:engine tools_trigger{type:"subtitle"} run function macroengine:api/cmd/subtitle with storage macroengine:engine tools_trigger.data + +# type:"actionbar" → data:{player:"Name", text:"...", color:"aqua"} +execute if data storage macroengine:engine tools_trigger{type:"actionbar"} run function macroengine:api/cmd/actionbar with storage macroengine:engine tools_trigger.data + +# type:"title_times"→ data:{player:"Name", in:10, stay:70, out:20} +execute if data storage macroengine:engine tools_trigger{type:"title_times"} run function macroengine:api/cmd/title_times with storage macroengine:engine tools_trigger.data + +# type:"title_clear"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"title_clear"} run function macroengine:api/cmd/title_clear with storage macroengine:engine tools_trigger.data + +# type:"title_reset"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"title_reset"} run function macroengine:api/cmd/title_reset with storage macroengine:engine tools_trigger.data + +# ── Sound & Particles ────────────────────────────────────────────────────── +# type:"sound" → data:{player:"Name", sound:"minecraft:...", volume:1, pitch:1} +execute if data storage macroengine:engine tools_trigger{type:"sound"} run function macroengine:api/cmd/sound with storage macroengine:engine tools_trigger.data + +# ── Efekt ───────────────────────────────────────────────────────────────── +# type:"effect_add" → data:{player:"Name", effect:"minecraft:speed", duration:100, amplifier:1} +execute if data storage macroengine:engine tools_trigger{type:"effect_add"} run function macroengine:api/cmd/effect_give with storage macroengine:engine tools_trigger.data + +# type:"effect_clear"→ data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"effect_clear"} run function macroengine:api/cmd/effect_clear with storage macroengine:engine tools_trigger.data + +# ── Item ────────────────────────────────────────────────────────────────── +# type:"give" → data:{player:"Name", item:"minecraft:diamond", count:1} +execute if data storage macroengine:engine tools_trigger{type:"give"} run function macroengine:api/cmd/give with storage macroengine:engine tools_trigger.data + +# ── XP ──────────────────────────────────────────────────────────────────── +# type:"xp" → data:{player:"Name", amount:100, type:"points"} (type: points|levels) +execute if data storage macroengine:engine tools_trigger{type:"xp"} run function macroengine:api/cmd/xp_add with storage macroengine:engine tools_trigger.data + +# ── Oyuncu ──────────────────────────────────────────────────────────────── +# type:"gamemode" → data:{player:"Name", mode:"survival"} +execute if data storage macroengine:engine tools_trigger{type:"gamemode"} run function macroengine:api/cmd/gamemode with storage macroengine:engine tools_trigger.data + +# type:"kick" → data:{player:"Name"} +execute if data storage macroengine:engine tools_trigger{type:"kick"} run function macroengine:api/cmd/kick with storage macroengine:engine tools_trigger.data + +# type:"tp" → data:{player:"Name", x:0, y:64, z:0} +execute if data storage macroengine:engine tools_trigger{type:"tp"} run function macroengine:api/cmd/tp_to_coords with storage macroengine:engine tools_trigger.data + +# ── Scoreboard ──────────────────────────────────────────────────────────── +# type:"score_set" → data:{player:"Name", objective:"obj", value:10} +execute if data storage macroengine:engine tools_trigger{type:"score_set"} run function macroengine:api/cmd/scoreboard_set with storage macroengine:engine tools_trigger.data + +# type:"score_add" → data:{player:"Name", objective:"obj", amount:5} +execute if data storage macroengine:engine tools_trigger{type:"score_add"} run function macroengine:api/cmd/scoreboard_add with storage macroengine:engine tools_trigger.data + +# ── Tag ─────────────────────────────────────────────────────────────────── +# type:"tag_add" → data:{player:"Name", tag:"myTag"} +execute if data storage macroengine:engine tools_trigger{type:"tag_add"} run function macroengine:api/cmd/tag_add with storage macroengine:engine tools_trigger.data + +# type:"tag_remove" → data:{player:"Name", tag:"myTag"} +execute if data storage macroengine:engine tools_trigger{type:"tag_remove"} run function macroengine:api/cmd/tag_remove with storage macroengine:engine tools_trigger.data + +# ── World ───────────────────────────────────────────────────────────────── +# type:"fill" → data:{x1:..,y1:..,z1:..,x2:..,y2:..,z2:..,block:"minecraft:stone"} +execute if data storage macroengine:engine tools_trigger{type:"fill"} run function macroengine:api/cmd/fill with storage macroengine:engine tools_trigger.data + +# type:"setblock" → data:{x:..,y:..,z:..,block:"minecraft:stone"} +execute if data storage macroengine:engine tools_trigger{type:"setblock"} run function macroengine:api/cmd/setblock with storage macroengine:engine tools_trigger.data + +# ── Fonksiyon & Komut ───────────────────────────────────────────────────── +# NOTE: delay / schedule_cancel intentionally excluded here. +# The schedule command runs at op-level; allowing arbitrary function scheduling. +# Use macroengine:core/lib/schedule directly and explicitly if needed. +# type:"func" → data:{ns:"namespace", path:"func/path"} +execute if data storage macroengine:engine tools_trigger{type:"func"} run function macroengine:core/internal/debug/tools/trigger/exec_func with storage macroengine:engine tools_trigger.data + +# type:"cmd" → data:{cmd:"say hello"} +execute if data storage macroengine:engine tools_trigger{type:"cmd"} run function macroengine:core/internal/debug/tools/trigger/exec_cmd with storage macroengine:engine tools_trigger.data + +# type:"multi1" → data:{list:[],options:{}} +execute if data storage macroengine:engine tools_trigger{type:"multi1"} run function macroengine:api/cmd/other/multi_cmd_adv with storage macroengine:engine tools_trigger.data + +# type:"multi2" → data:{commands:[]} +execute if data storage macroengine:engine tools_trigger{type:"multi2"} run function macroengine:api/cmd/other/multi_cmd with storage macroengine:engine tools_trigger.data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_cmd.mcfunction new file mode 100644 index 00000000..775b183d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_cmd.mcfunction @@ -0,0 +1,4 @@ +# type:"cmd" → {cmd:"say hello"} +# Security: only executors with the macroengine.admin tag may run this. +execute unless entity @s[tag=macroengine.admin] run return 0 +$execute as @a[nbt=$(uuid)] at @s run $(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_func.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_func.mcfunction new file mode 100644 index 00000000..df9007dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/debug/tools/trigger/exec_func.mcfunction @@ -0,0 +1,4 @@ +# type:"func" → {ns:"namespace", path:"func/path"} +# NOTE: Two-part path construction — cannot route via #macroengine:internal/dispatch +# without a pre-concat step. Intentional exception; this is admin-debug only. +$execute as @a[nbt=$(uuid)] at @s run function $(ns):$(path) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/disable/apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/disable/apply.mcfunction new file mode 100644 index 00000000..ca5143c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/disable/apply.mcfunction @@ -0,0 +1,8 @@ +# macroengine:core/internal/disable/apply +# The actual disable logic, run either directly (gates off) or after +# gate confirmation (gates on, the default). +function macroengine_load:core/internal/load/cleanup +datapack disable "file/macroengine.zip" +datapack disable "file/macroengine" +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 0 +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"macroengine disabled.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_deferred.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_deferred.mcfunction new file mode 100644 index 00000000..df9eb1d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_deferred.mcfunction @@ -0,0 +1 @@ +function macroengine:events/fire with storage macroengine:engine queue[0] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_next.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_next.mcfunction new file mode 100644 index 00000000..945fc532 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/fire_next.mcfunction @@ -0,0 +1,4 @@ +data modify storage macroengine:engine _dispatch.func set from storage macroengine:engine _event_tmp[0].func +function #macroengine:internal/dispatch +data remove storage macroengine:engine _event_tmp[0] +execute if data storage macroengine:engine _event_tmp[0] run function macroengine:core/internal/events/fire_next diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_append.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_append.mcfunction new file mode 100644 index 00000000..ac392a8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_append.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:engine events.$(event) append from storage macroengine:engine _uro.src[0] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_check.mcfunction new file mode 100644 index 00000000..f3c516e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_check.mcfunction @@ -0,0 +1 @@ +$execute unless data storage macroengine:engine _uro{func:"$(func)"} run function macroengine:core/internal/events/uro_append with storage macroengine:engine _uro diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_loop.mcfunction new file mode 100644 index 00000000..2880e67b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/events/uro_loop.mcfunction @@ -0,0 +1,3 @@ +function macroengine:core/internal/events/uro_check with storage macroengine:engine _uro.src[0] +data remove storage macroengine:engine _uro.src[0] +execute if data storage macroengine:engine _uro.src[0] run function macroengine:core/internal/events/uro_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action.mcfunction new file mode 100644 index 00000000..158b10b0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/internal/gate/run_action +# Runs the function stored in pending_gate.action, passing pending_gate.args +# (if any) as macro arguments. Called with +# 'with storage macroengine:engine pending_gate' so $(action) resolves to the +# action string set by gate/request. +# +# INPUT (macro, from pending_gate compound): +# $(action) -> function id to run, e.g. "macroengine:core/internal/cmd/ban_apply" +# args -> (not a macro var — read directly from storage below) +# optional compound of args passed to $(action) + +execute if data storage macroengine:engine pending_gate.args run return run function macroengine:core/internal/gate/run_action_with_args with storage macroengine:engine pending_gate + +$function $(action) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action_with_args.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action_with_args.mcfunction new file mode 100644 index 00000000..bbe446ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/run_action_with_args.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/internal/gate/run_action_with_args +# Same as run_action but the target function also needs macro args from +# pending_gate.args (e.g. ban/kick need player+reason). Runs $(action) +# with storage pointed at pending_gate.args so its own $(player)/$(reason) +# macros resolve. +# +# INPUT (macro, from pending_gate compound): +# $(action) -> function id to run + +$function $(action) with storage macroengine:engine pending_gate.args diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/toggle/disable_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/toggle/disable_apply.mcfunction new file mode 100644 index 00000000..93cac73e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/gate/toggle/disable_apply.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/internal/gate/toggle/disable_apply +# Runs after gate confirmation. Actually flips the sandbox flag off. + +data modify storage macroengine:engine sandbox set value 0b +data modify storage macroengine:engine config.sandbox set value 0b +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Gate confirmations disabled. Dangerous commands will run immediately.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/load/force_apply.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/load/force_apply.mcfunction new file mode 100644 index 00000000..52bd0ef2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/load/force_apply.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/internal/load/force_apply +# Runs after gate confirmation (or immediately if gates are disabled). +# Actually performs the force re-init: drops the loaded flag and +# re-runs the full init pipeline, discarding any live engine state +# that macroengine_load:load/all's "unless data" guards would otherwise preserve. + +data remove storage macroengine:engine global.loaded +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Force re-init...","color":"yellow"}] +function macroengine_load:load/all diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/assign_pid.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/assign_pid.mcfunction new file mode 100644 index 00000000..de3c2969 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/assign_pid.mcfunction @@ -0,0 +1,10 @@ +execute store result score $next_pid macroengine.tmp run data get storage macroengine:engine _pid_seq + +scoreboard players add $next_pid macroengine.tmp 1 + +$execute store result storage macroengine:engine player_pids.$(player) int 1 run scoreboard players get $next_pid macroengine.tmp +$scoreboard players operation @a[name=$(player),limit=1] macroengine.pid = $next_pid macroengine.tmp + +execute store result storage macroengine:engine _pid_seq int 1 run scoreboard players get $next_pid macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/internal/assign_pid ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → pid=","color":"#555555"},{"score":{"name":"$next_pid","objective":"macroengine.tmp"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_from_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_from_name.mcfunction new file mode 100644 index 00000000..9856ca52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_from_name.mcfunction @@ -0,0 +1,8 @@ +# macroengine:player/internal/init_from_name [MACRO] +# Relay: storage macroengine:names temp {NAME:""} → macroengine:player/init +# Called by on_player_join after macroengine:player/get_name populates macroengine:names temp. +# Bridges the NAME key to the player key expected by player/init. + +$data modify storage macroengine:engine _pid_init_tmp set value {player:"$(NAME)"} +function macroengine:player/init with storage macroengine:engine _pid_init_tmp +data remove storage macroengine:engine _pid_init_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_online.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_online.mcfunction new file mode 100644 index 00000000..ed11fc0a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/init_online.mcfunction @@ -0,0 +1,7 @@ +# macroengine:player/internal/init_online +# @s = online player +# Called once per online player during load to ensure pid is assigned. +# Uses get_name to fetch the display name, then delegates to init_from_nmacroengine. + +function macroengine:player/get_name +function macroengine:core/internal/player/init_from_name with storage macroengine:names temp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/stamp_join.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/stamp_join.mcfunction new file mode 100644 index 00000000..56ee967e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/player/stamp_join.mcfunction @@ -0,0 +1 @@ +$execute store result storage macroengine:engine players.$(player).joined_tick int 1 run scoreboard players get $epoch macroengine.time diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/fire_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/fire_entry.mcfunction new file mode 100644 index 00000000..c34d5a83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/fire_entry.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/cb/internal/fire_entry +# Fires the command in _cb_entry via command block. +# Reuses api/cb/internal machinery. + +# Copy to input storage, reuse exec path +data modify storage macroengine:input cb set from storage macroengine:engine _cb_entry +function macroengine:core/internal/api/cb/exec with storage macroengine:input cb +data remove storage macroengine:input cb diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/process_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/process_step.mcfunction new file mode 100644 index 00000000..298b3720 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/process_step.mcfunction @@ -0,0 +1,22 @@ +# macroengine:systems/cb/internal/process_step +# Pops first entry from _cb_work. +# ticks_left == 1 → fire now. +# ticks_left > 1 → decrement and return to cb_queue. + +# Pop first entry +data modify storage macroengine:engine _cb_entry set from storage macroengine:engine _cb_work[0] +data remove storage macroengine:engine _cb_work[0] + +# Decrement ticks_left +execute store result score #cb_tl macroengine.tmp run data get storage macroengine:engine _cb_entry.ticks_left +scoreboard players remove #cb_tl macroengine.tmp 1 + +execute if score #cb_tl macroengine.tmp matches ..0 run function macroengine:core/internal/systems/cb/fire_entry + +execute unless score #cb_tl macroengine.tmp matches ..0 run execute store result storage macroengine:engine _cb_entry.ticks_left int 1 run scoreboard players get #cb_tl macroengine.tmp +execute unless score #cb_tl macroengine.tmp matches ..0 run data modify storage macroengine:engine cb_queue append from storage macroengine:engine _cb_entry + +data remove storage macroengine:engine _cb_entry + +# Recurse if more entries remain +execute if data storage macroengine:engine _cb_work[0] run function macroengine:core/internal/systems/cb/process_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/queue_push.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/queue_push.mcfunction new file mode 100644 index 00000000..f4e5d4c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/queue_push.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/cb/internal/queue_push +# Macro: receives {cmd, delay, x, y, z} +# Appends an entry to macroengine:engine cb_queue list. +# Each entry: {cmd, delay, x, y, z, ticks_left} +# ticks_left is decremented each tick; fires when it hits 0. + +$data modify storage macroengine:engine cb_queue append value {cmd:"$(cmd)",x:$(x),y:$(y),z:$(z),ticks_left:$(delay)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand.mcfunction new file mode 100644 index 00000000..40093098 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/cb/internal/seq_expand +# Converts cb.cmds list + interval into individual cb_queue entries. +# Each entry gets ticks_left = (index + 1) * interval. + +# Init sequence state +data modify storage macroengine:engine _cb_seq set from storage macroengine:input cb +execute store result score #cb_seq_idx macroengine.tmp run data get storage macroengine:engine _cb_seq.interval +scoreboard players set #cb_seq_step macroengine.tmp 0 + +execute if data storage macroengine:engine _cb_seq.cmds[0] run function macroengine:core/internal/systems/cb/seq_expand_loop +data remove storage macroengine:engine _cb_seq diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand_loop.mcfunction new file mode 100644 index 00000000..3a70e29d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_expand_loop.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/cb/internal/seq_expand_loop +# Pops first cmd from _cb_seq.cmds, computes its delay, pushes to queue. + +# Increment step counter and compute cumulative delay +scoreboard players add #cb_seq_step macroengine.tmp 1 +execute store result score #cb_delay macroengine.tmp run scoreboard players get #cb_seq_step macroengine.tmp +scoreboard players operation #cb_delay macroengine.tmp *= #cb_seq_idx macroengine.tmp + +# Pop cmd from list into scratch +data modify storage macroengine:engine _cb_seq_cmd set from storage macroengine:engine _cb_seq.cmds[0] +data remove storage macroengine:engine _cb_seq.cmds[0] + +# Write queue entry +function macroengine:core/internal/systems/cb/seq_push_entry + +# Continue if more cmds remain +execute if data storage macroengine:engine _cb_seq.cmds[0] run function macroengine:core/internal/systems/cb/seq_expand_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_push_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_push_entry.mcfunction new file mode 100644 index 00000000..5d7be3bd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/seq_push_entry.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/cb/internal/seq_push_entry +# Pushes current sequence step as a cb_queue entry. +# Reads: _cb_seq_cmd (string), _cb_delay (score), _cb_seq.{x,y,z} + +# Build entry storage +data modify storage macroengine:engine _cb_seq_entry set from storage macroengine:engine _cb_seq +data remove storage macroengine:engine _cb_seq_entry.cmds +data remove storage macroengine:engine _cb_seq_entry.interval +data modify storage macroengine:engine _cb_seq_entry.cmd set from storage macroengine:engine _cb_seq_cmd +execute store result storage macroengine:engine _cb_seq_entry.ticks_left int 1 run scoreboard players get #cb_delay macroengine.tmp + +data modify storage macroengine:engine cb_queue append from storage macroengine:engine _cb_seq_entry +data remove storage macroengine:engine _cb_seq_entry +data remove storage macroengine:engine _cb_seq_cmd diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/tick.mcfunction new file mode 100644 index 00000000..b7e9b9b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/cb/tick.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/cb/internal/tick +# Called each tick when cb_queue is non-empty. +# Processes all entries: decrements ticks_left, fires those that reach 0. + +# Copy queue to work buffer, clear queue, rebuild after processing +data modify storage macroengine:engine _cb_work set from storage macroengine:engine cb_queue +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] + +execute if data storage macroengine:engine _cb_work[0] run function macroengine:core/internal/systems/cb/process_step +data remove storage macroengine:engine _cb_work diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/lerp_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/lerp_exec.mcfunction new file mode 100644 index 00000000..bf8b4a0c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/lerp_exec.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/color/internal/lerp_exec [MACRO] +# Internal — called by api/color/lerp. +# Reads macroengine:engine color.gradients.$(gradient)[$(step)] into output. +$data modify storage macroengine:output result set from storage macroengine:engine color.gradients.$(gradient)[$(step)] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/resolve_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/resolve_exec.mcfunction new file mode 100644 index 00000000..408ffb62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/resolve_exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/color/internal/resolve_exec [MACRO] +# Called with storage macroengine:engine color {} — reads palette.$(color). +# If the key exists in palette, copies it to macroengine:output result. +# Uses the outer $(color) macro arg captured by api/color/resolve. +# NOTE: This file is called with `with storage macroengine:engine color {}` +# so macro args come from the color compound (which contains "palette"). +# The $(color) arg is forwarded from the parent macro frame. +$execute if data storage macroengine:engine color.palette.$(color) run data modify storage macroengine:output result set from storage macroengine:engine color.palette.$(color) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/validate_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/validate_exec.mcfunction new file mode 100644 index 00000000..1b8f8fc8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/color/validate_exec.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/color/internal/validate_exec [MACRO] +# Internal — called by api/color/validate. +# Sets macroengine:output result to 1b if $(color) is a known named color, +# or if it begins with "#" (hex shorthand detection). +$execute if data storage macroengine:engine color._names.$(color) run data modify storage macroengine:output result set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/check_region.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/check_region.mcfunction new file mode 100644 index 00000000..116c1b1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/check_region.mcfunction @@ -0,0 +1,54 @@ +# macroengine:systems/geo/region_watch/internal/check_region [MACRO] +# INPUT (from _rw_cur): $(id), $(x1), $(y1), $(z1), $(x2), $(y2), $(z2) +# @s = the player being checked +# Player coordinates: macroengine:engine _rw_player.{x,y,z} + +# --- AABB test: return early if outside any axis --- +execute store result score $rwx macroengine.tmp run data get storage macroengine:engine _rw_player.x +execute store result score $rwy macroengine.tmp run data get storage macroengine:engine _rw_player.y +execute store result score $rwz macroengine.tmp run data get storage macroengine:engine _rw_player.z + +$scoreboard players set $rwx1 macroengine.tmp $(x1) +$scoreboard players set $rwy1 macroengine.tmp $(y1) +$scoreboard players set $rwz1 macroengine.tmp $(z1) +$scoreboard players set $rwx2 macroengine.tmp $(x2) +$scoreboard players set $rwy2 macroengine.tmp $(y2) +$scoreboard players set $rwz2 macroengine.tmp $(z2) + +# min/max normalize +execute if score $rwx1 macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwx1 macroengine.tmp +execute if score $rwx1 macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwx1 macroengine.tmp = $rwx2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players operation $rwx2 macroengine.tmp = $rwt macroengine.tmp +execute if score $rwy1 macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwy1 macroengine.tmp +execute if score $rwy1 macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwy1 macroengine.tmp = $rwy2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players operation $rwy2 macroengine.tmp = $rwt macroengine.tmp +execute if score $rwz1 macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwt macroengine.tmp = $rwz1 macroengine.tmp +execute if score $rwz1 macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwz1 macroengine.tmp = $rwz2 macroengine.tmp +execute if score $rwt macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players operation $rwz2 macroengine.tmp = $rwt macroengine.tmp + +# Inside AABB? 1=inside, 0=outside +scoreboard players set $rw_inside macroengine.tmp 1 +execute if score $rwx macroengine.tmp < $rwx1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwx macroengine.tmp > $rwx2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwy macroengine.tmp < $rwy1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwy macroengine.tmp > $rwy2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwz macroengine.tmp < $rwz1 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 +execute if score $rwz macroengine.tmp > $rwz2 macroengine.tmp run scoreboard players set $rw_inside macroengine.tmp 0 + +# --- State transition --- +# Was inside and still inside → do nothing +$execute if score $rw_inside macroengine.tmp matches 1 run execute if entity @s[tag=rw.$(id)] run return 0 +# Was outside and still outside → do nothing +$execute if score $rw_inside macroengine.tmp matches 0 run execute unless entity @s[tag=rw.$(id)] run return 0 + +# --- on_enter: was outside, now inside --- +$execute if score $rw_inside macroengine.tmp matches 1 run tag @s add rw.$(id) +# DOT NOTATION: _rw_cur.on_enter (space-separated subpath is invalid) +execute if score $rw_inside macroengine.tmp matches 1 run execute if data storage macroengine:engine _rw_cur.on_enter run function macroengine:core/internal/systems/geo/region_watch/fire_enter with storage macroengine:engine _rw_cur +execute if score $rw_inside macroengine.tmp matches 1 run execute if data storage macroengine:engine _rw_cur.on_enter_cmd run function macroengine:core/internal/systems/geo/region_watch/fire_enter_cmd with storage macroengine:engine _rw_cur +execute if score $rw_inside macroengine.tmp matches 1 run return 0 + +# --- on_leave: was inside, now outside --- +$tag @s remove rw.$(id) +execute if data storage macroengine:engine _rw_cur.on_leave run function macroengine:core/internal/systems/geo/region_watch/fire_leave with storage macroengine:engine _rw_cur +execute if data storage macroengine:engine _rw_cur.on_leave_cmd run function macroengine:core/internal/systems/geo/region_watch/fire_leave_cmd with storage macroengine:engine _rw_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter.mcfunction new file mode 100644 index 00000000..37079234 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/geo/region_watch/internal/fire_enter [MACRO] +# INPUT: $(on_enter) — from _rw_cur; called ONLY when on_enter field exists. +# @s = player entering the region + +$data modify storage macroengine:engine _dispatch.func set value "$(on_enter)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction new file mode 100644 index 00000000..7883d98b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_enter_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/fire_enter_cmd [MACRO] +# INPUT: $(on_enter_cmd) — from _rw_cur; called ONLY when on_enter_cmd field exists. +# @s = player entering the region + +$$(on_enter_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave.mcfunction new file mode 100644 index 00000000..871c71fd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/geo/region_watch/internal/fire_leave [MACRO] +# INPUT: $(on_leave) — from _rw_cur; called ONLY when on_leave field exists. +# @s = player leaving the region + +$data modify storage macroengine:engine _dispatch.func set value "$(on_leave)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction new file mode 100644 index 00000000..38b9d3f1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/fire_leave_cmd.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/fire_leave_cmd [MACRO] +# INPUT: $(on_leave_cmd) — from _rw_cur; called ONLY when on_leave_cmd field exists. +# @s = player leaving the region + +$$(on_leave_cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/player_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/player_scan.mcfunction new file mode 100644 index 00000000..2d83f319 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/player_scan.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/geo/region_watch/internal/player_scan +# @s = the player to check +# Reads coordinates to storage, then iterates all regions. + +data modify storage macroengine:engine _rw_iter set from storage macroengine:engine region_watches + +# Write player coordinates to _rw_player (int truncation, consistent with geo module) +execute store result storage macroengine:engine _rw_player.x int 1 run data get entity @s Pos[0] +execute store result storage macroengine:engine _rw_player.y int 1 run data get entity @s Pos[1] +execute store result storage macroengine:engine _rw_player.z int 1 run data get entity @s Pos[2] + +function macroengine:core/internal/systems/geo/region_watch/region_loop + +data remove storage macroengine:engine _rw_iter +data remove storage macroengine:engine _rw_player diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/region_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/region_loop.mcfunction new file mode 100644 index 00000000..5c39630a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/region_loop.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/region_loop +# @s = the player being checked +# Consumes _rw_iter list, calls check_region for each region. + +execute unless data storage macroengine:engine _rw_iter[0] run return 0 + +data modify storage macroengine:engine _rw_cur set from storage macroengine:engine _rw_iter[0] +data remove storage macroengine:engine _rw_iter[0] + +function macroengine:core/internal/systems/geo/region_watch/check_region with storage macroengine:engine _rw_cur + +function macroengine:core/internal/systems/geo/region_watch/region_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/register_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/register_exec.mcfunction new file mode 100644 index 00000000..4752096b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/register_exec.mcfunction @@ -0,0 +1,30 @@ +# macroengine:systems/geo/region_watch/internal/register_exec [MACRO] +# INPUT: $(id), $(x1), $(y1), $(z1), $(x2), $(y2), $(z2) +# $(on_enter), $(on_leave) — opsiyonel func +# $(on_enter_cmd), $(on_leave_cmd) — opsiyonel cmd +# +# region_watches stored as list: [{id,x1,...,on_enter,...}, ...] +# If same id exists, filter it out first, then append. + +# Varsa sil (unregister_filter pattern) +data modify storage macroengine:engine _rw_unbind_id set from storage macroengine:input id +data modify storage macroengine:engine _rw_new set value [] +data modify storage macroengine:engine _rw_src set from storage macroengine:engine region_watches +function macroengine:core/internal/systems/geo/region_watch/unregister_filter +data modify storage macroengine:engine region_watches set from storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_src +data remove storage macroengine:engine _rw_unbind_id + +# Create new record and append +$data modify storage macroengine:engine region_watches append value {id:"$(id)",x1:$(x1),y1:$(y1),z1:$(z1),x2:$(x2),y2:$(y2),z2:$(z2)} + +# on_enter / on_leave func — last appended element [-1] +execute if data storage macroengine:input on_enter run data modify storage macroengine:engine region_watches[-1].on_enter set from storage macroengine:input on_enter +execute if data storage macroengine:input on_leave run data modify storage macroengine:engine region_watches[-1].on_leave set from storage macroengine:input on_leave + +# on_enter_cmd / on_leave_cmd +execute if data storage macroengine:input on_enter_cmd run data modify storage macroengine:engine region_watches[-1].on_enter_cmd set from storage macroengine:input on_enter_cmd +execute if data storage macroengine:input on_leave_cmd run data modify storage macroengine:engine region_watches[-1].on_leave_cmd set from storage macroengine:input on_leave_cmd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/region_watch/register ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" ($(x1),$(y1),$(z1))→($(x2),$(y2),$(z2))","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/tick_scan.mcfunction new file mode 100644 index 00000000..92e7ec33 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/tick_scan.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/tick_scan +# Called directly from core/tick/queue_systems.mcfunction. +# If region_watches is non-empty, checks all regions for each player. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/geo/false +execute unless data storage macroengine:engine {modules:{geo:1b}} run return 0 + +execute unless data storage macroengine:engine region_watches run return 0 + +data modify storage macroengine:engine _rw_watch_list set from storage macroengine:engine region_watches +execute as @a run function macroengine:core/internal/systems/geo/region_watch/player_scan +data remove storage macroengine:engine _rw_watch_list diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_check.mcfunction new file mode 100644 index 00000000..35c6ef48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_check.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/geo/region_watch/internal/unregister_check [MACRO] +# INPUT: $(id) — _rw_cur'dan beslenir +# If id does not match, add to _rw_new (keep). + +$execute unless data storage macroengine:engine {_rw_unbind_id:"$(id)"} run data modify storage macroengine:engine _rw_new append from storage macroengine:engine _rw_cur diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_exec.mcfunction new file mode 100644 index 00000000..6dac8cac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_exec.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/geo/region_watch/internal/unregister_exec [MACRO] +# INPUT: $(id) +# region_watches in list format — always run filter, +# if id not found, list remains unchanged. + +execute unless data storage macroengine:engine region_watches run return 0 + +data modify storage macroengine:engine _rw_unbind_id set from storage macroengine:input id +data modify storage macroengine:engine _rw_new set value [] +data modify storage macroengine:engine _rw_src set from storage macroengine:engine region_watches +function macroengine:core/internal/systems/geo/region_watch/unregister_filter +data modify storage macroengine:engine region_watches set from storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_new +data remove storage macroengine:engine _rw_src +data remove storage macroengine:engine _rw_unbind_id + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/region_watch/unregister ","color":"aqua"},{"text":"$(id)","color":"white"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_filter.mcfunction new file mode 100644 index 00000000..3105c7cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/geo/region_watch/unregister_filter.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/geo/region_watch/internal/unregister_filter +# Iterates _rw_src list. +# Copies entries whose id does not match _rw_unbind_id to _rw_new. + +execute unless data storage macroengine:engine _rw_src[0] run return 0 + +data modify storage macroengine:engine _rw_cur set from storage macroengine:engine _rw_src[0] +data remove storage macroengine:engine _rw_src[0] + +function macroengine:core/internal/systems/geo/region_watch/unregister_check with storage macroengine:engine _rw_cur + +function macroengine:core/internal/systems/geo/region_watch/unregister_filter \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/bind_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/bind_exec.mcfunction new file mode 100644 index 00000000..cb51de52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/bind_exec.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/hook/internal/bind_exec [MACRO] +# INPUT: $(event) - required +# macroengine:input.func OR macroengine:input.cmd - one must exist +# +# Two-step: append a base compound with just event, then set func or cmd from storage. +# This avoids requiring both $(func) and $(cmd) to be present simultaneously. + +$data modify storage macroengine:engine hook_binds append value {event:"$(event)"} +execute if data storage macroengine:input func run data modify storage macroengine:engine hook_binds[-1].func set from storage macroengine:input func +execute unless data storage macroengine:input func run data modify storage macroengine:engine hook_binds[-1].cmd set from storage macroengine:input cmd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/bind ","color":"aqua"},{"text":"$(event)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_bind.mcfunction new file mode 100644 index 00000000..ea255b6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_bind.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/hook/internal/check_bind [MACRO] +# INPUT: $(event) - event field of the bind in _hook_ctx +# If it matches _hook_fire_event, run func or cmd. +# @s = the triggering player + +$execute if data storage macroengine:engine {_hook_fire_event:"$(event)"} if data storage macroengine:engine _hook_ctx.func run function macroengine:core/internal/systems/hook/exec with storage macroengine:engine _hook_ctx +$execute if data storage macroengine:engine {_hook_fire_event:"$(event)"} unless data storage macroengine:engine _hook_ctx.func run function macroengine:core/internal/systems/hook/run_cmd with storage macroengine:engine _hook_ctx diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_block_break.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_block_break.mcfunction new file mode 100644 index 00000000..d1371cb7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_block_break.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/hook/internal/check_block_break +# @s = player being checked +# +# METHOD: +# item_durability_changed advancement -> macroengine.hook_tool_used score increments. +# tick_scan calls this per player; fires on_block_break if score >= 1. +# +# KNOWN LIMITATION: +# Hand-breaking (cobweb, snow, leaves) is not detectable in 1.20.3–26.1+ +# via advancement triggers. Tool-based breaking only. +# Mob hits also trigger item_durability_changed (sword, axe, etc.). +execute unless score @s macroengine.hook_tool_used matches 1.. run return 0 +function macroengine:core/internal/systems/hook/on_block_break +scoreboard players set @s macroengine.hook_tool_used 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_level_up.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_level_up.mcfunction new file mode 100644 index 00000000..342f7d48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/check_level_up.mcfunction @@ -0,0 +1,4 @@ +execute store result score $hlvl_cur macroengine.tmp run data get entity @s XpLevel +execute if score @s macroengine.hook_lvl < $hlvl_cur macroengine.tmp run scoreboard players operation @s macroengine.hook_lvl_new = $hlvl_cur macroengine.tmp +execute if score @s macroengine.hook_lvl < $hlvl_cur macroengine.tmp run function macroengine:core/internal/systems/hook/on_level_up +execute store result score @s macroengine.hook_lvl run scoreboard players get $hlvl_cur macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/dispatch.mcfunction new file mode 100644 index 00000000..1ede3ae5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/dispatch.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/hook/internal/dispatch +# Iterates _hook_iter list, runs matching events. + +execute unless data storage macroengine:engine _hook_iter[0] run return 0 + +data modify storage macroengine:engine _hook_ctx set from storage macroengine:engine _hook_iter[0] +data remove storage macroengine:engine _hook_iter[0] + +function macroengine:core/internal/systems/hook/check_bind with storage macroengine:engine _hook_ctx + +function macroengine:core/internal/systems/hook/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/exec.mcfunction new file mode 100644 index 00000000..60b86caf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/internal/exec [MACRO] +# INPUT: $(func) — guaranteed present (check_bind ensures func exists) +# @s = the triggering player + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/fire.mcfunction new file mode 100644 index 00000000..d867a0b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/fire.mcfunction @@ -0,0 +1,12 @@ +# macroengine:systems/hook/internal/fire [MACRO] +# INPUT: $(event) — event name to fire +# @s = the triggering player +# Copies hook_binds list and dispatches it. + +$data modify storage macroengine:engine _hook_fire_event set value "$(event)" +data modify storage macroengine:engine _hook_iter set from storage macroengine:engine hook_binds + +execute if data storage macroengine:engine _hook_iter run function macroengine:core/internal/systems/hook/dispatch + +data remove storage macroengine:engine _hook_iter +data remove storage macroengine:engine _hook_fire_event diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_advancement_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_advancement_fire.mcfunction new file mode 100644 index 00000000..d519965c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_advancement_fire.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/hook/internal/on_advancement_fire [MACRO] +# INPUT: $(advancement) +# @s = player who earned the advancement + +$data modify storage macroengine:engine _hook_fire_tmp set value {event:"advancement:$(advancement)"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/on_advancement_fire ","color":"aqua"},{"text":"advancement:$(advancement)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_break.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_break.mcfunction new file mode 100644 index 00000000..0aaba8d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_break.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_block_break +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"block_break"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_place.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_place.mcfunction new file mode 100644 index 00000000..d43fe7b5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_block_place.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_block_place +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"block_place"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_dimension_change.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_dimension_change.mcfunction new file mode 100644 index 00000000..3088b5d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_dimension_change.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_dimension_change +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"dimension_change"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_drop.mcfunction new file mode 100644 index 00000000..0e30cd48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_drop.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_drop +data modify storage macroengine:engine _hook_fire_tmp set value {event:"drop_item"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat.mcfunction new file mode 100644 index 00000000..6162521d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_eat +# @s = the eating player +scoreboard players add @s macroengine.hook_eat 1 +advancement revoke @s only macroengine:systems/hook/eat_food diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat_fire.mcfunction new file mode 100644 index 00000000..3917d3a6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_eat_fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_eat_fire +# @s = the eating player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"eat"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_start.mcfunction new file mode 100644 index 00000000..57d7a94c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_elytra_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"elytra_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_stop.mcfunction new file mode 100644 index 00000000..e25ffeca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_elytra_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_elytra_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"elytra_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_enchant.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_enchant.mcfunction new file mode 100644 index 00000000..ab2c36ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_enchant.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_enchant +# Bridge: #macroengine_player:v1/enchanted → #macroengine:events/on_enchant +# Executor: @s = player who enchanted +function #macroengine:events/on_enchant diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_entity_kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_entity_kill.mcfunction new file mode 100644 index 00000000..b2580811 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_entity_kill.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_entity_kill +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"entity_kill"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_caught.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_caught.mcfunction new file mode 100644 index 00000000..9881aadb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_caught.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_fish_caught +# @s = the fishing player +scoreboard players add @s macroengine.hook_fish 1 +advancement revoke @s only macroengine:systems/hook/fish_caught diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_fire.mcfunction new file mode 100644 index 00000000..2a0054bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_fish_fire.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_fish_fire +# @s = the fishing player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"fish_caught"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_hero_of_the_village.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_hero_of_the_village.mcfunction new file mode 100644 index 00000000..40144786 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_hero_of_the_village.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_hero_of_the_village +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"hero_of_the_village"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_anvil.mcfunction new file mode 100644 index 00000000..de9f5f58 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_anvil.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_interact_anvil +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"interact_anvil"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_shulker_box.mcfunction new file mode 100644 index 00000000..74dcfd48 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_interact_shulker_box.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_interact_shulker_box +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"interact_shulker_box"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_item_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_item_use.mcfunction new file mode 100644 index 00000000..4b27ca85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_item_use.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_item_use +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"item_use"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_jump.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_jump.mcfunction new file mode 100644 index 00000000..f1b74302 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_jump.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_jump +# Bridge: #macroengine_player:v1/jumped → #macroengine:events/on_jump +# Executor: @s = jumping player +function #macroengine:events/on_jump diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_killed_by_arrow.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_killed_by_arrow.mcfunction new file mode 100644 index 00000000..92711686 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_killed_by_arrow.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_killed_by_arrow +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"killed_by_arrow"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_lc.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_lc.mcfunction new file mode 100644 index 00000000..89001c0d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_lc.mcfunction @@ -0,0 +1 @@ +function #macroengine:events/on_lc \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_level_up.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_level_up.mcfunction new file mode 100644 index 00000000..28843c52 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_level_up.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_level_up +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"level_up"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_chest.mcfunction new file mode 100644 index 00000000..dd24712b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_chest.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_open_chest +data modify storage macroengine:engine _hook_fire_tmp set value {event:"open_chest"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_gui.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_gui.mcfunction new file mode 100644 index 00000000..0c48a0ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_open_gui.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_open_gui +# Bridge: #macroengine_player:v1/open_gui → #macroengine:events/on_open_gui +# Executor: @s = player who opened a GUI block +function #macroengine:events/on_open_gui diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_death.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_death.mcfunction new file mode 100644 index 00000000..64bc9f1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_death.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/on_player_death +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_death"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_death diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_join.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_join.mcfunction new file mode 100644 index 00000000..b0a53430 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_join.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/on_player_join +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_join"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_join + +# Initialize player data and assign macroengine.pid +# get_name populates macroengine:names temp.NAME; init_from_name relays it to player/init +function macroengine:player/get_name +function macroengine:core/internal/player/init_from_name with storage macroengine:names temp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_respawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_respawn.mcfunction new file mode 100644 index 00000000..ddaaf0f5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_player_respawn.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/on_player_respawn +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"player_respawn"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Event bus +function #macroengine:events/on_respawn diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_rc.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_rc.mcfunction new file mode 100644 index 00000000..bc67e0e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_rc.mcfunction @@ -0,0 +1 @@ +function #macroengine:events/on_rc \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_start.mcfunction new file mode 100644 index 00000000..67a33ed9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sneak_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sneak_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_stop.mcfunction new file mode 100644 index 00000000..d847b735 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sneak_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sneak_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sneak_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_start.mcfunction new file mode 100644 index 00000000..dc5932a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_start.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sprint_start +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sprint_start"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_stop.mcfunction new file mode 100644 index 00000000..58373d34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_sprint_stop.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_sprint_stop +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"sprint_stop"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_target_hit.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_target_hit.mcfunction new file mode 100644 index 00000000..4a184458 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_target_hit.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/internal/on_target_hit +data modify storage macroengine:engine _hook_fire_tmp set value {event:"target_hit"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_trade.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_trade.mcfunction new file mode 100644 index 00000000..2d97754b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_trade.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_trade +# @s = the triggering player +data modify storage macroengine:engine _hook_fire_tmp set value {event:"trade"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_using_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_using_item.mcfunction new file mode 100644 index 00000000..43279eb8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/on_using_item.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/on_using_item +# @s = player who triggered the event +data modify storage macroengine:engine _hook_fire_tmp set value {event:"using_item"} +function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/run_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/run_cmd.mcfunction new file mode 100644 index 00000000..17a43689 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/run_cmd.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/hook/internal/run_cmd [MACRO] +# INPUT: $(cmd) +# @s = the triggering player + +# SECURITY: central gate + +execute if score #macroengine.log_level macroengine.log_level matches 4.. run tellraw @a[tag=macroengine.debug] ["",{"text":"[Hook] ","color":"aqua"},{"selector":"@s","color":"gold"},{"text":" cmd executed","color":"#555555"}] +$$(cmd) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/tick_scan.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/tick_scan.mcfunction new file mode 100644 index 00000000..f3b88195 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/tick_scan.mcfunction @@ -0,0 +1,101 @@ +# macroengine:systems/hook/internal/tick_scan +# Her tick'te hook event'lerini tespit eder. +# Runs only if hook_binds is non-empty. + +# Module toggle guard — skips this module when disabled via macroengine:api/toggle/hook/false +execute unless data storage macroengine:engine {modules:{hook:1b}} run return 0 + +execute unless data storage macroengine:engine hook_binds[0] run return 0 + +# player_join — delegated to #macroengine_player:v1/joined (fired by player_action when player_action.join >= 1) +# Only score management remains here to prevent double-fire +execute as @a run scoreboard players set @s macroengine.hook_online 1 + +# player_death — delegated to #macroengine_player:v1/died (fired by player_action when player_action.death >= 1) +# Only score reset remains here to prevent double-fire +execute as @a[scores={macroengine.hook_deaths=1..}] run scoreboard players set @s macroengine.hook_deaths 0 + +# player_respawn — was dead (dead flag set) but alive again +execute as @a[tag=macroengine.hook_dead,nbt={DeathTime:0s}] run function macroengine:core/internal/systems/hook/on_player_respawn +execute as @a[tag=macroengine.hook_dead,nbt={DeathTime:0s}] run tag @s remove macroengine.hook_dead +execute as @a[nbt={DeathTime:1s}] run tag @s add macroengine.hook_dead + +# level_up — XP level increase +execute as @a run function macroengine:core/internal/systems/hook/check_level_up + +# block_place — advancement-based, placed_blocks score increase +execute as @a[scores={macroengine.hook_placed=1..}] run function macroengine:core/internal/systems/hook/on_block_place +execute as @a[scores={macroengine.hook_placed=1..}] run scoreboard players set @s macroengine.hook_placed 0 + +# block_break — statistic-based (no advancement trigger in 1.20.3–26.1+) +execute as @a run function macroengine:core/internal/systems/hook/check_block_break + +# item_use — advancement-based, score increase +execute as @a[scores={macroengine.hook_item_used=1..}] run function macroengine:core/internal/systems/hook/on_item_use +execute as @a[scores={macroengine.hook_item_used=1..}] run scoreboard players set @s macroengine.hook_item_used 0 + + +# entity_kill — advancement-based, score increase +execute as @a[scores={macroengine.hook_entity_killed=1..}] run function macroengine:core/internal/systems/hook/on_entity_kill +execute as @a[scores={macroengine.hook_entity_killed=1..}] run scoreboard players set @s macroengine.hook_entity_killed 0 + +# using_item — item_durability_changed advancement-based +execute as @a[scores={macroengine.hook_using_item=1..}] run function macroengine:core/internal/systems/hook/on_using_item +execute as @a[scores={macroengine.hook_using_item=1..}] run scoreboard players set @s macroengine.hook_using_item 0 + +# killed_by_arrow — entity_killed_player + killing_blow:arrow advancement-based +execute as @a[scores={macroengine.hook_killed_by_arrow=1..}] run function macroengine:core/internal/systems/hook/on_killed_by_arrow +execute as @a[scores={macroengine.hook_killed_by_arrow=1..}] run scoreboard players set @s macroengine.hook_killed_by_arrow 0 + +# hero_of_the_village — raid victory advancement-based +execute as @a[scores={macroengine.hook_hero_of_the_village=1..}] run function macroengine:core/internal/systems/hook/on_hero_of_the_village +execute as @a[scores={macroengine.hook_hero_of_the_village=1..}] run scoreboard players set @s macroengine.hook_hero_of_the_village 0 + +# sneak_start / sneak_stop — predicate-based +execute as @a[scores={macroengine.hook_sneak=..0},predicate=macroengine:is_sneaking] run function macroengine:core/internal/systems/hook/on_sneak_start +execute as @a[scores={macroengine.hook_sneak=1},predicate=!macroengine:is_sneaking] run function macroengine:core/internal/systems/hook/on_sneak_stop +execute as @a[predicate=macroengine:is_sneaking] run scoreboard players set @s macroengine.hook_sneak 1 +execute as @a[predicate=!macroengine:is_sneaking] run scoreboard players set @s macroengine.hook_sneak 0 + +# sprint_start / sprint_stop — predicate-based +execute as @a[scores={macroengine.hook_sprint=..0},predicate=macroengine:is_sprinting] run function macroengine:core/internal/systems/hook/on_sprint_start +execute as @a[scores={macroengine.hook_sprint=1},predicate=!macroengine:is_sprinting] run function macroengine:core/internal/systems/hook/on_sprint_stop +execute as @a[predicate=macroengine:is_sprinting] run scoreboard players set @s macroengine.hook_sprint 1 +execute as @a[predicate=!macroengine:is_sprinting] run scoreboard players set @s macroengine.hook_sprint 0 + +# elytra_start / elytra_stop — predicate-based +execute as @a[scores={macroengine.hook_elytra=..0},predicate=macroengine:is_gliding] run function macroengine:core/internal/systems/hook/on_elytra_start +execute as @a[scores={macroengine.hook_elytra=1},predicate=!macroengine:is_gliding] run function macroengine:core/internal/systems/hook/on_elytra_stop +execute as @a[predicate=macroengine:is_gliding] run scoreboard players set @s macroengine.hook_elytra 1 +execute as @a[predicate=!macroengine:is_gliding] run scoreboard players set @s macroengine.hook_elytra 0 + + +execute as @a[scores={macroengine.hook_dim_changed=1..}] run function macroengine:core/internal/systems/hook/on_dimension_change +execute as @a[scores={macroengine.hook_dim_changed=1..}] run scoreboard players set @s macroengine.hook_dim_changed 0 + +execute as @a[scores={macroengine.hook_traded=1..}] run function macroengine:core/internal/systems/hook/on_trade +execute as @a[scores={macroengine.hook_traded=1..}] run scoreboard players set @s macroengine.hook_traded 0 + +# jumped — delegated to #macroengine_player:v1/jumped (fired by player_action when player_action.jump >= 1) +# Only score reset remains here to prevent double-fire +execute as @a[scores={macroengine.hook_jump=1..}] run scoreboard players reset @s macroengine.hook_jump + +# open_chest — minecraft.custom:minecraft.open_chest stat +execute as @a[scores={macroengine.hook_open_chest=1..}] run function macroengine:core/internal/systems/hook/on_open_chest +execute as @a[scores={macroengine.hook_open_chest=1..}] run scoreboard players reset @s macroengine.hook_open_chest + +# drop_item — minecraft.custom:minecraft.drop stat +execute as @a[scores={macroengine.hook_drop=1..}] run function macroengine:core/internal/systems/hook/on_drop +execute as @a[scores={macroengine.hook_drop=1..}] run scoreboard players reset @s macroengine.hook_drop + +# target_hit — minecraft.custom:minecraft.target_hit stat +execute as @a[scores={macroengine.hook_target_hit=1..}] run function macroengine:core/internal/systems/hook/on_target_hit +execute as @a[scores={macroengine.hook_target_hit=1..}] run scoreboard players reset @s macroengine.hook_target_hit + +# eat — consume_item advancement-based +execute as @a[scores={macroengine.hook_eat=1..}] run function macroengine:core/internal/systems/hook/on_eat_fire +execute as @a[scores={macroengine.hook_eat=1..}] run scoreboard players set @s macroengine.hook_eat 0 + +# fish_caught — fishing_rod_hooked advancement-based +execute as @a[scores={macroengine.hook_fish=1..}] run function macroengine:core/internal/systems/hook/on_fish_fire +execute as @a[scores={macroengine.hook_fish=1..}] run scoreboard players set @s macroengine.hook_fish 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_check.mcfunction new file mode 100644 index 00000000..9e94e984 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_check.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/hook/internal/unbind_check [MACRO] +# INPUT: $(event) — event field of the current bind +# If it does not match _hook_filter_event, put back into hook_binds. + +$execute unless data storage macroengine:engine {_hook_filter_event:"$(event)"} run data modify storage macroengine:engine hook_binds append from storage macroengine:engine _hook_unbinds[0] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_exec.mcfunction new file mode 100644 index 00000000..189ea859 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_exec.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/unbind_exec [MACRO] +# INPUT: $(event) +# Filters all binds belonging to $(event) from hook_binds. + +data modify storage macroengine:engine _hook_unbinds set from storage macroengine:engine hook_binds +data modify storage macroengine:engine hook_binds set value [] +$data modify storage macroengine:engine _hook_filter_event set value "$(event)" +function macroengine:core/internal/systems/hook/unbind_filter + +data remove storage macroengine:engine _hook_unbinds +data remove storage macroengine:engine _hook_filter_event + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/unbind ","color":"aqua"},{"text":"$(event)","color":"yellow"},{"text":" removed","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_filter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_filter.mcfunction new file mode 100644 index 00000000..3bc80aad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/hook/unbind_filter.mcfunction @@ -0,0 +1,13 @@ +# macroengine:systems/hook/internal/unbind_filter +# _hook_unbinds listesini iterate eder. +# Copies back binds that do not match _hook_filter_event to hook_binds. + +execute unless data storage macroengine:engine _hook_unbinds[0] run return 0 + +data modify storage macroengine:engine _hook_unbinds[0] set from storage macroengine:engine _hook_unbinds[0] + +function macroengine:core/internal/systems/hook/unbind_check with storage macroengine:engine _hook_unbinds[0] + +data remove storage macroengine:engine _hook_unbinds[0] + +function macroengine:core/internal/systems/hook/unbind_filter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_entry.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_entry.mcfunction new file mode 100644 index 00000000..703a3084 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_entry.mcfunction @@ -0,0 +1 @@ +function macroengine:core/internal/systems/log/print_macro with storage macroengine:engine _felist_current diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_macro.mcfunction new file mode 100644 index 00000000..72cda4a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/log/print_macro.mcfunction @@ -0,0 +1 @@ +$tellraw @s {"text":"$(text)","color":"$(color)","italic":false} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/gcd_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/gcd_loop.mcfunction new file mode 100644 index 00000000..dce20257 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/gcd_loop.mcfunction @@ -0,0 +1,9 @@ +# Euclidean step: a = b, b = a % b — repeat until b is zero +execute if score $gcd_b macroengine.tmp matches 0 run return 0 + +scoreboard players operation $gcd_t macroengine.tmp = $gcd_a macroengine.tmp +scoreboard players operation $gcd_a macroengine.tmp = $gcd_b macroengine.tmp +scoreboard players operation $gcd_t macroengine.tmp %= $gcd_b macroengine.tmp +scoreboard players operation $gcd_b macroengine.tmp = $gcd_t macroengine.tmp + +function macroengine:core/internal/systems/math/gcd_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/log2_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/log2_loop.mcfunction new file mode 100644 index 00000000..59c9dbe3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/log2_loop.mcfunction @@ -0,0 +1,6 @@ +execute if score $lg2_v macroengine.tmp matches ..1 run return 0 + +scoreboard players add $lg2_r macroengine.tmp 1 +scoreboard players operation $lg2_v macroengine.tmp /= $lg2_2 macroengine.tmp + +function macroengine:core/internal/systems/math/log2_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/pow_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/pow_loop.mcfunction new file mode 100644 index 00000000..de9fdb75 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/pow_loop.mcfunction @@ -0,0 +1,4 @@ +execute if score $pow_n macroengine.tmp matches ..0 run return 0 +scoreboard players operation $pow_r macroengine.tmp *= $pow_a macroengine.tmp +scoreboard players remove $pow_n macroengine.tmp 1 +function macroengine:core/internal/systems/math/pow_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/sqrt_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/sqrt_step.mcfunction new file mode 100644 index 00000000..16afbf18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/sqrt_step.mcfunction @@ -0,0 +1,13 @@ +scoreboard players operation $sqrt_mid macroengine.tmp = $sqrt_lo macroengine.tmp +scoreboard players operation $sqrt_mid macroengine.tmp += $sqrt_hi macroengine.tmp +scoreboard players set $sqrt_2 macroengine.tmp 2 +scoreboard players operation $sqrt_mid macroengine.tmp /= $sqrt_2 macroengine.tmp + +scoreboard players operation $sqrt_sq macroengine.tmp = $sqrt_mid macroengine.tmp +scoreboard players operation $sqrt_sq macroengine.tmp *= $sqrt_mid macroengine.tmp + +execute if score $sqrt_sq macroengine.tmp <= $sqrt_n macroengine.tmp run scoreboard players operation $sqrt_lo macroengine.tmp = $sqrt_mid macroengine.tmp +execute unless score $sqrt_sq macroengine.tmp <= $sqrt_n macroengine.tmp run scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_mid macroengine.tmp + +scoreboard players remove $sqrt_itr macroengine.tmp 1 +execute if score $sqrt_itr macroengine.tmp matches 1.. run function macroengine:core/internal/systems/math/sqrt_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/add_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/add_exec.mcfunction new file mode 100644 index 00000000..b553527f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/add_exec.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/math/vec/internal/add_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vx macroengine.tmp $(ax) +$scoreboard players set $vy macroengine.tmp $(ay) +$scoreboard players set $vz macroengine.tmp $(az) +$scoreboard players add $vx macroengine.tmp $(bx) +$scoreboard players add $vy macroengine.tmp $(by) +$scoreboard players add $vz macroengine.tmp $(bz) + +execute store result storage macroengine:output x int 1 run scoreboard players get $vx macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vy macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vz macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/add ","color":"aqua"},{"text":"($(ax),$(ay),$(az))+($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/angle_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/angle_exec.mcfunction new file mode 100644 index 00000000..54b18f05 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/angle_exec.mcfunction @@ -0,0 +1,47 @@ +# macroengine:systems/math/vec/internal/angle_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) +# RULE: Lines without $(var) must NOT have a $ prefix. + +function macroengine:core/lib/input_push + +$data modify storage macroengine:engine _vec_dot_tmp ax set value $(ax) +$data modify storage macroengine:engine _vec_dot_tmp ay set value $(ay) +$data modify storage macroengine:engine _vec_dot_tmp az set value $(az) +$data modify storage macroengine:engine _vec_dot_tmp bx set value $(bx) +$data modify storage macroengine:engine _vec_dot_tmp by set value $(by) +$data modify storage macroengine:engine _vec_dot_tmp bz set value $(bz) +function macroengine:systems/math/vec/dot with storage macroengine:engine _vec_dot_tmp +execute store result score $vang_dot macroengine.tmp run data get storage macroengine:output result + +data modify storage macroengine:engine _math_d3d_tmp.x1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.y1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.z1 set value 0 +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(ax) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(ay) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(az) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp +execute store result score $vang_la macroengine.tmp run data get storage macroengine:output result + +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(bx) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(by) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(bz) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp +execute store result score $vang_lb macroengine.tmp run data get storage macroengine:output result + +function macroengine:core/lib/input_pop + +data modify storage macroengine:output result set value 0 + +execute if score $vang_la macroengine.tmp matches 0 run return 0 +execute if score $vang_lb macroengine.tmp matches 0 run return 0 + +scoreboard players set $vang_1000 macroengine.tmp 1000 +scoreboard players operation $vang_dot macroengine.tmp *= $vang_1000 macroengine.tmp +scoreboard players operation $vang_la macroengine.tmp *= $vang_lb macroengine.tmp +scoreboard players operation $vang_dot macroengine.tmp /= $vang_la macroengine.tmp + +execute if score $vang_dot macroengine.tmp matches 1001.. run scoreboard players set $vang_dot macroengine.tmp 1000 +execute if score $vang_dot macroengine.tmp matches ..-1001 run scoreboard players set $vang_dot macroengine.tmp -1000 + +execute store result storage macroengine:engine _vang_cos int 1 run scoreboard players get $vang_dot macroengine.tmp +function macroengine:core/internal/systems/math/vec/arccos_lookup diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/arccos_lookup.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/arccos_lookup.mcfunction new file mode 100644 index 00000000..56582c87 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/arccos_lookup.mcfunction @@ -0,0 +1,25 @@ +# macroengine:systems/math/vec/internal/arccos_lookup +# $vang_dot macroengine.tmp = cos×1000 value ([-1000, 1000]) +# 10° resolution arccos lookup table. + +execute if score $vang_dot macroengine.tmp matches 993.. run data modify storage macroengine:output result set value 0 +execute if score $vang_dot macroengine.tmp matches 963..992 run data modify storage macroengine:output result set value 10 +execute if score $vang_dot macroengine.tmp matches 903..962 run data modify storage macroengine:output result set value 20 +execute if score $vang_dot macroengine.tmp matches 816..902 run data modify storage macroengine:output result set value 30 +execute if score $vang_dot macroengine.tmp matches 705..815 run data modify storage macroengine:output result set value 40 +execute if score $vang_dot macroengine.tmp matches 571..704 run data modify storage macroengine:output result set value 50 +execute if score $vang_dot macroengine.tmp matches 421..570 run data modify storage macroengine:output result set value 60 +execute if score $vang_dot macroengine.tmp matches 258..420 run data modify storage macroengine:output result set value 70 +execute if score $vang_dot macroengine.tmp matches 87..257 run data modify storage macroengine:output result set value 80 +execute if score $vang_dot macroengine.tmp matches -87..86 run data modify storage macroengine:output result set value 90 +execute if score $vang_dot macroengine.tmp matches -257..-88 run data modify storage macroengine:output result set value 100 +execute if score $vang_dot macroengine.tmp matches -420..-258 run data modify storage macroengine:output result set value 110 +execute if score $vang_dot macroengine.tmp matches -570..-421 run data modify storage macroengine:output result set value 120 +execute if score $vang_dot macroengine.tmp matches -704..-571 run data modify storage macroengine:output result set value 130 +execute if score $vang_dot macroengine.tmp matches -815..-705 run data modify storage macroengine:output result set value 140 +execute if score $vang_dot macroengine.tmp matches -902..-816 run data modify storage macroengine:output result set value 150 +execute if score $vang_dot macroengine.tmp matches -962..-903 run data modify storage macroengine:output result set value 160 +execute if score $vang_dot macroengine.tmp matches -992..-963 run data modify storage macroengine:output result set value 170 +execute if score $vang_dot macroengine.tmp matches ..-993 run data modify storage macroengine:output result set value 180 + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/angle_between ","color":"aqua"},{"text":"cos×1000=","color":"gray"},{"score":{"name":"$vang_dot","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"yellow"},{"text":"°","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/cross_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/cross_exec.mcfunction new file mode 100644 index 00000000..3bf66f5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/cross_exec.mcfunction @@ -0,0 +1,40 @@ +# macroengine:systems/math/vec/internal/cross_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +# cx = ay*bz - az*by +$scoreboard players set $vcay macroengine.tmp $(ay) +$scoreboard players set $vcbz macroengine.tmp $(bz) +scoreboard players operation $vcay macroengine.tmp *= $vcbz macroengine.tmp + +$scoreboard players set $vcaz macroengine.tmp $(az) +$scoreboard players set $vcby macroengine.tmp $(by) +scoreboard players operation $vcaz macroengine.tmp *= $vcby macroengine.tmp + +scoreboard players operation $vcay macroengine.tmp -= $vcaz macroengine.tmp +execute store result storage macroengine:output x int 1 run scoreboard players get $vcay macroengine.tmp + +# cy = az*bx - ax*bz +$scoreboard players set $vcaz2 macroengine.tmp $(az) +$scoreboard players set $vcbx macroengine.tmp $(bx) +scoreboard players operation $vcaz2 macroengine.tmp *= $vcbx macroengine.tmp + +$scoreboard players set $vcax macroengine.tmp $(ax) +$scoreboard players set $vcbz2 macroengine.tmp $(bz) +scoreboard players operation $vcax macroengine.tmp *= $vcbz2 macroengine.tmp + +scoreboard players operation $vcaz2 macroengine.tmp -= $vcax macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vcaz2 macroengine.tmp + +# cz = ax*by - ay*bx +$scoreboard players set $vcax2 macroengine.tmp $(ax) +$scoreboard players set $vcby2 macroengine.tmp $(by) +scoreboard players operation $vcax2 macroengine.tmp *= $vcby2 macroengine.tmp + +$scoreboard players set $vcay2 macroengine.tmp $(ay) +$scoreboard players set $vcbx2 macroengine.tmp $(bx) +scoreboard players operation $vcay2 macroengine.tmp *= $vcbx2 macroengine.tmp + +scoreboard players operation $vcax2 macroengine.tmp -= $vcay2 macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vcax2 macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/cross ","color":"aqua"},{"text":"($(ax),$(ay),$(az))×($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/dot_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/dot_exec.mcfunction new file mode 100644 index 00000000..f1ff9e97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/dot_exec.mcfunction @@ -0,0 +1,21 @@ +# macroengine:systems/math/vec/internal/dot_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vdax macroengine.tmp $(ax) +$scoreboard players set $vdbx macroengine.tmp $(bx) +scoreboard players operation $vdax macroengine.tmp *= $vdbx macroengine.tmp + +$scoreboard players set $vday macroengine.tmp $(ay) +$scoreboard players set $vdby macroengine.tmp $(by) +scoreboard players operation $vday macroengine.tmp *= $vdby macroengine.tmp + +$scoreboard players set $vdaz macroengine.tmp $(az) +$scoreboard players set $vdbz macroengine.tmp $(bz) +scoreboard players operation $vdaz macroengine.tmp *= $vdbz macroengine.tmp + +scoreboard players operation $vdax macroengine.tmp += $vday macroengine.tmp +scoreboard players operation $vdax macroengine.tmp += $vdaz macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $vdax macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/dot ","color":"aqua"},{"text":"($(ax),$(ay),$(az))·($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/normalize_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/normalize_exec.mcfunction new file mode 100644 index 00000000..f5dc3c66 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/normalize_exec.mcfunction @@ -0,0 +1,44 @@ +# macroengine:systems/math/vec/internal/normalize_exec [MACRO] +# INPUT: $(x), $(y), $(z) +# Compute length via math/distance3d, then ×1000 / length +# RULE: Lines without $(var) must NOT have a $ prefix. + +function macroengine:core/lib/input_push + +data modify storage macroengine:engine _math_d3d_tmp.x1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.y1 set value 0 +data modify storage macroengine:engine _math_d3d_tmp.z1 set value 0 +$data modify storage macroengine:engine _math_d3d_tmp x2 set value $(x) +$data modify storage macroengine:engine _math_d3d_tmp y2 set value $(y) +$data modify storage macroengine:engine _math_d3d_tmp z2 set value $(z) +function macroengine:systems/math/distance3d with storage macroengine:engine _math_d3d_tmp + +function macroengine:core/lib/input_pop + +execute store result score $vnlen macroengine.tmp run data get storage macroengine:output result + +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output x set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output y set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output z set value 0 +execute if score $vnlen macroengine.tmp matches 0 run data modify storage macroengine:output length set value 0 +execute if score $vnlen macroengine.tmp matches 0 run return 0 + +execute store result storage macroengine:output length int 1 run scoreboard players get $vnlen macroengine.tmp + +$scoreboard players set $vnx macroengine.tmp $(x) +scoreboard players set $vn1000 macroengine.tmp 1000 +scoreboard players operation $vnx macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vnx macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output x int 1 run scoreboard players get $vnx macroengine.tmp + +$scoreboard players set $vny macroengine.tmp $(y) +scoreboard players operation $vny macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vny macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vny macroengine.tmp + +$scoreboard players set $vnz macroengine.tmp $(z) +scoreboard players operation $vnz macroengine.tmp *= $vn1000 macroengine.tmp +scoreboard players operation $vnz macroengine.tmp /= $vnlen macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vnz macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/normalize ","color":"aqua"},{"text":"len=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"length","color":"yellow"},{"text":" → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/sub_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/sub_exec.mcfunction new file mode 100644 index 00000000..5545e6b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/math/vec/sub_exec.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/math/vec/internal/sub_exec [MACRO] +# INPUT: $(ax), $(ay), $(az), $(bx), $(by), $(bz) + +$scoreboard players set $vx macroengine.tmp $(ax) +$scoreboard players set $vy macroengine.tmp $(ay) +$scoreboard players set $vz macroengine.tmp $(az) +$scoreboard players remove $vx macroengine.tmp $(bx) +$scoreboard players remove $vy macroengine.tmp $(by) +$scoreboard players remove $vz macroengine.tmp $(bz) + +execute store result storage macroengine:output x int 1 run scoreboard players get $vx macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $vy macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $vz macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/vec/sub ","color":"aqua"},{"text":"($(ax),$(ay),$(az))-($(bx),$(by),$(bz)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"yellow"},{"text":",","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/append_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/append_exec.mcfunction new file mode 100644 index 00000000..d11b8b89 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/append_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/append_exec [MACRO] +# INPUT: $(dst_storage), $(dst_path), $(src_storage), $(src_path) + +$data modify storage $(dst_storage) $(dst_path) append from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/append ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/clear_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/clear_exec.mcfunction new file mode 100644 index 00000000..426f2463 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/clear_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/clear_exec [MACRO] +# INPUT: $(storage), $(path) + +$data remove storage $(storage) $(path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/clear ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/copy_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/copy_exec.mcfunction new file mode 100644 index 00000000..ef8af920 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/copy_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/copy_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) set from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/copy ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/count_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/count_exec.mcfunction new file mode 100644 index 00000000..2ebe1456 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/count_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/nbt/internal/count_exec [MACRO] +# INPUT: $(storage), $(path) + +scoreboard players set $nbt_count macroengine.tmp 0 +$execute store result score $nbt_count macroengine.tmp run data get storage $(storage) $(path) + +execute store result storage macroengine:output result int 1 run scoreboard players get $nbt_count macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/count ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"},{"text":" → ","color":"#555555"},{"score":{"name":"$nbt_count","objective":"macroengine.tmp"},"color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/exists_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/exists_exec.mcfunction new file mode 100644 index 00000000..cea578ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/exists_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/nbt/internal/exists_exec [MACRO] +# INPUT: $(storage), $(path) + +data modify storage macroengine:output result set value 0b +$execute if data storage $(storage) $(path) run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/exists ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/first_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/first_exec.mcfunction new file mode 100644 index 00000000..cddce93d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/first_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/first_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) set from storage $(src_storage) $(src_path)[0] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/first ","color":"aqua"},{"text":"$(src_storage):$(src_path)[0]","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/merge_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/merge_exec.mcfunction new file mode 100644 index 00000000..9f831051 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/merge_exec.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/nbt/internal/merge_exec [MACRO] +# INPUT: $(src_storage), $(src_path), $(dst_storage), $(dst_path) + +$data modify storage $(dst_storage) $(dst_path) merge from storage $(src_storage) $(src_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/merge ","color":"aqua"},{"text":"$(src_storage):$(src_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(dst_storage):$(dst_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/move_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/move_exec.mcfunction new file mode 100644 index 00000000..afc7f33d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/move_exec.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/nbt/internal/move_exec [MACRO] +# INPUT: $(storage), $(from_path), $(to_path) + +$data modify storage $(storage) $(to_path) set from storage $(storage) $(from_path) +$data remove storage $(storage) $(from_path) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/move ","color":"aqua"},{"text":"$(from_path)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(to_path)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/pop_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/pop_exec.mcfunction new file mode 100644 index 00000000..4e2e6493 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/pop_exec.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/nbt/internal/pop_exec [MACRO] +# INPUT: $(storage), $(path) + +$execute if data storage $(storage) $(path)[0] run data modify storage macroengine:output result set from storage $(storage) $(path)[0] +$execute if data storage $(storage) $(path)[0] run data remove storage $(storage) $(path)[0] +$execute unless data storage $(storage) $(path)[0] run data modify storage macroengine:output result set value 0b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/pop ","color":"aqua"},{"text":"$(storage):$(path)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/swap_exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/swap_exec.mcfunction new file mode 100644 index 00000000..63fd83aa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/nbt/swap_exec.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/nbt/internal/swap_exec [MACRO] +# INPUT: $(storage), $(path_a), $(path_b) + +$data modify storage macroengine:engine _nbt_swap set from storage $(storage) $(path_a) +$data modify storage $(storage) $(path_a) set from storage $(storage) $(path_b) +$data modify storage $(storage) $(path_b) set from storage macroengine:engine _nbt_swap +data remove storage macroengine:engine _nbt_swap + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"nbt/swap ","color":"aqua"},{"text":"$(path_a)","color":"white"},{"text":" ↔ ","color":"#555555"},{"text":"$(path_b)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/evaluate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/evaluate.mcfunction new file mode 100644 index 00000000..3699c39b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/evaluate.mcfunction @@ -0,0 +1,41 @@ +# macroengine:systems/rate_limit/internal/evaluate — Sliding window core [MACRO] +# Input: $(key), $(limit), $(window), $(hits) (array, not used directly here) +# +# Algorithm: +# 1. Get current epoch tick +# 2. Compute window start = epoch - window + 1 +# 3. Prune hits older than window start → stored as macroengine:engine rate_limit.rules..hits +# 4. Count remaining hits +# 5. If count < limit → record new hit, return ALLOWED +# 6. Else → return DENIED (do NOT record hit) + +# Step 1: capture current epoch + compute window boundary +execute store result score $rl_now macroengine.tmp run scoreboard players get $epoch macroengine.time +$scoreboard players set $rl_win macroengine.tmp $(window) +scoreboard players operation $rl_start macroengine.tmp = $rl_now macroengine.tmp +scoreboard players operation $rl_start macroengine.tmp -= $rl_win macroengine.tmp +scoreboard players add $rl_start macroengine.tmp 1 + +# Step 2: write boundary into work storage for the pruner macro +execute store result storage macroengine:rl_work prune_before int 1 run scoreboard players get $rl_start macroengine.tmp + +# Step 3: prune expired hits (hits[i].t < prune_before) +# We do this by rebuilding the hits list via internal/prune +$data modify storage macroengine:rl_work rule_key set value "$(key)" +function macroengine:core/internal/systems/rate_limit/prune with storage macroengine:rl_work + +# Step 4: count surviving hits +$execute store result score $rl_count macroengine.tmp run data get storage macroengine:engine rate_limit.rules.$(key).hits + +# Step 5: compare against limit +$scoreboard players set $rl_limit macroengine.tmp $(limit) + +# DENIED path — limit reached +execute if score $rl_count macroengine.tmp >= $rl_limit macroengine.tmp run data modify storage macroengine:output result set value 0b +execute if score $rl_count macroengine.tmp >= $rl_limit macroengine.tmp run return 0 + +# ALLOWED path — append new hit timestamp +execute store result storage macroengine:rl_work new_hit.t int 1 run scoreboard players get $rl_now macroengine.tmp +$data modify storage macroengine:engine rate_limit.rules.$(key).hits append from storage macroengine:rl_work new_hit + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"ALLOW ","color":"#55FF55"},{"text":"$(key)","color":"white"},{"text":" (","color":"#555555"},{"score":{"name":"$rl_count","objective":"macroengine.tmp"},"color":"green"},{"text":"+1/","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":")","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/no_rule.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/no_rule.mcfunction new file mode 100644 index 00000000..39f4da6e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/no_rule.mcfunction @@ -0,0 +1,5 @@ +# macroengine:systems/rate_limit/internal/no_rule — Warn when check called on unregistered key [MACRO] +# Input: $(key) +# Fail-open: result stays 1b (ALLOWED) so callers aren't broken by missing config. + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/check ","color":"aqua"},{"text":"WARN ","color":"#FFAA00"},{"text":"no rule for key: ","color":"#555555"},{"text":"$(key)","color":"#FF5555"},{"text":" — fail-open","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player/ensure.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player/ensure.mcfunction new file mode 100644 index 00000000..e6770e27 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player/ensure.mcfunction @@ -0,0 +1,8 @@ +# macroengine:systems/rate_limit/player/internal/ensure — Seed player bucket from template [MACRO] +# Input: $(tpl), $(full) +# Called only when bucket doesn't exist yet for this player. + +$execute unless data storage macroengine:engine rate_limit.player_templates.$(tpl) run return 0 +$data modify storage macroengine:engine "rate_limit.rules.$(full)" set from storage macroengine:engine rate_limit.player_templates.$(tpl) +$data modify storage macroengine:engine "rate_limit.rules.$(full).hits" set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"INIT ","color":"#55FFFF"},{"text":"player bucket: ","color":"#555555"},{"text":"$(full)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_check.mcfunction new file mode 100644 index 00000000..658dc5e4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_check.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/rate_limit/internal/player_check — Auto-ensure player bucket if needed [MACRO] +# Input: $(ensure_key) — the full compound key from check +# +# Only acts when: +# 1. Key starts with "player:" (checked via NBT string prefix match workaround) +# 2. No rule exists yet for that key +# 3. A player_template exists for the base key portion +# +# Since we can't do string operations in mcfunction, we use a two-pass approach: +# player/check wrapper sets both $(key) and $(tpl) explicitly, so +# this file is only reached from the generic check path. +# In that case, just check if rule exists and exit if it does. + +$execute if data storage macroengine:engine rate_limit.rules.$(ensure_key) run return 0 + +# Rule absent. If this looks like a player key the wrapper already pre-seeded it. +# Nothing more to do here — no_rule path handles the rest. diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_ensure.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_ensure.mcfunction new file mode 100644 index 00000000..627e9b67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/player_ensure.mcfunction @@ -0,0 +1,10 @@ +# macroengine:systems/rate_limit/internal/player_ensure — Auto-create player bucket from template [MACRO] +# Called by check when rule key "player::" doesn't exist yet. +# Reads the template registered via rate_limit/player/config and creates the bucket. +# Input: $(key) = full compound key e.g. "player:shop:Steve" +# $(tpl) = template key e.g. "shop" + +$execute unless data storage macroengine:engine rate_limit.player_templates.$(tpl) run return 0 +$data modify storage macroengine:engine rate_limit.rules.$(key) set from storage macroengine:engine rate_limit.player_templates.$(tpl) +$data modify storage macroengine:engine rate_limit.rules.$(key).hits set value [] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit ","color":"aqua"},{"text":"INIT ","color":"#55FFFF"},{"text":"bucket for ","color":"#555555"},{"text":"$(key)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/prune.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/prune.mcfunction new file mode 100644 index 00000000..db16509d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/rate_limit/prune.mcfunction @@ -0,0 +1,19 @@ +# macroengine:systems/rate_limit/internal/prune — Remove hits outside the sliding window [MACRO] +# Input: $(rule_key), macroengine:rl_work.prune_before (int, from evaluate) +# +# Strategy: iterate hits array from index 0 upward. +# Hits are appended in chronological order, so hits[0] is always the oldest. +# We remove from the front until hits[0].t >= prune_before (or array empty). +# This is O(expired_count) — optimal for a FIFO sliding window. + +$execute unless data storage macroengine:engine rate_limit.rules.$(rule_key).hits[0] run return 0 + +# Read oldest hit timestamp +$execute store result score $rl_oldest macroengine.tmp run data get storage macroengine:engine rate_limit.rules.$(rule_key).hits[0].t + +# If oldest hit is still inside window → nothing left to prune +execute if score $rl_oldest macroengine.tmp >= $rl_start macroengine.tmp run return 0 + +# Oldest hit is expired → remove it and recurse +$data remove storage macroengine:engine rate_limit.rules.$(rule_key).hits[0] +function macroengine:core/internal/systems/rate_limit/prune with storage macroengine:rl_work diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_1.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_1.mcfunction new file mode 100644 index 00000000..ac187a03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_1.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_10.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_10.mcfunction new file mode 100644 index 00000000..e31b6984 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_10.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_11.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_11.mcfunction new file mode 100644 index 00000000..3909f646 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_11.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_12.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_12.mcfunction new file mode 100644 index 00000000..4587515b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_12.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_13.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_13.mcfunction new file mode 100644 index 00000000..62fb0fe8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_13.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_14.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_14.mcfunction new file mode 100644 index 00000000..8e71e72c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_14.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_15.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_15.mcfunction new file mode 100644 index 00000000..b349d43a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_15.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_16.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_16.mcfunction new file mode 100644 index 00000000..ac98185e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_16.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_2.mcfunction new file mode 100644 index 00000000..48a35e4d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_2.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_3.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_3.mcfunction new file mode 100644 index 00000000..2c46b016 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_3.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_4.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_4.mcfunction new file mode 100644 index 00000000..5a1a4381 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_4.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_5.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_5.mcfunction new file mode 100644 index 00000000..2ae83438 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_5.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_6.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_6.mcfunction new file mode 100644 index 00000000..d3e7e602 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_6.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_7.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_7.mcfunction new file mode 100644 index 00000000..5d1abe71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_7.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_8.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_8.mcfunction new file mode 100644 index 00000000..cb283451 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_8.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_9.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_9.mcfunction new file mode 100644 index 00000000..54dcbb6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/string/repeat_9.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine:output result set value "$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)$(char)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/concat.mcfunction new file mode 100644 index 00000000..02c11354 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/concat.mcfunction @@ -0,0 +1,15 @@ +# ============================================================ +# macroengine:systems/uuid/internal/concat [MACRO FUNCTION] +# Builds a standard UUID string from 16 hex field values +# +# Call: function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp +# Output: macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# UUID byte order (big-endian): +# Segment 1 (8 hex): int0 MSB→LSB = [3][2][1][0] +# Segment 2 (4 hex): int1 MSB→LSB = [7][6] +# Segment 3 (4 hex): int1 continued = [5][4] +# Segment 4 (4 hex): int2 MSB→LSB = [b][a] +# Segment 5 (12 hex): int2 continued + int3 = [9][8][f][e][d][c] +# ============================================================ +$data modify storage macroengine:input value set value "$(3)$(2)$(1)$(0)-$(7)$(6)-$(5)$(4)-$(b)$(a)-$(9)$(8)$(f)$(e)$(d)$(c)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/extract_bytes.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/extract_bytes.mcfunction new file mode 100644 index 00000000..41298cb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/extract_bytes.mcfunction @@ -0,0 +1,157 @@ +# ============================================================ +# macroengine:systems/uuid/internal/extract_bytes +# Splits 4 UUID ints into 16 bytes (correct signed integer arithmetic) +# +# REQUIREMENT: The following fake-player scores must be set: +# $uuid.0 $uuid.1 $uuid.2 $uuid.3 macroengine.tmp +# $uuid.256 macroengine.tmp = 256 (set by init) +# +# OUTPUT: storage macroengine:uuid _tmp +# Fields 0..3 → bytes of int 0 (0=LSB, 3=MSB) +# Fields 4..7 → bytes of int 1 +# Fields 8..b → bytes of int 2 +# Fields c..f → bytes of int 3 +# Each field is guaranteed to be in range 0–255. +# +# NEDEN GU'DAN FARKLI? +# Java's `/` operator truncates toward zero for negative dividends. +# Example: -1 / 256 = 0 (floor should be -1). +# GU does not handle this; high bytes of negative ints are computed incorrectly. +# This function correctly extracts each byte using floor-division: +# +# b_raw = v % 256 (Java mod, range -255..255) +# if b_raw < 0: +# v = (v / 256) - 1 (correction for floor division) +# b = b_raw + 256 (normalize to 0..255) +# else: +# v = v / 256 +# b = b_raw +# ============================================================ + +# --- INT 0 (first 4 bytes of UUID, fields 0..3) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.0 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.1 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.0 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.0 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.2 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB (last byte, no division) +scoreboard players operation $uuid.a macroengine.tmp = $uuid.0 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.3 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 1 (alanlar 4..7) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.4 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.5 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.1 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.1 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.6 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.1 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.7 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 2 (alanlar 8..b) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.8 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.9 int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.2 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.2 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.a int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.2 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.b int 1 run scoreboard players get $uuid.a macroengine.tmp + +# --- INT 3 (alanlar c..f) --- + +# byte 0 — LSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.c int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 1 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.d int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 2 +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +scoreboard players operation $uuid.3 macroengine.tmp /= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players remove $uuid.3 macroengine.tmp 1 +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.e int 1 run scoreboard players get $uuid.a macroengine.tmp + +# byte 3 — MSB +scoreboard players operation $uuid.a macroengine.tmp = $uuid.3 macroengine.tmp +scoreboard players operation $uuid.a macroengine.tmp %= $uuid.256 macroengine.tmp +execute if score $uuid.a macroengine.tmp matches ..-1 run scoreboard players add $uuid.a macroengine.tmp 256 +execute store result storage macroengine:uuid _tmp.f int 1 run scoreboard players get $uuid.a macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/forget_key.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/forget_key.mcfunction new file mode 100644 index 00000000..6a13fa45 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/forget_key.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/forget_key [MACRO FUNCTION] +# Deletes the specified key from uuid_cache +# +# Call: function macroengine:core/internal/systems/uuid/forget_key with storage macroengine:input +# $(key) = name of the key to delete +# ============================================================ +$data remove storage macroengine:engine uuid_cache.$(key) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/get_hexes.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/get_hexes.mcfunction new file mode 100644 index 00000000..6213e5d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/get_hexes.mcfunction @@ -0,0 +1,24 @@ +# ============================================================ +# macroengine:systems/uuid/internal/get_hexes [MACRO FUNCTION] +# Converts 16 byte ints in macroengine:uuid _tmp to 2-character hex strings +# +# Call: function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +# Fields 0..f are used as indices into the hex lookup table. +# The same fields are overwritten with hex string results. +# ============================================================ +$data modify storage macroengine:uuid _tmp.0 set from storage macroengine:uuid hex_chars[$(0)] +$data modify storage macroengine:uuid _tmp.1 set from storage macroengine:uuid hex_chars[$(1)] +$data modify storage macroengine:uuid _tmp.2 set from storage macroengine:uuid hex_chars[$(2)] +$data modify storage macroengine:uuid _tmp.3 set from storage macroengine:uuid hex_chars[$(3)] +$data modify storage macroengine:uuid _tmp.4 set from storage macroengine:uuid hex_chars[$(4)] +$data modify storage macroengine:uuid _tmp.5 set from storage macroengine:uuid hex_chars[$(5)] +$data modify storage macroengine:uuid _tmp.6 set from storage macroengine:uuid hex_chars[$(6)] +$data modify storage macroengine:uuid _tmp.7 set from storage macroengine:uuid hex_chars[$(7)] +$data modify storage macroengine:uuid _tmp.8 set from storage macroengine:uuid hex_chars[$(8)] +$data modify storage macroengine:uuid _tmp.9 set from storage macroengine:uuid hex_chars[$(9)] +$data modify storage macroengine:uuid _tmp.a set from storage macroengine:uuid hex_chars[$(a)] +$data modify storage macroengine:uuid _tmp.b set from storage macroengine:uuid hex_chars[$(b)] +$data modify storage macroengine:uuid _tmp.c set from storage macroengine:uuid hex_chars[$(c)] +$data modify storage macroengine:uuid _tmp.d set from storage macroengine:uuid hex_chars[$(d)] +$data modify storage macroengine:uuid _tmp.e set from storage macroengine:uuid hex_chars[$(e)] +$data modify storage macroengine:uuid _tmp.f set from storage macroengine:uuid hex_chars[$(f)] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/has_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/has_check.mcfunction new file mode 100644 index 00000000..62465647 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/has_check.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/has_check [MACRO FUNCTION] +# Checks key existence in the cache +# +# Call: function macroengine:core/internal/systems/uuid/has_check with storage macroengine:input +# $(key) = name of the key to check +# ============================================================ +$execute if data storage macroengine:engine uuid_cache.$(key) run scoreboard players set $uuid.has macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/init.mcfunction new file mode 100644 index 00000000..db0bc3e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/init.mcfunction @@ -0,0 +1,31 @@ +# ============================================================ +# macroengine:systems/uuid/internal/init +# UUID module init — hex table and constant setup +# Called by load/storages.mcfunction +# ============================================================ + +# Division constant (lives in macroengine.tmp scoreboard, uuid module specific) +scoreboard players set $uuid.256 macroengine.tmp 256 + +# Byte → 2-character hex string lookup table (00-ff, 256 entries) +# Initialized only if not yet loaded +execute unless data storage macroengine:uuid hex_chars run data modify storage macroengine:uuid hex_chars set value [\ +"00","01","02","03","04","05","06","07","08","09","0a","0b","0c","0d","0e","0f",\ +"10","11","12","13","14","15","16","17","18","19","1a","1b","1c","1d","1e","1f",\ +"20","21","22","23","24","25","26","27","28","29","2a","2b","2c","2d","2e","2f",\ +"30","31","32","33","34","35","36","37","38","39","3a","3b","3c","3d","3e","3f",\ +"40","41","42","43","44","45","46","47","48","49","4a","4b","4c","4d","4e","4f",\ +"50","51","52","53","54","55","56","57","58","59","5a","5b","5c","5d","5e","5f",\ +"60","61","62","63","64","65","66","67","68","69","6a","6b","6c","6d","6e","6f",\ +"70","71","72","73","74","75","76","77","78","79","7a","7b","7c","7d","7e","7f",\ +"80","81","82","83","84","85","86","87","88","89","8a","8b","8c","8d","8e","8f",\ +"90","91","92","93","94","95","96","97","98","99","9a","9b","9c","9d","9e","9f",\ +"a0","a1","a2","a3","a4","a5","a6","a7","a8","a9","aa","ab","ac","ad","ae","af",\ +"b0","b1","b2","b3","b4","b5","b6","b7","b8","b9","ba","bb","bc","bd","be","bf",\ +"c0","c1","c2","c3","c4","c5","c6","c7","c8","c9","ca","cb","cc","cd","ce","cf",\ +"d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","da","db","dc","dd","de","df",\ +"e0","e1","e2","e3","e4","e5","e6","e7","e8","e9","ea","eb","ec","ed","ee","ef",\ +"f0","f1","f2","f3","f4","f5","f6","f7","f8","f9","fa","fb","fc","fd","fe","ff"] + +# UUID cache section +execute unless data storage macroengine:engine uuid_cache run data modify storage macroengine:engine uuid_cache set value {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_check.mcfunction new file mode 100644 index 00000000..974199a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_check.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/match_check [MACRO FUNCTION] +# Dynamically compares the current UUID string with _match_target +# +# Call: function macroengine:core/internal/systems/uuid/match_check with storage macroengine:input +# $(value) = current UUID string written by from_entity +# ============================================================ +$execute if data storage macroengine:uuid {_match_target:"$(value)"} run function macroengine:core/internal/systems/uuid/match_fire with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_fire.mcfunction new file mode 100644 index 00000000..26f6f0b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/match_fire.mcfunction @@ -0,0 +1,9 @@ +# ============================================================ +# macroengine:systems/uuid/internal/match_fire [MACRO] +# Runs the uuid/match callback. +# +# Call: function macroengine:core/internal/systems/uuid/match_fire with storage macroengine:input {} +# $(func) = macroengine:input func field +# ============================================================ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_arr_read.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_arr_read.mcfunction new file mode 100644 index 00000000..e8fae2e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_arr_read.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/recall_arr_read [MACRO FUNCTION] +# Reads UUID int array from the cache +# +# Call: function macroengine:core/internal/systems/uuid/recall_arr_read with storage macroengine:input +# $(key) = key name +# ============================================================ +$data modify storage macroengine:input value set from storage macroengine:engine uuid_cache.$(key).arr diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_read.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_read.mcfunction new file mode 100644 index 00000000..a7ef8bd8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/recall_read.mcfunction @@ -0,0 +1,8 @@ +# ============================================================ +# macroengine:systems/uuid/internal/recall_read [MACRO FUNCTION] +# Reads UUID string from the cache +# +# Call: function macroengine:core/internal/systems/uuid/recall_read with storage macroengine:input +# $(key) = key name +# ============================================================ +$data modify storage macroengine:input value set from storage macroengine:engine uuid_cache.$(key).str diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/store_write.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/store_write.mcfunction new file mode 100644 index 00000000..e00560c1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/systems/uuid/store_write.mcfunction @@ -0,0 +1,10 @@ +# ============================================================ +# macroengine:systems/uuid/internal/store_write [MACRO FUNCTION] +# UUID'yi macroengine:engine uuid_cache'e yazar (hem string hem array) +# +# Call: function macroengine:core/internal/systems/uuid/store_write with storage macroengine:input +# $(key) = key name +# $(value) = UUID hex string (written by from_entity) +# ============================================================ +$data modify storage macroengine:engine uuid_cache.$(key).str set value "$(value)" +$data modify storage macroengine:engine uuid_cache.$(key).arr set from storage macroengine:uuid _store_arr diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_assign.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_assign.mcfunction new file mode 100644 index 00000000..9f76d686 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_assign.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/internal/random_assign [INTERNAL] +# Called via "execute as @e[...] run function ..." — runs as each +# matching entity in sequence. +# +# Copies the current counter ($rnd_i macroengine.tmp) into this entity's +# macroengine.rnd_idx score, then increments the counter. +# Because each function call runs to completion before the next +# entity is processed, $rnd_i increments correctly. +# +# Result: entity 1 → macroengine.rnd_idx=0, entity 2 → 1, entity 3 → 2 … +# ───────────────────────────────────────────────────────────────── + +scoreboard players operation @s macroengine.rnd_idx = $rnd_i macroengine.tmp +scoreboard players add $rnd_i macroengine.tmp 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_dispatch.mcfunction new file mode 100644 index 00000000..d6e8ee9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/internal/world/entity/random_dispatch.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/internal/random_dispatch [INTERNAL — MACRO] +# Called with "with storage macroengine:engine _rnd". +# +# Rolls /random value 0..$(max) to pick a uniform random index, +# then runs the target function as the entity whose macroengine.rnd_idx +# matches the rolled value. +# +# MACRO ARGS (from macroengine:engine _rnd compound): +# $(max) → count - 1 (upper bound for random value, inclusive) +# $(func) → function to dispatch +# $(type) → entity type filter (same as outer call) +# $(tag) → entity tag filter (same as outer call) +# ───────────────────────────────────────────────────────────────── + +# Roll a random integer in [0, max] using the 1.20.2+ /random command +$execute store result score $rnd_pick macroengine.tmp run random value 0..$(max) + +# Dispatch: run func as the entity whose index was rolled +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] if score @s macroengine.rnd_idx = $rnd_pick macroengine.tmp at @s run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/add.mcfunction new file mode 100644 index 00000000..4a15d6d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/add.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/add +# Adds a job to the batch queue. +# +# INPUT (storage macroengine:input): +# id → batch id +# func → function to run (opsiyonel) +# cmd → command to run (optional, used if no func) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/add_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/begin.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/begin.mcfunction new file mode 100644 index 00000000..f06c6899 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/begin.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/begin +# Starts a new batch or clears an existing one. +# +# INPUT (storage macroengine:input): +# id → batch id +# spread_over → how many ticks to spread over (default: 1) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/begin_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/cancel.mcfunction new file mode 100644 index 00000000..2fed3008 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/cancel.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/cancel +# Cancels a batch that has not been flushed. +# Items already flushed and queued cannot be cancelled +# (pulling from process_queue is not supported — macroengine design constraint). +# +# INPUT (storage macroengine:input): +# id → batch id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/cancel_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/flush.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/flush.mcfunction new file mode 100644 index 00000000..d86c3a6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/batch/flush.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/batch/flush +# Splits batch jobs across spread_over ticks and adds them to process_queue. +# Jobs per tick: ceil(items / spread_over). +# Batch record is deleted after flush. +# +# INPUT (storage macroengine:input): +# id → batch id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/batch/flush_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce.mcfunction new file mode 100644 index 00000000..32a5a9db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce.mcfunction @@ -0,0 +1,4 @@ +$execute if data storage macroengine:engine schedules.$(key) run return 0 + +function macroengine:core/lib/schedule with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/debounce ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce_cmd.mcfunction new file mode 100644 index 00000000..1edc01b4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/debounce_cmd.mcfunction @@ -0,0 +1,4 @@ +$execute if data storage macroengine:engine schedules.$(key) run return 0 + +function macroengine:core/lib/schedule_cmd with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/debounce_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/is_alive.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/is_alive.mcfunction new file mode 100644 index 00000000..1fa05fc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/is_alive.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/is_alive +# Checks whether a fiber is active. +# +# INPUT (storage macroengine:input): +# id → fiber id +# +# OUTPUT (storage macroengine:output): +# result → 1b (active) | 0b (dead or never started) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/is_alive_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/kill.mcfunction new file mode 100644 index 00000000..92e7e2dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/kill.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/kill +# Stops a fiber. Pending resumes in the queue will not run. +# +# INPUT (storage macroengine:input): +# id → fiber id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/kill_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/resume.mcfunction new file mode 100644 index 00000000..1f01d7dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/resume.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/resume +# Resumes a fiber immediately (no delay). +# Used to trigger a fiber step externally without yield. +# +# INPUT (storage macroengine:input): +# id → fiber id +# func → function to run +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/resume_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/spawn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/spawn.mcfunction new file mode 100644 index 00000000..044078a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/spawn.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/spawn +# Starts a new fiber and immediately runs its first step. +# If spawned with the same id, the existing fiber is replaced. +# +# INPUT (storage macroengine:input): +# id → fiber id (unique string) +# func → function name to start +# +# EXAMPLE: +# data modify storage macroengine:input id set value "boss_intro" +# data modify storage macroengine:input func set value "mypack:boss/step_0" +# function macroengine:core/lib/fiber/spawn +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/spawn_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/yield.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/yield.mcfunction new file mode 100644 index 00000000..728df0d6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/fiber/yield.mcfunction @@ -0,0 +1,14 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/fiber/yield +# Exits a fiber step and queues the next step. +# Checks if the fiber is dead — no resume after kill. +# +# INPUT (storage macroengine:input): +# id → fiber id +# resume → function name of the next step +# delay → how many ticks to wait before resuming (default: 1) +# +# CALL SITE: called at the end of a fiber step function. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/core/lib/fiber/yield_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_entity.mcfunction new file mode 100644 index 00000000..f22d8dec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_entity.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_entity ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_list.mcfunction new file mode 100644 index 00000000..ea17b634 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_list.mcfunction @@ -0,0 +1,9 @@ +$data modify storage macroengine:engine _felist_state set value {func:"$(func)"} +scoreboard players set $felist_i macroengine.tmp 0 +function macroengine:core/internal/core/lib/for_each_list_step + +data remove storage macroengine:engine _felist_input +data remove storage macroengine:engine _felist_state +data remove storage macroengine:engine _felist_current +data remove storage macroengine:engine _felist_i +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_list ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player.mcfunction new file mode 100644 index 00000000..ae752f28 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute as @a run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_player ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player_at.mcfunction new file mode 100644 index 00000000..4f298689 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/for_each_player_at.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute as @a at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/for_each_player_at ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_pop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_pop.mcfunction new file mode 100644 index 00000000..0816bc31 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_pop.mcfunction @@ -0,0 +1,189 @@ +data remove storage macroengine:input player +data remove storage macroengine:input key +data remove storage macroengine:input value +data remove storage macroengine:input func +data remove storage macroengine:input count +data remove storage macroengine:input delay +data remove storage macroengine:input event +data remove storage macroengine:input duration +data remove storage macroengine:input team +data remove storage macroengine:input target +data remove storage macroengine:input message +data remove storage macroengine:input color +data remove storage macroengine:input label +data remove storage macroengine:input interval +data remove storage macroengine:input amount +data remove storage macroengine:input objective +data remove storage macroengine:input item +data remove storage macroengine:input tag +data remove storage macroengine:input a +data remove storage macroengine:input b +data remove storage macroengine:input t +data remove storage macroengine:input min +data remove storage macroengine:input max +data remove storage macroengine:input n +data remove storage macroengine:input x +data remove storage macroengine:input y +data remove storage macroengine:input z +data remove storage macroengine:input x1 +data remove storage macroengine:input y1 +data remove storage macroengine:input z1 +data remove storage macroengine:input x2 +data remove storage macroengine:input y2 +data remove storage macroengine:input z2 +data remove storage macroengine:input name +data remove storage macroengine:input dx +data remove storage macroengine:input dy +data remove storage macroengine:input dz +data remove storage macroengine:input speed +data remove storage macroengine:input sound +data remove storage macroengine:input volume +data remove storage macroengine:input pitch +data remove storage macroengine:input source +data remove storage macroengine:input category +data remove storage macroengine:input entity +data remove storage macroengine:input nbt +data remove storage macroengine:input block +data remove storage macroengine:input mode +data remove storage macroengine:input text +data remove storage macroengine:input title +data remove storage macroengine:input subtitle +data remove storage macroengine:input fade_in +data remove storage macroengine:input stay +data remove storage macroengine:input fade_out +data remove storage macroengine:input effect +data remove storage macroengine:input enchantment +data remove storage macroengine:input level +data remove storage macroengine:input attribute +data remove storage macroengine:input amplifier +data remove storage macroengine:input id +data remove storage macroengine:input rule +data remove storage macroengine:input type +data remove storage macroengine:input structure +data remove storage macroengine:input loot_table +data remove storage macroengine:input reason +data remove storage macroengine:input cmd +data remove storage macroengine:input cx +data remove storage macroengine:input cz +data remove storage macroengine:input spread +data remove storage macroengine:input max_range + +data remove storage macroengine:input uuid +data remove storage macroengine:input customData +data remove storage macroengine:input invoke +data remove storage macroengine:input slot +data remove storage macroengine:input modifier +data remove storage macroengine:input operation +data remove storage macroengine:input advancement +data remove storage macroengine:input json +data remove storage macroengine:input vehicle +data remove storage macroengine:input feature +data remove storage macroengine:input hide +data remove storage macroengine:input damage_type +data remove storage macroengine:input fx +data remove storage macroengine:input fy +data remove storage macroengine:input fz +data remove storage macroengine:input sub_color +data remove storage macroengine:input distance +data remove storage macroengine:input filter +data remove storage macroengine:input new_tag +data remove storage macroengine:input remove_tag +data remove storage macroengine:input expected +data remove storage macroengine:input new_block +data remove storage macroengine:input replace_with + +data modify storage macroengine:input player set from storage macroengine:engine _input_stack[-1].player +data modify storage macroengine:input key set from storage macroengine:engine _input_stack[-1].key +data modify storage macroengine:input value set from storage macroengine:engine _input_stack[-1].value +data modify storage macroengine:input func set from storage macroengine:engine _input_stack[-1].func +data modify storage macroengine:input count set from storage macroengine:engine _input_stack[-1].count +data modify storage macroengine:input delay set from storage macroengine:engine _input_stack[-1].delay +data modify storage macroengine:input event set from storage macroengine:engine _input_stack[-1].event +data modify storage macroengine:input duration set from storage macroengine:engine _input_stack[-1].duration +data modify storage macroengine:input team set from storage macroengine:engine _input_stack[-1].team +data modify storage macroengine:input target set from storage macroengine:engine _input_stack[-1].target +data modify storage macroengine:input message set from storage macroengine:engine _input_stack[-1].message +data modify storage macroengine:input color set from storage macroengine:engine _input_stack[-1].color +data modify storage macroengine:input label set from storage macroengine:engine _input_stack[-1].label +data modify storage macroengine:input interval set from storage macroengine:engine _input_stack[-1].interval +data modify storage macroengine:input amount set from storage macroengine:engine _input_stack[-1].amount +data modify storage macroengine:input objective set from storage macroengine:engine _input_stack[-1].objective +data modify storage macroengine:input item set from storage macroengine:engine _input_stack[-1].item +data modify storage macroengine:input tag set from storage macroengine:engine _input_stack[-1].tag +data modify storage macroengine:input a set from storage macroengine:engine _input_stack[-1].a +data modify storage macroengine:input b set from storage macroengine:engine _input_stack[-1].b +data modify storage macroengine:input t set from storage macroengine:engine _input_stack[-1].t +data modify storage macroengine:input min set from storage macroengine:engine _input_stack[-1].min +data modify storage macroengine:input max set from storage macroengine:engine _input_stack[-1].max +data modify storage macroengine:input n set from storage macroengine:engine _input_stack[-1].n +data modify storage macroengine:input x set from storage macroengine:engine _input_stack[-1].x +data modify storage macroengine:input y set from storage macroengine:engine _input_stack[-1].y +data modify storage macroengine:input z set from storage macroengine:engine _input_stack[-1].z +data modify storage macroengine:input x1 set from storage macroengine:engine _input_stack[-1].x1 +data modify storage macroengine:input y1 set from storage macroengine:engine _input_stack[-1].y1 +data modify storage macroengine:input z1 set from storage macroengine:engine _input_stack[-1].z1 +data modify storage macroengine:input x2 set from storage macroengine:engine _input_stack[-1].x2 +data modify storage macroengine:input y2 set from storage macroengine:engine _input_stack[-1].y2 +data modify storage macroengine:input z2 set from storage macroengine:engine _input_stack[-1].z2 +data modify storage macroengine:input name set from storage macroengine:engine _input_stack[-1].name +data modify storage macroengine:input dx set from storage macroengine:engine _input_stack[-1].dx +data modify storage macroengine:input dy set from storage macroengine:engine _input_stack[-1].dy +data modify storage macroengine:input dz set from storage macroengine:engine _input_stack[-1].dz +data modify storage macroengine:input speed set from storage macroengine:engine _input_stack[-1].speed +data modify storage macroengine:input sound set from storage macroengine:engine _input_stack[-1].sound +data modify storage macroengine:input volume set from storage macroengine:engine _input_stack[-1].volume +data modify storage macroengine:input pitch set from storage macroengine:engine _input_stack[-1].pitch +data modify storage macroengine:input source set from storage macroengine:engine _input_stack[-1].source +data modify storage macroengine:input category set from storage macroengine:engine _input_stack[-1].category +data modify storage macroengine:input entity set from storage macroengine:engine _input_stack[-1].entity +data modify storage macroengine:input nbt set from storage macroengine:engine _input_stack[-1].nbt +data modify storage macroengine:input block set from storage macroengine:engine _input_stack[-1].block +data modify storage macroengine:input mode set from storage macroengine:engine _input_stack[-1].mode +data modify storage macroengine:input text set from storage macroengine:engine _input_stack[-1].text +data modify storage macroengine:input title set from storage macroengine:engine _input_stack[-1].title +data modify storage macroengine:input subtitle set from storage macroengine:engine _input_stack[-1].subtitle +data modify storage macroengine:input fade_in set from storage macroengine:engine _input_stack[-1].fade_in +data modify storage macroengine:input stay set from storage macroengine:engine _input_stack[-1].stay +data modify storage macroengine:input fade_out set from storage macroengine:engine _input_stack[-1].fade_out +data modify storage macroengine:input effect set from storage macroengine:engine _input_stack[-1].effect +data modify storage macroengine:input enchantment set from storage macroengine:engine _input_stack[-1].enchantment +data modify storage macroengine:input level set from storage macroengine:engine _input_stack[-1].level +data modify storage macroengine:input attribute set from storage macroengine:engine _input_stack[-1].attribute +data modify storage macroengine:input amplifier set from storage macroengine:engine _input_stack[-1].amplifier +data modify storage macroengine:input id set from storage macroengine:engine _input_stack[-1].id +data modify storage macroengine:input rule set from storage macroengine:engine _input_stack[-1].rule +data modify storage macroengine:input type set from storage macroengine:engine _input_stack[-1].type +data modify storage macroengine:input structure set from storage macroengine:engine _input_stack[-1].structure +data modify storage macroengine:input loot_table set from storage macroengine:engine _input_stack[-1].loot_table +data modify storage macroengine:input reason set from storage macroengine:engine _input_stack[-1].reason +data modify storage macroengine:input cmd set from storage macroengine:engine _input_stack[-1].cmd +data modify storage macroengine:input cx set from storage macroengine:engine _input_stack[-1].cx +data modify storage macroengine:input cz set from storage macroengine:engine _input_stack[-1].cz +data modify storage macroengine:input spread set from storage macroengine:engine _input_stack[-1].spread +data modify storage macroengine:input max_range set from storage macroengine:engine _input_stack[-1].max_range + +data modify storage macroengine:input uuid set from storage macroengine:engine _input_stack[-1].uuid +data modify storage macroengine:input customData set from storage macroengine:engine _input_stack[-1].customData +data modify storage macroengine:input invoke set from storage macroengine:engine _input_stack[-1].invoke +data modify storage macroengine:input slot set from storage macroengine:engine _input_stack[-1].slot +data modify storage macroengine:input modifier set from storage macroengine:engine _input_stack[-1].modifier +data modify storage macroengine:input operation set from storage macroengine:engine _input_stack[-1].operation +data modify storage macroengine:input advancement set from storage macroengine:engine _input_stack[-1].advancement +data modify storage macroengine:input json set from storage macroengine:engine _input_stack[-1].json +data modify storage macroengine:input vehicle set from storage macroengine:engine _input_stack[-1].vehicle +data modify storage macroengine:input feature set from storage macroengine:engine _input_stack[-1].feature +data modify storage macroengine:input hide set from storage macroengine:engine _input_stack[-1].hide +data modify storage macroengine:input damage_type set from storage macroengine:engine _input_stack[-1].damage_type +data modify storage macroengine:input fx set from storage macroengine:engine _input_stack[-1].fx +data modify storage macroengine:input fy set from storage macroengine:engine _input_stack[-1].fy +data modify storage macroengine:input fz set from storage macroengine:engine _input_stack[-1].fz +data modify storage macroengine:input sub_color set from storage macroengine:engine _input_stack[-1].sub_color +data modify storage macroengine:input distance set from storage macroengine:engine _input_stack[-1].distance +data modify storage macroengine:input filter set from storage macroengine:engine _input_stack[-1].filter +data modify storage macroengine:input new_tag set from storage macroengine:engine _input_stack[-1].new_tag +data modify storage macroengine:input remove_tag set from storage macroengine:engine _input_stack[-1].remove_tag +data modify storage macroengine:input expected set from storage macroengine:engine _input_stack[-1].expected +data modify storage macroengine:input new_block set from storage macroengine:engine _input_stack[-1].new_block +data modify storage macroengine:input replace_with set from storage macroengine:engine _input_stack[-1].replace_with + +data remove storage macroengine:engine _input_stack[-1] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_push.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_push.mcfunction new file mode 100644 index 00000000..4460e804 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/input_push.mcfunction @@ -0,0 +1,95 @@ +data modify storage macroengine:engine _input_stack append value {} + +data modify storage macroengine:engine _input_stack[-1].player set from storage macroengine:input player +data modify storage macroengine:engine _input_stack[-1].key set from storage macroengine:input key +data modify storage macroengine:engine _input_stack[-1].value set from storage macroengine:input value +data modify storage macroengine:engine _input_stack[-1].func set from storage macroengine:input func +data modify storage macroengine:engine _input_stack[-1].count set from storage macroengine:input count +data modify storage macroengine:engine _input_stack[-1].delay set from storage macroengine:input delay +data modify storage macroengine:engine _input_stack[-1].event set from storage macroengine:input event +data modify storage macroengine:engine _input_stack[-1].duration set from storage macroengine:input duration +data modify storage macroengine:engine _input_stack[-1].team set from storage macroengine:input team +data modify storage macroengine:engine _input_stack[-1].target set from storage macroengine:input target +data modify storage macroengine:engine _input_stack[-1].message set from storage macroengine:input message +data modify storage macroengine:engine _input_stack[-1].color set from storage macroengine:input color +data modify storage macroengine:engine _input_stack[-1].label set from storage macroengine:input label +data modify storage macroengine:engine _input_stack[-1].interval set from storage macroengine:input interval +data modify storage macroengine:engine _input_stack[-1].amount set from storage macroengine:input amount +data modify storage macroengine:engine _input_stack[-1].objective set from storage macroengine:input objective +data modify storage macroengine:engine _input_stack[-1].item set from storage macroengine:input item +data modify storage macroengine:engine _input_stack[-1].tag set from storage macroengine:input tag +data modify storage macroengine:engine _input_stack[-1].a set from storage macroengine:input a +data modify storage macroengine:engine _input_stack[-1].b set from storage macroengine:input b +data modify storage macroengine:engine _input_stack[-1].t set from storage macroengine:input t +data modify storage macroengine:engine _input_stack[-1].min set from storage macroengine:input min +data modify storage macroengine:engine _input_stack[-1].max set from storage macroengine:input max +data modify storage macroengine:engine _input_stack[-1].n set from storage macroengine:input n +data modify storage macroengine:engine _input_stack[-1].x set from storage macroengine:input x +data modify storage macroengine:engine _input_stack[-1].y set from storage macroengine:input y +data modify storage macroengine:engine _input_stack[-1].z set from storage macroengine:input z +data modify storage macroengine:engine _input_stack[-1].x1 set from storage macroengine:input x1 +data modify storage macroengine:engine _input_stack[-1].y1 set from storage macroengine:input y1 +data modify storage macroengine:engine _input_stack[-1].z1 set from storage macroengine:input z1 +data modify storage macroengine:engine _input_stack[-1].x2 set from storage macroengine:input x2 +data modify storage macroengine:engine _input_stack[-1].y2 set from storage macroengine:input y2 +data modify storage macroengine:engine _input_stack[-1].z2 set from storage macroengine:input z2 +data modify storage macroengine:engine _input_stack[-1].name set from storage macroengine:input name +data modify storage macroengine:engine _input_stack[-1].dx set from storage macroengine:input dx +data modify storage macroengine:engine _input_stack[-1].dy set from storage macroengine:input dy +data modify storage macroengine:engine _input_stack[-1].dz set from storage macroengine:input dz +data modify storage macroengine:engine _input_stack[-1].speed set from storage macroengine:input speed +data modify storage macroengine:engine _input_stack[-1].sound set from storage macroengine:input sound +data modify storage macroengine:engine _input_stack[-1].volume set from storage macroengine:input volume +data modify storage macroengine:engine _input_stack[-1].pitch set from storage macroengine:input pitch +data modify storage macroengine:engine _input_stack[-1].source set from storage macroengine:input source +data modify storage macroengine:engine _input_stack[-1].category set from storage macroengine:input category +data modify storage macroengine:engine _input_stack[-1].entity set from storage macroengine:input entity +data modify storage macroengine:engine _input_stack[-1].nbt set from storage macroengine:input nbt +data modify storage macroengine:engine _input_stack[-1].block set from storage macroengine:input block +data modify storage macroengine:engine _input_stack[-1].mode set from storage macroengine:input mode +data modify storage macroengine:engine _input_stack[-1].text set from storage macroengine:input text +data modify storage macroengine:engine _input_stack[-1].title set from storage macroengine:input title +data modify storage macroengine:engine _input_stack[-1].subtitle set from storage macroengine:input subtitle +data modify storage macroengine:engine _input_stack[-1].fade_in set from storage macroengine:input fade_in +data modify storage macroengine:engine _input_stack[-1].stay set from storage macroengine:input stay +data modify storage macroengine:engine _input_stack[-1].fade_out set from storage macroengine:input fade_out +data modify storage macroengine:engine _input_stack[-1].effect set from storage macroengine:input effect +data modify storage macroengine:engine _input_stack[-1].enchantment set from storage macroengine:input enchantment +data modify storage macroengine:engine _input_stack[-1].level set from storage macroengine:input level +data modify storage macroengine:engine _input_stack[-1].attribute set from storage macroengine:input attribute +data modify storage macroengine:engine _input_stack[-1].amplifier set from storage macroengine:input amplifier +data modify storage macroengine:engine _input_stack[-1].id set from storage macroengine:input id +data modify storage macroengine:engine _input_stack[-1].rule set from storage macroengine:input rule +data modify storage macroengine:engine _input_stack[-1].type set from storage macroengine:input type +data modify storage macroengine:engine _input_stack[-1].structure set from storage macroengine:input structure +data modify storage macroengine:engine _input_stack[-1].loot_table set from storage macroengine:input loot_table +data modify storage macroengine:engine _input_stack[-1].reason set from storage macroengine:input reason +data modify storage macroengine:engine _input_stack[-1].cmd set from storage macroengine:input cmd +data modify storage macroengine:engine _input_stack[-1].cx set from storage macroengine:input cx +data modify storage macroengine:engine _input_stack[-1].cz set from storage macroengine:input cz +data modify storage macroengine:engine _input_stack[-1].spread set from storage macroengine:input spread +data modify storage macroengine:engine _input_stack[-1].max_range set from storage macroengine:input max_range + +data modify storage macroengine:engine _input_stack[-1].uuid set from storage macroengine:input uuid +data modify storage macroengine:engine _input_stack[-1].customData set from storage macroengine:input customData +data modify storage macroengine:engine _input_stack[-1].invoke set from storage macroengine:input invoke +data modify storage macroengine:engine _input_stack[-1].slot set from storage macroengine:input slot +data modify storage macroengine:engine _input_stack[-1].modifier set from storage macroengine:input modifier +data modify storage macroengine:engine _input_stack[-1].operation set from storage macroengine:input operation +data modify storage macroengine:engine _input_stack[-1].advancement set from storage macroengine:input advancement +data modify storage macroengine:engine _input_stack[-1].json set from storage macroengine:input json +data modify storage macroengine:engine _input_stack[-1].vehicle set from storage macroengine:input vehicle +data modify storage macroengine:engine _input_stack[-1].feature set from storage macroengine:input feature +data modify storage macroengine:engine _input_stack[-1].hide set from storage macroengine:input hide +data modify storage macroengine:engine _input_stack[-1].damage_type set from storage macroengine:input damage_type +data modify storage macroengine:engine _input_stack[-1].fx set from storage macroengine:input fx +data modify storage macroengine:engine _input_stack[-1].fy set from storage macroengine:input fy +data modify storage macroengine:engine _input_stack[-1].fz set from storage macroengine:input fz +data modify storage macroengine:engine _input_stack[-1].sub_color set from storage macroengine:input sub_color +data modify storage macroengine:engine _input_stack[-1].distance set from storage macroengine:input distance +data modify storage macroengine:engine _input_stack[-1].filter set from storage macroengine:input filter +data modify storage macroengine:engine _input_stack[-1].new_tag set from storage macroengine:input new_tag +data modify storage macroengine:engine _input_stack[-1].remove_tag set from storage macroengine:input remove_tag +data modify storage macroengine:engine _input_stack[-1].expected set from storage macroengine:input expected +data modify storage macroengine:engine _input_stack[-1].new_block set from storage macroengine:input new_block +data modify storage macroengine:engine _input_stack[-1].replace_with set from storage macroengine:input replace_with diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once.mcfunction new file mode 100644 index 00000000..ae715436 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once.mcfunction @@ -0,0 +1,8 @@ +$execute if data storage macroengine:engine once_keys.$(key) run return 0 + +$data modify storage macroengine:engine once_keys.$(key) set value 1b + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once ","color":"aqua"},{"text":"[fired] ","color":"green"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_cmd.mcfunction new file mode 100644 index 00000000..c99356fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_cmd.mcfunction @@ -0,0 +1,11 @@ +$execute if data storage macroengine:engine once_keys.$(key) run return 0 + +$data modify storage macroengine:engine once_keys.$(key) set value 1b + +# SECURITY: central gate + +tellraw @a[tag=macroengine.admin] [{"selector":"@s","color":"gold"},{"text":" - command executed","color":"yellow"}] + +$$(cmd) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_cmd ","color":"aqua"},{"text":"[fired] ","color":"green"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player.mcfunction new file mode 100644 index 00000000..e09f062e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/once_per_player +# Runs the function once per player for the given key. +# Will not run again until the session is reset. +# Input : $(func) → function to run +# $(key) → unique key (e.g. "tutorial_intro") +# $(player) → player name +# Output: macroengine:output ran → 1b (ran) / 0b (already done) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output ran set value 0b + +$execute if data storage macroengine:engine once_per_player.$(player).$(key) run return 0 + +data modify storage macroengine:output ran set value 1b +$data modify storage macroengine:engine once_per_player.$(player).$(key) set value 1b + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +function #macroengine:internal/dispatch + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_per_player ","color":"aqua"},{"text":"$(player):$(key) ","color":"white"},{"text":"✔ ran for the first time","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player_reset.mcfunction new file mode 100644 index 00000000..8d6e3785 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/once_per_player_reset.mcfunction @@ -0,0 +1,8 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:core/lib/once_per_player_reset +# Deletes the once_per_player record — function can run again. +# Girdi : $(player), $(key) +# ───────────────────────────────────────────────────────────────── + +$data remove storage macroengine:engine once_per_player.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/once_per_player_reset ","color":"aqua"},{"text":"$(player):$(key) reset","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/process_queue.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/process_queue.mcfunction new file mode 100644 index 00000000..fd3fb672 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/process_queue.mcfunction @@ -0,0 +1,12 @@ +scoreboard players add $pq_depth macroengine.tmp 1 +execute if score $pq_depth macroengine.tmp matches 257.. run return 0 + +execute unless data storage macroengine:engine queue[0] run return 0 + +execute store result score $qdel macroengine.tmp run data get storage macroengine:engine queue[0].delay + +scoreboard players remove $qdel macroengine.tmp 1 +execute store result storage macroengine:engine queue[0].delay int 1 run scoreboard players get $qdel macroengine.tmp + +execute if score $qdel macroengine.tmp matches ..0 run function macroengine:core/internal/core/lib/queue_fire +execute if score $qdel macroengine.tmp matches ..0 run function macroengine:core/lib/process_queue diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add.mcfunction new file mode 100644 index 00000000..8c7bd858 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_as.mcfunction new file mode 100644 index 00000000..2cd59861 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_cmd.mcfunction new file mode 100644 index 00000000..50a559ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_add_cmd.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(delay)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/queue_add_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_clear.mcfunction new file mode 100644 index 00000000..1b247621 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/queue_clear.mcfunction @@ -0,0 +1,2 @@ +data remove storage macroengine:engine queue +data modify storage macroengine:engine queue set value [] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat.mcfunction new file mode 100644 index 00000000..fc10b038 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat.mcfunction @@ -0,0 +1,8 @@ +$data modify storage macroengine:engine _repeat.func set value "$(func)" +$scoreboard players set $rep_n macroengine.tmp $(count) +scoreboard players set $rep_i macroengine.tmp 0 +execute store result storage macroengine:engine _repeat.i int 1 run scoreboard players get $rep_i macroengine.tmp +execute store result storage macroengine:engine _repeat.remaining int 1 run scoreboard players get $rep_n macroengine.tmp +function macroengine:core/internal/core/lib/repeat_run +data remove storage macroengine:engine _repeat +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_as.mcfunction new file mode 100644 index 00000000..fcd29097 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_n.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_n.mcfunction new file mode 100644 index 00000000..f66c089f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/repeat_n.mcfunction @@ -0,0 +1,9 @@ +$scoreboard players set $rn_n macroengine.tmp $(n) +scoreboard players set $rn_i macroengine.tmp 0 + +execute if score $rn_n macroengine.tmp matches ..0 run return 0 + +$data modify storage macroengine:engine _rn_func set value "$(func)" +function macroengine:core/internal/core/lib/repeat_n_loop +data remove storage macroengine:engine _rn_func +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/repeat_n ","color":"aqua"},{"text":"$(func) × $(n)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule.mcfunction new file mode 100644 index 00000000..f7e33cc9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule.mcfunction @@ -0,0 +1,6 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_as.mcfunction new file mode 100644 index 00000000..e543e2ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_as.mcfunction @@ -0,0 +1,7 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).func set value "$(func)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cancel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cancel.mcfunction new file mode 100644 index 00000000..f80c65c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cancel.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine schedules.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cancel ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd.mcfunction new file mode 100644 index 00000000..cf8bea1d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────── +# macroengine:core/lib/schedule_cmd +# Repeating command scheduler at a fixed interval. +# +# Girdi (macroengine:input): +# key — scheduler name (unique identifier) +# cmd — raw command to run on each trigger +# interval — repeat interval in ticks +# ───────────────────────────────────────────── + +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cmd ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" ($(interval)t)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd_as.mcfunction new file mode 100644 index 00000000..97459fcd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_cmd_as.mcfunction @@ -0,0 +1,7 @@ +$execute if data storage macroengine:engine schedules.$(key) run data remove storage macroengine:engine schedules.$(key) + +$data modify storage macroengine:engine schedules.$(key).cmd set value "$(cmd)" +$data modify storage macroengine:engine schedules.$(key).interval set value $(interval) +$data modify storage macroengine:engine schedules.$(key).player set value "$(player)" +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(interval), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_cmd_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if.mcfunction new file mode 100644 index 00000000..91588b5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if_cmd.mcfunction new file mode 100644 index 00000000..adb6bbf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_if_cmd.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add_cmd with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_list.mcfunction new file mode 100644 index 00000000..85d377d3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Active Schedules ","color":"aqua"},{"text":"━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine schedules run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"schedules","interpret":false,"color":"gold"}] +execute unless data storage macroengine:engine schedules run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active schedules)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_renew.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_renew.mcfunction new file mode 100644 index 00000000..d2316b76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_renew.mcfunction @@ -0,0 +1,8 @@ +$execute unless data storage macroengine:engine schedules.$(key) run return 0 +$data modify storage macroengine:engine _sched_tmp set from storage macroengine:engine schedules.$(key) +execute if data storage macroengine:engine _sched_tmp.func if data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_as with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.func unless data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.cmd if data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_cmd_as with storage macroengine:engine _sched_tmp +execute if data storage macroengine:engine _sched_tmp.cmd unless data storage macroengine:engine _sched_tmp.player run function macroengine:core/internal/core/lib/schedule_requeue_cmd with storage macroengine:engine _sched_tmp +data remove storage macroengine:engine _sched_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_renew ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_reset.mcfunction new file mode 100644 index 00000000..0c1beedd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/schedule_reset.mcfunction @@ -0,0 +1,13 @@ +$execute unless data storage macroengine:engine schedules.$(key) run return 0 + +$data modify storage macroengine:engine _sreset set from storage macroengine:engine schedules.$(key) +$data modify storage macroengine:engine _sreset.key set value "$(key)" + +$data remove storage macroengine:engine schedules.$(key) + +execute if data storage macroengine:engine _sreset.func if data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_as with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.func unless data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.cmd if data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_cmd_as with storage macroengine:engine _sreset +execute if data storage macroengine:engine _sreset.cmd unless data storage macroengine:engine _sreset.player run function macroengine:core/internal/core/lib/schedule_reset_do_cmd with storage macroengine:engine _sreset +data remove storage macroengine:engine _sreset +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/schedule_reset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/concat.mcfunction new file mode 100644 index 00000000..51dd5444 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/concat.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/lib/string/concat +# Input: macroengine:input list — list of strings to concatenate +# Output: macroengine:output string.result — combined string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input concat set from storage macroengine:input list +function macroengine_string:util/concat +data modify storage macroengine:output string.result set from storage macroengine_string:output concat +data remove storage macroengine_string:input concat +data remove storage macroengine_string:output concat +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/concat","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/find.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/find.mcfunction new file mode 100644 index 00000000..39e70d5c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/find.mcfunction @@ -0,0 +1,15 @@ +# macroengine:core/lib/string/find +# Input: macroengine:input string — haystack string +# macroengine:input find — substring to search +# macroengine:input n — instance count (0=all, +n=first n, -n=last n) +# Output: macroengine:output string.result — list of start indices, or [-1] if not found +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input find.String set from storage macroengine:input string +data modify storage macroengine_string:input find.Find set from storage macroengine:input find +data remove storage macroengine_string:input find.n +data modify storage macroengine_string:input find.n set from storage macroengine:input n +function macroengine_string:util/find +data modify storage macroengine:output string.result set from storage macroengine_string:output find +data remove storage macroengine_string:input find +data remove storage macroengine_string:output find +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/find","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/insert.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/insert.mcfunction new file mode 100644 index 00000000..63c40bc2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/insert.mcfunction @@ -0,0 +1,15 @@ +# macroengine:core/lib/string/insert +# Input: macroengine:input string — original string +# macroengine:input insertion — string to insert +# macroengine:input index — insertion position (integer) +# Output: macroengine:output string.result — resulting string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input insert.String set from storage macroengine:input string +data modify storage macroengine_string:input insert.Insertion set from storage macroengine:input insertion +data modify storage macroengine:engine _str_bridge.Index set from storage macroengine:input index +function macroengine:core/internal/core/lib/string/insert_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output insert +data remove storage macroengine_string:input insert +data remove storage macroengine_string:output insert +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/insert","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/replace.mcfunction new file mode 100644 index 00000000..636682e2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/replace.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/lib/string/replace +# Input: macroengine:input string — original string +# macroengine:input find — substring to replace +# macroengine:input replace — replacement string +# macroengine:input n — instance count (0/unset=all, +n=first n, -n=last n) +# Output: macroengine:output string.result — resulting string +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input replace.String set from storage macroengine:input string +data modify storage macroengine_string:input replace.Find set from storage macroengine:input find +data modify storage macroengine_string:input replace.Replace set from storage macroengine:input replace +data remove storage macroengine_string:input replace.n +data modify storage macroengine_string:input replace.n set from storage macroengine:input n +function macroengine_string:util/replace +data modify storage macroengine:output string.result set from storage macroengine_string:output replace +data remove storage macroengine_string:input replace +data remove storage macroengine_string:output replace +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/replace","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/split.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/split.mcfunction new file mode 100644 index 00000000..82ea5d6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/split.mcfunction @@ -0,0 +1,19 @@ +# macroengine:core/lib/string/split +# Input: macroengine:input string — original string +# macroengine:input separator — split delimiter (default " ", ""=each char) +# macroengine:input n — max splits (0/unset=all, +n=first n, -n=last n) +# macroengine:input keep_empty — 1b to keep empty segments, omit/0b to strip +# Output: macroengine:output string.result — list of string segments +# Dep: StringLib (CMDred) +data modify storage macroengine_string:input split.String set from storage macroengine:input string +data remove storage macroengine_string:input split.Separator +data modify storage macroengine_string:input split.Separator set from storage macroengine:input separator +data remove storage macroengine_string:input split.n +data modify storage macroengine_string:input split.n set from storage macroengine:input n +data remove storage macroengine_string:input split.KeepEmpty +data modify storage macroengine_string:input split.KeepEmpty set from storage macroengine:input keep_empty +function macroengine_string:util/split +data modify storage macroengine:output string.result set from storage macroengine_string:output split +data remove storage macroengine_string:input split +data remove storage macroengine_string:output split +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/split","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase.mcfunction new file mode 100644 index 00000000..f905f6fc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_lowercase +# Fast variant — covers A-Z only (faster) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — lowercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_lower_fast_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_lowercase","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase_full.mcfunction new file mode 100644 index 00000000..9eae68c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_lowercase_full.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_lowercase_full +# Full variant — covers full Unicode uppercase mapping (slower) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — lowercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_lower_full_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_lowercase_full","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_number.mcfunction new file mode 100644 index 00000000..8745e805 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_number.mcfunction @@ -0,0 +1,10 @@ +# macroengine:core/lib/string/to_number +# Input: macroengine:input string — numeric string (e.g. "42" or "3.14") +# Output: macroengine:output string.result — numeric NBT value +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.Input set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_number_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_number +data remove storage macroengine_string:output to_number +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_number","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_string.mcfunction new file mode 100644 index 00000000..828d464a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_string.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_string +# Input: macroengine:input value — numeric or any SNBT value to stringify +# Output: macroengine:output string.result — string representation +# Note: Prefer 'data modify ... set string storage ...' when possible (cheaper) +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.Input set from storage macroengine:input value +function macroengine:core/internal/core/lib/string/to_string_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_string +data remove storage macroengine_string:output to_string +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_string","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase.mcfunction new file mode 100644 index 00000000..4ccef4a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_uppercase +# Fast variant — covers a-z only (faster) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — uppercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_upper_fast_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_uppercase","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase_full.mcfunction new file mode 100644 index 00000000..99071c34 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/string/to_uppercase_full.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/lib/string/to_uppercase_full +# Full variant — covers full Unicode lowercase mapping (slower) +# Input: macroengine:input string — string to convert +# Output: macroengine:output string.result — uppercase string +# Dep: StringLib (CMDred) +data modify storage macroengine:engine _str_bridge.String set from storage macroengine:input string +function macroengine:core/internal/core/lib/string/to_upper_full_dispatch with storage macroengine:engine _str_bridge +data modify storage macroengine:output string.result set from storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine:engine _str_bridge +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/string/to_uppercase_full","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/sync_tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/sync_tick.mcfunction new file mode 100644 index 00000000..9952d113 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/sync_tick.mcfunction @@ -0,0 +1,3 @@ +execute store result storage macroengine:engine global.tick int 1 run scoreboard players get $tick macroengine.tmp +execute store result storage macroengine:engine global.epoch int 1 run scoreboard players get $epoch macroengine.time +scoreboard players set $tick macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/throttle.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/throttle.mcfunction new file mode 100644 index 00000000..c3eb5bc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/throttle.mcfunction @@ -0,0 +1,15 @@ +scoreboard players set $thr_go macroengine.tmp 1 + +$execute if data storage macroengine:engine throttle.$(key) run execute store result score $thr_exp macroengine.tmp run data get storage macroengine:engine throttle.$(key) +execute store result score $thr_now macroengine.tmp run scoreboard players get $epoch macroengine.time +$execute if data storage macroengine:engine throttle.$(key) run execute if score $thr_now macroengine.tmp < $thr_exp macroengine.tmp run scoreboard players set $thr_go macroengine.tmp 0 + +$execute if score $thr_go macroengine.tmp matches 0 run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/throttle ","color":"aqua"},{"text":"SKIP ","color":"#FF5555"},{"text":"$(key)","color":"aqua"},{"text":" — throttled, skipped","color":"#555555"}] +execute if score $thr_go macroengine.tmp matches 0 run return 0 + +$scoreboard players set $thr_int macroengine.tmp $(interval) +scoreboard players operation $thr_now macroengine.tmp += $thr_int macroengine.tmp +$execute store result storage macroengine:engine throttle.$(key) int 1 run scoreboard players get $thr_now macroengine.tmp + +function macroengine:core/lib/queue_add with storage macroengine:input {} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/throttle ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/ticks_to_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/ticks_to_time.mcfunction new file mode 100644 index 00000000..43897b9d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/ticks_to_time.mcfunction @@ -0,0 +1,26 @@ +$scoreboard players set $ttt_t macroengine.tmp $(ticks) + +execute if score $ttt_t macroengine.tmp matches ..-1 run scoreboard players set $ttt_t macroengine.tmp 0 + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players set $ttt_20 macroengine.tmp 20 +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_20 macroengine.tmp +execute store result storage macroengine:output ticks int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_20 macroengine.tmp + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players set $ttt_60 macroengine.tmp 60 +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_60 macroengine.tmp +execute store result storage macroengine:output seconds int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_60 macroengine.tmp + +scoreboard players operation $ttt_r macroengine.tmp = $ttt_t macroengine.tmp +scoreboard players operation $ttt_r macroengine.tmp %= $ttt_60 macroengine.tmp +execute store result storage macroengine:output minutes int 1 run scoreboard players get $ttt_r macroengine.tmp + +scoreboard players operation $ttt_t macroengine.tmp /= $ttt_60 macroengine.tmp +execute store result storage macroengine:output hours int 1 run scoreboard players get $ttt_t macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/ticks_to_time ","color":"aqua"},{"text":"($(ticks)t)","color":"gray"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"hours","color":"green"},{"text":"h ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"minutes","color":"green"},{"text":"m ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"seconds","color":"green"},{"text":"s ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"ticks","color":"green"},{"text":"t","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait.mcfunction new file mode 100644 index 00000000..91588b5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_as.mcfunction new file mode 100644 index 00000000..3587129a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {func:"$(func)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/wait_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"},{"text":" ($(delay)t) as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd.mcfunction new file mode 100644 index 00000000..adb6bbf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd.mcfunction @@ -0,0 +1 @@ +function macroengine:core/lib/queue_add_cmd with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd_as.mcfunction new file mode 100644 index 00000000..74462c65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/lib/wait_cmd_as.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine queue append value {cmd:"$(cmd)", delay:$(delay), player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"lib/wait_cmd_as ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(cmd)","color":"aqua"},{"text":" ($(delay)t) as $(player)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/load/warn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/load/warn.mcfunction new file mode 100644 index 00000000..c39f3a4c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/load/warn.mcfunction @@ -0,0 +1 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"⚠ ","color":"yellow"},{"text":"Engine not loaded yet. Run ","color":"#555555"},{"text":"/reload","color":"aqua","underlined":true,"click_event": {"action": "run_command", "command": "/reload"}},{"text":" first.","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/clear.mcfunction new file mode 100644 index 00000000..3b8b53e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/clear.mcfunction @@ -0,0 +1,9 @@ +# macroengine:core/queue/clear +# Discards all pending work_queue items immediately. +# No macro input required. +# +# Usage: +# function macroengine:core/queue/clear + +data modify storage macroengine:engine work_queue set value [] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/clear ","color":"aqua"},{"text":"→ work_queue emptied","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/flush.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/flush.mcfunction new file mode 100644 index 00000000..3cdd4c11 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/flush.mcfunction @@ -0,0 +1,11 @@ +# macroengine:core/queue/flush +# Processes ALL remaining work_queue items in a single tick. +# WARNING: large queues will cause a lag spike. Use only when you know +# the queue is small (< ~50 items) or in a controlled context. +# No macro input required. +# +# Usage: +# function macroengine:core/queue/flush + +execute if data storage macroengine:engine work_queue[0] run function macroengine:core/internal/core/queue/flush_loop +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/flush ","color":"aqua"},{"text":"→ done","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push.mcfunction new file mode 100644 index 00000000..75d1046b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/queue/push +# Appends a function call to the rate-limited work queue. +# The engine will execute it at up to work_queue_rate calls/tick. +# +# DIFFERENT from lib/queue_add: +# lib/queue_add → delay-based scheduler (run after N ticks) +# queue/push → throughput limiter (process heavy lists without lag spikes) +# +# Input (macroengine:input queue): +# fn — fully-qualified function path e.g. "mypack:do_thing" +# +# Usage: +# data modify storage macroengine:input queue.fn set value "mypack:do_thing" +# function macroengine:core/queue/push with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue append value {fn:"$(fn)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/push ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(fn)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push_as.mcfunction new file mode 100644 index 00000000..df928083 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/push_as.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/queue/push_as +# Appends a function to the work queue, tagged to execute AS a specific player. +# The player must be online when the item is processed; if offline, it is skipped. +# +# Input (macroengine:input queue): +# fn — function path e.g. "mypack:process_player" +# player — player name or UUID e.g. "" +# +# Usage: +# data modify storage macroengine:input queue set value {fn:"mypack:process_player",player:""} +# function macroengine:core/queue/push_as with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue append value {fn:"$(fn)",player:"$(player)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/push_as ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(fn)","color":"white"},{"text":" as ","color":"#555555"},{"text":"$(player)","color":"#FFAA00"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/set_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/set_rate.mcfunction new file mode 100644 index 00000000..10703161 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/set_rate.mcfunction @@ -0,0 +1,14 @@ +# macroengine:core/queue/set_rate +# Sets how many work_queue items are processed per tick. +# Default: 1. Raise for faster throughput; lower to reduce tick cost. +# A value of 0 pauses processing. +# +# Input (macroengine:input queue): +# rate — integer ≥ 0 +# +# Usage: +# data modify storage macroengine:input queue.rate set value 4 +# function macroengine:core/queue/set_rate with storage macroengine:input queue + +$data modify storage macroengine:engine work_queue_rate set value $(rate) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/set_rate ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(rate)","color":"yellow"},{"text":" items/tick","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/size.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/size.mcfunction new file mode 100644 index 00000000..c1da1985 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/queue/size.mcfunction @@ -0,0 +1,13 @@ +# macroengine:core/queue/size +# Writes the current work_queue item count to macroengine:output queue.size. +# No macro input required. +# +# Output (macroengine:output queue): +# size — int number of pending items +# +# Usage: +# function macroengine:core/queue/size +# data get storage macroengine:output queue.size + +execute store result storage macroengine:output queue.size int 1 run data get storage macroengine:engine work_queue +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"queue/size ","color":"aqua"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"queue.size","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear.mcfunction new file mode 100644 index 00000000..f90c2567 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine states.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/clear ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear_all.mcfunction new file mode 100644 index 00000000..08662aa2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/clear_all.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine states diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get.mcfunction new file mode 100644 index 00000000..3ad783de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine:output result +$execute if data storage macroengine:engine states.$(player) run data modify storage macroengine:output result set from storage macroengine:engine states.$(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/get ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get_score.mcfunction new file mode 100644 index 00000000..454a9687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/get_score.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/state/get_score +# Prints the calling player's current state score. +# Usage: /function macroengine:core/state/get_score +tellraw @s ["",{"text":"[State] ","color":"aqua"},{"text":"current: ","color":"gray"},{"score":{"name":"@s","objective":"macroengine.state"},"color":"white","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/is.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/is.mcfunction new file mode 100644 index 00000000..4c3b5f51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/is.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine states{$(player):"$(state)"} run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/is ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(state)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/list.mcfunction new file mode 100644 index 00000000..3d1e372b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player States ","color":"aqua"},{"text":"━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine states run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"states","interpret":false,"color":"white"}] +execute unless data storage macroengine:engine states run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active states)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/reset_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/reset_score.mcfunction new file mode 100644 index 00000000..8082fc8c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/reset_score.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/state/reset_score +# Resets a player's state to 0 (idle). +# Usage: /function macroengine:core/state/reset_score +scoreboard players set @s macroengine.state 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set.mcfunction new file mode 100644 index 00000000..c2b6032b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine states.$(player) set value "$(state)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/set ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(state)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set_score.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set_score.mcfunction new file mode 100644 index 00000000..98c60c07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/set_score.mcfunction @@ -0,0 +1,5 @@ +# macroengine:core/state/set_score +# Sets a player's integer state on the macroengine.state scoreboard. +# Usage: $function macroengine:core/state/set_score {value:1} +# States: 0=idle 1=combat 2=menu (define your own) +$scoreboard players set @s macroengine.state $(value) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/toggle.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/toggle.mcfunction new file mode 100644 index 00000000..d99de655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/state/toggle.mcfunction @@ -0,0 +1,10 @@ +scoreboard players set $st_tog macroengine.tmp 0 +$execute if data storage macroengine:engine {states:{$(player):"$(on)"}} run scoreboard players set $st_tog macroengine.tmp 1 + +$execute if score $st_tog macroengine.tmp matches 1 run data modify storage macroengine:engine states.$(player) set value "$(off)" +$execute if score $st_tog macroengine.tmp matches 0 run data modify storage macroengine:engine states.$(player) set value "$(on)" + +data remove storage macroengine:output result +$data modify storage macroengine:output result set from storage macroengine:engine states.$(player) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"state/toggle ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" (","color":"#555555"},{"text":"$(on)","color":"gray"},{"text":"↔","color":"#555555"},{"text":"$(off)","color":"gray"},{"text":") → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick.mcfunction new file mode 100644 index 00000000..3937584d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick.mcfunction @@ -0,0 +1,22 @@ +# DL Tick Engine v2 — Entry Point +# Driven by #minecraft:tick function tag (guaranteed 1/game-tick, no drift). +# +# All rate/offset/condition/pause logic is inside the channel dispatcher. +# Do NOT add any per-system logic here — register a channel instead. + +# Guard: no players online → nothing to process +execute unless entity @a run return 0 + +# Guard: engine not initialised +# (loaded flag lives under global.loaded — see macroengine_load:load/all which sets +# `macroengine:engine global.loaded`; every other guard in the pack, e.g. +# core/security/cmd_gate.mcfunction, already checks the correct path) +execute unless data storage macroengine:engine global{loaded:1b} run return 0 + +# Online player count — kept for compatibility +execute store result score #online macroengine.onlinePlayers if entity @a + +# Guard: globally paused (macroengine:core/tick/pause / macroengine:core/tick/resume) +execute if data storage macroengine:engine tick{paused:1b} run return 0 + +execute as @a run function macroengine:core/tick/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/admin_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/admin_systems.mcfunction new file mode 100644 index 00000000..3c9897c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/admin_systems.mcfunction @@ -0,0 +1,11 @@ +# Auto-grant macroengine.debug to admins — configurable via +# macroengine:engine security.auto_debug_tag (default 1b, legacy behavior). +# Set to 0b to require explicit debug-tag management instead: +# /function macroengine:debug/tools/admin/debug_tag/enable +# /function macroengine:debug/tools/admin/debug_tag/disable +execute if data storage macroengine:engine security{auto_debug_tag:1b} run tag @a[tag=macroengine.admin] add macroengine.debug + +scoreboard players enable @a[tag=macroengine.admin] macroengine_menu +scoreboard players enable @a[tag=macroengine.admin] macroengine_action +scoreboard players enable @a[tag=macroengine.admin] macroengine_run +function macroengine:core/internal/systems/geo/region_watch/tick_scan diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/disable.mcfunction new file mode 100644 index 00000000..ac79cff0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/disable.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/disable — Disable a tick channel by ID +# Usage: function macroengine:core/tick/channel/disable {id:"channel_id"} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {enabled:0b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/enable.mcfunction new file mode 100644 index 00000000..63e66946 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/enable.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/enable — Enable a tick channel by ID +# Usage: function macroengine:core/tick/channel/enable {id:"channel_id"} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {enabled:1b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/list.mcfunction new file mode 100644 index 00000000..8da63708 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/list.mcfunction @@ -0,0 +1,2 @@ +# macroengine:core/tick/channel/list — Print all registered tick channels +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/register.mcfunction new file mode 100644 index 00000000..9d69b234 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/register.mcfunction @@ -0,0 +1,17 @@ +# macroengine:core/tick/channel/register — Register or replace a tick channel +# Usage: +# function macroengine:core/tick/channel/register {id:"my_sys",rate:20,offset:0,fn:"my_ns:tick/my_system",enabled:1,condition:""} +# +# Fields: +# id (string) — unique channel identifier +# enabled (0|1) — 1 = active, 0 = paused; stored as byte internally +# rate (int) — fire every N ticks (1 = every tick, 20 = 1/s, 1200 = 1/min) +# offset (int) — phase shift 0..(rate-1); spread channels to avoid lag spikes +# fn (string) — function resource location to execute +# condition (string) — predicate path, or "" to always fire regardless of world state + +# Remove any existing channel with same ID (idempotent) +$data remove storage macroengine:engine tick.channels[{id:"$(id)"}] + +# Append new channel definition +$data modify storage macroengine:engine tick.channels append value {id:"$(id)",enabled:$(enabled)b,rate:$(rate),offset:$(offset),fn:"$(fn)",condition:"$(condition)"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_condition.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_condition.mcfunction new file mode 100644 index 00000000..a73a52db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_condition.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/tick/channel/set_condition — Set or clear condition predicate +# Usage: function macroengine:core/tick/channel/set_condition {id:"channel_id",condition:"ns:pred"} +# function macroengine:core/tick/channel/set_condition {id:"channel_id",condition:""} ← always-run +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {condition:"$(condition)"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_offset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_offset.mcfunction new file mode 100644 index 00000000..eb5fe09f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_offset.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/set_offset — Change phase offset (0 to rate-1) +# Usage: function macroengine:core/tick/channel/set_offset {id:"channel_id",offset:5} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {offset:$(offset)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_rate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_rate.mcfunction new file mode 100644 index 00000000..90cda5ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/set_rate.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/set_rate — Change execution rate (every N ticks, min 1) +# Usage: function macroengine:core/tick/channel/set_rate {id:"channel_id",rate:20} +$data modify storage macroengine:engine tick.channels[{id:"$(id)"}] merge value {rate:$(rate)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/unregister.mcfunction new file mode 100644 index 00000000..f8f84d06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/channel/unregister.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/channel/unregister — Remove a tick channel by ID +# Usage: function macroengine:core/tick/channel/unregister {id:"channel_id"} +$data remove storage macroengine:engine tick.channels[{id:"$(id)"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/config.mcfunction new file mode 100644 index 00000000..408f4344 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/config.mcfunction @@ -0,0 +1,54 @@ +# DL Tick Channel Defaults +# ───────────────────────────────────────────────────────────────────────────── +# This file is the "JSON config" for the tick engine. +# It is executed ONCE on first world load (and on macroengine:core/tick/reset_channels). +# Modify here to change the default channel layout that all new worlds receive. +# +# Channel fields +# ────────────── +# id (string) unique name — used by all API functions +# enabled (1b|0b) 1b = runs each applicable tick, 0b = dormant +# rate (int) fire every N ticks [1=every tick, 20=1/s, 200=10/s] +# offset (int) phase offset 0..(rate-1) +# use different offsets per channel to spread CPU load +# fn (string) function resource location to call +# condition (string) predicate path; "" means "always fire" +# e.g. "macroengine:is_daytime" — only runs during daylight +# +# API (available after load) +# ────────────────────────── +# function macroengine:core/tick/channel/enable {id:"..."} +# function macroengine:core/tick/channel/disable {id:"..."} +# function macroengine:core/tick/channel/set_rate {id:"...",rate:N} +# function macroengine:core/tick/channel/set_offset {id:"...",offset:N} +# function macroengine:core/tick/channel/set_condition {id:"...",condition:"ns:pred"} +# function macroengine:core/tick/channel/register {id:"...",rate:N,offset:N,fn:"ns:path",enabled:1,condition:""} +# function macroengine:core/tick/channel/unregister {id:"..."} +# function macroengine:core/tick/channel/list +# function macroengine:core/tick/pause +# function macroengine:core/tick/resume +# function macroengine:core/tick/status +# function macroengine:core/tick/reset_channels +# function macroengine:systems/log/testblock/place — (re)place the mode=log +# test_block at macroengine:engine debug_log_pos +# function macroengine:debug/tools/log/enable — mirror log messages to +# latest.log via the test_block (default: off) +# function macroengine:debug/tools/log/disable — turn that mirroring back off +# ───────────────────────────────────────────────────────────────────────────── + +data modify storage macroengine:engine tick.channels set value [] + +# time_systems — epoch counter; must stay at rate:1 offset:0 +data modify storage macroengine:engine tick.channels append value {id:"time_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/time_systems",condition:""} + +# player_systems — per-player state polling; every tick +data modify storage macroengine:engine tick.channels append value {id:"player_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/player_systems",condition:""} + +# queue_systems — scheduled task queue; every tick +data modify storage macroengine:engine tick.channels append value {id:"queue_systems",enabled:1b,rate:1,offset:0,fn:"macroengine:core/tick/queue_systems",condition:""} + +# hud_systems — HUD refresh; every 2 ticks, offset 1 (fires on odd ticks, avoiding collision with rate-1 channels) +data modify storage macroengine:engine tick.channels append value {id:"hud_systems",enabled:1b,rate:2,offset:1,fn:"macroengine:core/tick/hud_systems",condition:""} + +# admin_systems — admin tooling; every 4 ticks, offset 2 +data modify storage macroengine:engine tick.channels append value {id:"admin_systems",enabled:1b,rate:4,offset:2,fn:"macroengine:core/tick/admin_systems",condition:""} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/disabled.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/disabled.mcfunction new file mode 100644 index 00000000..e69de29b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch.mcfunction new file mode 100644 index 00000000..20d9e5be --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch.mcfunction @@ -0,0 +1,6 @@ +# DL Tick — Channel Dispatcher +# Increments the internal tick counter then iterates all channels. + +scoreboard players add #tick_ctr macroengine.tick 1 +data modify storage macroengine:tick_work i set value 0 +function macroengine:core/tick/dispatch/step with storage macroengine:tick_work \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/channel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/channel.mcfunction new file mode 100644 index 00000000..489f1427 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/channel.mcfunction @@ -0,0 +1,7 @@ +# DL Tick — Channel Loader [MACRO] +# Copies channels[i] into work storage, skips if disabled. +# Input: $(i) — channel index + +$data modify storage macroengine:tick_work channel set from storage macroengine:engine tick.channels[$(i)] +execute unless data storage macroengine:tick_work channel{enabled:1b} run return 0 +function macroengine:core/tick/dispatch/rate_check with storage macroengine:tick_work channel \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec.mcfunction new file mode 100644 index 00000000..bc4d0670 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec.mcfunction @@ -0,0 +1,8 @@ +# DL Tick — Channel Execute [MACRO] +# Calls fn directly if condition is empty, otherwise checks predicate first. +# Input: $(fn) +# +# condition:"" → always run (no predicate check) + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +execute if data storage macroengine:tick_work channel{condition:""} run function #macroengine:internal/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec2.mcfunction new file mode 100644 index 00000000..4d293e56 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/exec2.mcfunction @@ -0,0 +1,11 @@ +# DL Tick — Channel Execute [MACRO] +# Calls fn directly if condition is empty, otherwise checks predicate first. +# Input: $(fn), $(condition) +# +# condition:"" → always run (no predicate check) +# condition:"macroengine:is_daytime" → only run when predicate passes + +execute if data storage macroengine:tick_work channel{condition:""} run return 0 + +$data modify storage macroengine:engine _dispatch.func set value "$(fn)" +$execute as @a[limit=1] at @s if predicate $(condition) run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/rate_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/rate_check.mcfunction new file mode 100644 index 00000000..cf67c438 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/rate_check.mcfunction @@ -0,0 +1,24 @@ +# DL Tick — Rate/Offset Check [MACRO] +# Fires when (#tick_ctr - offset) % rate == 0. +# Input: $(rate), $(offset), $(fn), $(condition) +# +# rate:1 = every tick | rate:20 = every second | rate:200 = every 10s +# offset: phase shift, spreads channels so they don't all run on the same tick + +$scoreboard players set #rate macroengine.tick $(rate) +$scoreboard players set #offset macroengine.tick $(offset) + +# Compute modular position +scoreboard players operation #check macroengine.tick = #tick_ctr macroengine.tick +scoreboard players operation #check macroengine.tick -= #offset macroengine.tick +scoreboard players operation #check macroengine.tick %= #rate macroengine.tick + +# Fix negative remainder (possible when tick_ctr < offset at world start) +execute if score #check macroengine.tick matches ..-1 run scoreboard players operation #check macroengine.tick += #rate macroengine.tick + +# Not this tick → skip +execute unless score #check macroengine.tick matches 0 run return 0 + +# Passed → execute channel function +execute if data storage macroengine:tick_work channel{condition:""} run function macroengine:core/tick/dispatch/exec with storage macroengine:tick_work channel +execute unless data storage macroengine:tick_work channel{condition:""} run function macroengine:core/tick/dispatch/exec2 with storage macroengine:tick_work channel \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/step.mcfunction new file mode 100644 index 00000000..d1c14655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/dispatch/step.mcfunction @@ -0,0 +1,16 @@ +# DL Tick — Dispatch Step [MACRO] +# Recursive iterator over tick.channels[]. +# Terminates automatically when index exceeds array length. +# Input: $(i) — current channel array index + +# Termination: channel[i] absent → stop +$execute unless data storage macroengine:engine tick.channels[$(i)] run return 0 + +# Process this channel +$function macroengine:core/tick/dispatch/channel {i:$(i)} + +# Advance: $(i)+1 → write back → recurse +$scoreboard players set #ch_next macroengine.tick $(i) +scoreboard players add #ch_next macroengine.tick 1 +execute store result storage macroengine:tick_work i int 1 run scoreboard players get #ch_next macroengine.tick +function macroengine:core/tick/dispatch/step with storage macroengine:tick_work \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/hud_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/hud_systems.mcfunction new file mode 100644 index 00000000..4bb4d597 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/hud_systems.mcfunction @@ -0,0 +1,3 @@ +execute if data storage macroengine:engine pb_obj run scoreboard players operation $pb_mod macroengine.tmp = $epoch macroengine.time +execute if data storage macroengine:engine pb_obj run scoreboard players operation $pb_mod macroengine.tmp %= $pb_four macroengine.tmp +execute if data storage macroengine:engine pb_obj run execute if score $pb_mod macroengine.tmp matches 0 run execute as @a run function macroengine:systems/string/progress_bar_self with storage macroengine:engine {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/init_channels.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/init_channels.mcfunction new file mode 100644 index 00000000..8a7d639c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/init_channels.mcfunction @@ -0,0 +1,4 @@ +# Called during every load — only writes defaults if channels don't exist yet. +# This preserves any runtime customisations made via the channel API. +# To reset to file defaults: function macroengine:core/tick/reset_channels +execute unless data storage macroengine:engine tick.channels run function macroengine:core/tick/config \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/pause.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/pause.mcfunction new file mode 100644 index 00000000..672b8f67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/pause.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/pause — Suspend all tick channels until macroengine:core/tick/resume +data modify storage macroengine:engine tick.paused set value 1b +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick engine paused.","color":"red"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/player_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/player_systems.mcfunction new file mode 100644 index 00000000..1d7f28c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/player_systems.mcfunction @@ -0,0 +1,28 @@ +execute as @a[scores={macroengine_menu=1..}] run function macroengine:menu +scoreboard players set @a[scores={macroengine_menu=1..}] macroengine_menu 0 +scoreboard players enable @a[scores={macroengine_menu=-1..}] macroengine_menu + +execute as @a[scores={macroengine_run=1..}] run function #macroengine:admin/run +scoreboard players set @a[scores={macroengine_run=1..}] macroengine_run 0 +scoreboard players enable @a[scores={macroengine_run=-1..}] macroengine_run + +execute as @a[scores={macroengine_action=1..}] run function macroengine:core/internal/api/trigger/dispatch + +function macroengine:core/internal/api/interaction/tick_scan + +function macroengine:core/internal/api/perm/trigger/tick_start + +scoreboard players remove @a[scores={macroengine.dialog_load=1..}] macroengine.dialog_load 1 + +# Countdown actionbar: show remaining ticks while dialog is loading +#execute as @a[scores={macroengine.dialog_load=1..},tag=macroengine.dialog_opened,tag=!macroengine.dialog_closed] run title @s actionbar ["",{"text":"Loading ","color":"aqua","bold":true},{"score":{"name":"@s","objective":"macroengine.dialog_load"},"color":"yellow","bold":true},{"text":" ticks","color":"gray"}] +execute as @a[scores={macroengine.dialog_load=1..}] run title @s actionbar ["",{"text":"Loading ","color":"aqua","bold":true},{"score":{"name":"@s","objective":"macroengine.dialog_load"},"color":"yellow","bold":true},{"text":" ticks","color":"gray"}] + +execute as @a[scores={macroengine.dialog_load=0},tag=macroengine.dialog_closed] at @s run function macroengine:api/dialog/open +execute as @a[scores={macroengine.dialog_load=0},tag=!macroengine.dialog_closed,tag=!macroengine.dialog_opened] at @s run function macroengine:api/dialog/open + +function macroengine:core/internal/api/wand/tick_scan +function macroengine:core/internal/systems/hook/tick_scan + +function macroengine:core/internal/systems/geo/region_watch/tick_scan +function macroengine:core/internal/api/cmd/freeze/tick \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/queue_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/queue_systems.mcfunction new file mode 100644 index 00000000..2f50846a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/queue_systems.mcfunction @@ -0,0 +1,4 @@ +function macroengine:core/lib/process_queue + +# CB delay queue — process pending command block executions +execute if data storage macroengine:engine modules{cb:1b} run execute if data storage macroengine:engine cb_queue[0] run function macroengine:core/internal/systems/cb/tick diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/reset_channels.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/reset_channels.mcfunction new file mode 100644 index 00000000..1b86d85e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/reset_channels.mcfunction @@ -0,0 +1,4 @@ +# macroengine:core/tick/reset_channels — Overwrite channel storage with config file defaults +# WARNING: this discards ALL runtime API changes (enable/disable/set_rate/etc.) +function macroengine:core/tick/config +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick channels reset to defaults.","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/resume.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/resume.mcfunction new file mode 100644 index 00000000..873524d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/resume.mcfunction @@ -0,0 +1,3 @@ +# macroengine:core/tick/resume — Resume tick engine +data remove storage macroengine:engine tick.paused +tellraw @s [{"text":"[DL] ","color":"gold"},{"text":"Tick engine resumed.","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/status.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/status.mcfunction new file mode 100644 index 00000000..600f4eac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/status.mcfunction @@ -0,0 +1,6 @@ +# macroengine:core/tick/status — Show tick engine diagnostics +tellraw @s [{"text":"","extra":[{"text":"══ DL Tick Engine v2 ══","color":"gold","bold":true}]}] +tellraw @s [{"text":" Counter ","color":"gray"},{"score":{"name":"#tick_ctr","objective":"macroengine.tick"},"color":"aqua"}] +tellraw @s [{"text":" Paused ","color":"gray"},{"plain":true ,"storage":"macroengine:engine","nbt":"tick.paused","color":"red"}] +tellraw @s [{"text":" Channels","color":"gray"}] +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/time_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/time_systems.mcfunction new file mode 100644 index 00000000..eb1e040d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/core/tick/time_systems.mcfunction @@ -0,0 +1,4 @@ +scoreboard players add $epoch macroengine.time 1 +scoreboard players add $tick macroengine.tmp 1 + +scoreboard players set $pq_depth macroengine.tmp 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug.mcfunction new file mode 100644 index 00000000..abd1d4d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug.mcfunction @@ -0,0 +1,15 @@ +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Debug Inspector ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━","color":"#555555"}] + +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.global ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"global","interpret":false,"color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.players ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"players","interpret":false,"color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.cooldowns ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns","interpret":false,"color":"yellow","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.queue ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"queue","interpret":false,"color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.events ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","interpret":false,"color":"light_purple","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.config ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"config","interpret":false,"color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.flags ","color":"white"},{"plain":true ,"storage":"macroengine:engine","nbt":"flags","interpret":false,"color":"green","italic":false}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"I/O ","color":"aqua"},{"text":"─────────────────────────────────","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"input ","color":"white"},{"plain":true ,"storage":"macroengine:input","nbt":"","interpret":false,"color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"output ","color":"white"},{"plain":true ,"storage":"macroengine:output","nbt":"","interpret":false,"color":"aqua","italic":false}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_cooldowns.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_cooldowns.mcfunction new file mode 100644 index 00000000..f789533c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_cooldowns.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_cooldowns +# Dumps all active cooldown records to screen. +# Usage: /function macroengine:debug/dump_cooldowns +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Cooldown Dump ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.cooldowns","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns","color":"yellow","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"epoch now: ","color":"gray"},{"score":{"name":"$epoch","objective":"macroengine.time"},"color":"aqua"}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_events.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_events.mcfunction new file mode 100644 index 00000000..c34ce748 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_events.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_events +# Lists all registered event handlers. +# Usage: /function macroengine:debug/dump_events +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Event Registry ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"engine.events","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","color":"light_purple","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_players.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_players.mcfunction new file mode 100644 index 00000000..11c58fe6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_players.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_players +# Shows all player variables (player vars), PIDs and their states. +# Usage: /function macroengine:debug/dump_players +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player State Dump ","color":"aqua"},{"text":"━━━━━━━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"players ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"players","color":"green","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"pids ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"player_pids","color":"aqua","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"perms ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"permissions","color":"yellow","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_schedules.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_schedules.mcfunction new file mode 100644 index 00000000..3c6bbb97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/dump_schedules.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:debug/dump_schedules +# Shows active schedules and the queue. +# Usage: /function macroengine:debug/dump_schedules +# ───────────────────────────────────────────────────────────────── + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Schedule / Queue Dump ","color":"aqua"},{"text":"━━━━━━━","color":"#555555"}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"schedules","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"schedules","color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"queue ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"queue","color":"gold","italic":false}] +tellraw @s ["",{"text":" ","color":"#555555"},{"text":"throttle ","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"throttle","color":"gray","italic":false}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/example_events.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/example_events.mcfunction new file mode 100644 index 00000000..1b561cf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/example_events.mcfunction @@ -0,0 +1,19 @@ +tellraw @a[tag=macroengine.debug] {"text":"[DEBUG] Event system test starting...","color":"yellow"} + +data modify storage macroengine:input event set value "on_join" +data modify storage macroengine:input func set value "macroengine:debug/internal/on_join_handler" +function macroengine:events/register with storage macroengine:input {} + +data modify storage macroengine:input event set value "on_kill" +data modify storage macroengine:input func set value "macroengine:debug/internal/on_kill_handler" +function macroengine:events/register with storage macroengine:input {} + +data remove storage macroengine:engine event_context +data modify storage macroengine:engine event_context.player set value "TestPlayer" +data modify storage macroengine:engine event_context.reason set value "debug_test" + +data modify storage macroengine:input event set value "on_join" +function macroengine:events/fire with storage macroengine:input {} +data remove storage macroengine:input event + +tellraw @a[tag=macroengine.debug] {"text":"[DEBUG] example_events completed.","color":"green"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/add.mcfunction new file mode 100644 index 00000000..babea962 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/add.mcfunction @@ -0,0 +1,3 @@ + +$execute if entity @s[tag=macroengine.admin] run tag @a[name=$(target),limit=1] add macroengine.admin +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" added as admin.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/disable.mcfunction new file mode 100644 index 00000000..7c71f011 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/disable.mcfunction @@ -0,0 +1,15 @@ +# macroengine:debug/tools/admin/debug_tag/disable +# Turns auto_debug_tag OFF: admins no longer get macroengine.debug +# automatically. Also strips macroengine.debug from every currently +# tagged admin so the effect is immediate, not just "stops granting +# new ones" — otherwise tags handed out by prior ticks would silently +# linger until manually removed, which defeats the point of disabling +# this. +# +# Use macroengine:debug/tools/admin/debug_tag/grant / revoke to manage +# macroengine.debug per-player once this is disabled. + + +data modify storage macroengine:engine security.auto_debug_tag set value 0b +tag @a[tag=macroengine.admin] remove macroengine.debug +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"auto_debug_tag ","color":"white"},{"text":"disabled","color":"yellow"},{"text":" — macroengine.debug removed from all admins. Use debug_tag/grant to assign it manually.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/enable.mcfunction new file mode 100644 index 00000000..8d38ba98 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/enable.mcfunction @@ -0,0 +1,7 @@ +# macroengine:debug/tools/admin/debug_tag/enable +# Turns auto_debug_tag back ON: every admin (macroengine.admin tag) is +# granted macroengine.debug automatically each tick (legacy default). + + +data modify storage macroengine:engine security.auto_debug_tag set value 1b +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"auto_debug_tag ","color":"white"},{"text":"enabled","color":"green"},{"text":" — admins get macroengine.debug automatically again.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/grant.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/grant.mcfunction new file mode 100644 index 00000000..d1bdcf7d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/grant.mcfunction @@ -0,0 +1,10 @@ +# macroengine:debug/tools/admin/debug_tag/grant +# Manually grants macroengine.debug to a single player, regardless of the +# auto_debug_tag setting. Intended for use once auto_debug_tag is 0b — +# grants made while it's 1b have no visible effect since the tick +# system re-adds the tag to every admin anyway. +# Usage: /function macroengine:debug/tools/admin/debug_tag/grant {target:"PlayerName"} + + +$tag @a[name=$(target),limit=1] add macroengine.debug +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" granted macroengine.debug.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/revoke.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/revoke.mcfunction new file mode 100644 index 00000000..0fd87c80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/debug_tag/revoke.mcfunction @@ -0,0 +1,10 @@ +# macroengine:debug/tools/admin/debug_tag/revoke +# Manually removes macroengine.debug from a single player. If +# auto_debug_tag is still 1b and the target is a macroengine.admin, the +# tag reappears on the next tick — revoke is only durable once +# auto_debug_tag is 0b. +# Usage: /function macroengine:debug/tools/admin/debug_tag/revoke {target:"PlayerName"} + + +$tag @a[name=$(target),limit=1] remove macroengine.debug +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" — macroengine.debug revoked.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/list.mcfunction new file mode 100644 index 00000000..981606a6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/list.mcfunction @@ -0,0 +1,5 @@ + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Admin List ","color":"aqua"},{"text":"━━━━━━━━━━━━━━","color":"#555555"}] +execute if entity @a[tag=macroengine.admin] run tellraw @s ["",{"text":" ◈ ","color":"#00AAAA"},{"selector":"@a[tag=macroengine.admin]","color":"white"}] +execute unless entity @a[tag=macroengine.admin] run tellraw @s ["",{"text":" ","color":"#555555"},{"text":"(no admins)","color":"gray","italic":true}] +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/remove.mcfunction new file mode 100644 index 00000000..8cd3b519 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/admin/remove.mcfunction @@ -0,0 +1,3 @@ + +$execute if entity @s[tag=macroengine.admin] run tag @a[name=$(target),limit=1] remove macroengine.admin +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"✔ ","color":"green"},{"text":"$(target)","color":"white"},{"text":" removed from admins.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/disable.mcfunction new file mode 100644 index 00000000..94ba78ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/disable.mcfunction @@ -0,0 +1,4 @@ +# macroengine:debug/tools/log/disable +# Turns off test_block console mirroring for systems/log/add calls. +# Verify it took effect with: /data get storage macroengine:engine security.debug_log +data modify storage macroengine:engine security.debug_log set value 0b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/enable.mcfunction new file mode 100644 index 00000000..6f22414a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/log/enable.mcfunction @@ -0,0 +1,6 @@ +# macroengine: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 macroengine:systems/log/testblock/place first if you haven't. +# Verify it took effect with: /data get storage macroengine:engine security.debug_log +data modify storage macroengine:engine security.debug_log set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger.mcfunction new file mode 100644 index 00000000..3a1dc9c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger.mcfunction @@ -0,0 +1 @@ +$function macroengine:debug/tools/trigger/execute {type:"$(type)",data:$(data)} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger/execute.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger/execute.mcfunction new file mode 100644 index 00000000..10e83888 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/debug/tools/trigger/execute.mcfunction @@ -0,0 +1,24 @@ +# macroengine:debug/tools/trigger — single-call dispatch layer (EC-style). +# Does not require EventCore; uses AME's own macroengine:api/cmd/* functions. +# +# Usage: +# function macroengine:debug/tools/trigger {type:"", data:{...}} +# function macroengine:debug/tools/trigger {type:"", data:{...}, config:{silent:1}} +# +# config:{silent:1} → suppress debug tellraw. + + +data modify storage macroengine:engine tools_trigger.data.uuid set from entity @s UUID + +$data modify storage macroengine:engine tools_trigger.type set value "$(type)" +$data modify storage macroengine:engine tools_trigger.data set value $(data) + +# Execute action +function macroengine:core/internal/debug/tools/trigger/dispatch + +# Debug message +$execute if data storage macroengine:engine tools_trigger.config{silent:1} run tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"tools/trigger/execute ","color":"aqua"},{"text":"► ","color":"yellow"},{"text":"$(type)","color":"white"}] +execute if data storage macroengine:engine tools_trigger.config{silent:0} run function macroengine:core/tick/disabled + +# Remove 'macroengine:engine tools_trigger' storage +data remove storage macroengine:engine tools_trigger diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/disable.mcfunction new file mode 100644 index 00000000..a0d0d16e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/disable.mcfunction @@ -0,0 +1,3 @@ +function macroengine:core/disable/main + +tellraw @s [{"text":"To restart:"}," ",{"text":"/datapack enable 'file/macroEngine.zip'","color":"aqua","bold":true,"italic":false,"click_event": {"action": "run_command", "command": "/datapack enable 'file/macroEngine.zip'"}},", ",{"text":"/datapack enable 'file/macroEngine'","color":"aqua","bold":true,"italic":false,"click_event": {"action": "run_command", "command": "/datapack enable 'file/macroEngine'"}}," or",{"text":"/datapack enable 'file/macroEngine-full.zip'","color":"aqua","bold":true,"italic":false,"click_event": {"action": "run_command", "command": "/datapack enable 'file/macroEngine-full.zip'"}}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/clear_context.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/clear_context.mcfunction new file mode 100644 index 00000000..d2933a24 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/clear_context.mcfunction @@ -0,0 +1 @@ +data remove storage macroengine:engine event_context \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/count.mcfunction new file mode 100644 index 00000000..e4b5c2ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/count.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0 +$execute if data storage macroengine:engine events.$(event) run execute store result storage macroengine:output result int 1 run data get storage macroengine:engine events.$(event) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire.mcfunction new file mode 100644 index 00000000..8592b00b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire.mcfunction @@ -0,0 +1,7 @@ +$execute unless data storage macroengine:engine events.$(event) run execute as @a[tag=macroengine.debug] run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire ","color":"aqua"},{"text":"SKIP ","color":"#FF5555"},{"text":"$(event)","color":"#AAAAAA"},{"text":" — no handlers registered","color":"#555555"}] +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _event_tmp set from storage macroengine:engine events.$(event) +execute if data storage macroengine:engine _event_tmp[0] run function macroengine:core/internal/events/fire_next +data remove storage macroengine:engine _event_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_as.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_as.mcfunction new file mode 100644 index 00000000..f885153e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_as.mcfunction @@ -0,0 +1,7 @@ +$data modify storage macroengine:engine event_context.player set value "$(player)" + +function macroengine:events/fire with storage macroengine:input {} + +data remove storage macroengine:engine event_context.player + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_as ","color":"aqua"},{"text":"$(event)","color":"aqua"},{"text":" as ","color":"#555555"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_queued.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_queued.mcfunction new file mode 100644 index 00000000..a5f1469f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_queued.mcfunction @@ -0,0 +1,4 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine queue append value {func:"macroengine:events/internal/fire_deferred", delay:$(delay), event:"$(event)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_queued ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_to_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_to_player.mcfunction new file mode 100644 index 00000000..f063b3d8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/fire_to_player.mcfunction @@ -0,0 +1,7 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _event_tmp set from storage macroengine:engine events.$(event) + +$execute as @a[name=$(player),limit=1] run function macroengine:core/internal/events/fire_next +data remove storage macroengine:engine _event_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/fire_to_player ","color":"aqua"},{"text":"$(event) → $(player)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/has.mcfunction new file mode 100644 index 00000000..38afd562 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine events.$(event) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/has ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/list.mcfunction new file mode 100644 index 00000000..a12dec85 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Registered Events ","color":"aqua"},{"text":"━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine events run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"events","interpret":false,"color":"yellow"}] +execute unless data storage macroengine:engine events run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no registered events)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/register.mcfunction new file mode 100644 index 00000000..f3cc349a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/register.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine events.$(event) append value {func:"$(func)"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/register ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister.mcfunction new file mode 100644 index 00000000..614f765f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine events.$(event) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/unregister ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(event)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister_one.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister_one.mcfunction new file mode 100644 index 00000000..e16668e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/events/unregister_one.mcfunction @@ -0,0 +1,12 @@ +$execute unless data storage macroengine:engine events.$(event) run return 0 + +$data modify storage macroengine:engine _uro.event set value "$(event)" +$data modify storage macroengine:engine _uro.func set value "$(func)" +$data modify storage macroengine:engine _uro.src set from storage macroengine:engine events.$(event) + +$data remove storage macroengine:engine events.$(event) + +execute if data storage macroengine:engine _uro.src[0] run function macroengine:core/internal/events/uro_loop + +data remove storage macroengine:engine _uro +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"event/unregister_one ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/command_block_minecart.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/command_block_minecart.mcfunction new file mode 100644 index 00000000..b2fd84db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/command_block_minecart.mcfunction @@ -0,0 +1,46 @@ +# ====================================================================================== +# macroengine:input/command_block_minecart +# ====================================================================================== +# +# TRIGGERED BY: #macroengine:input/command_block_minecart function tag +# +# PURPOSE: +# Reads the Command NBT off any command_block_minecart tagged 'macroengine_input', +# dropped into the world via +# 'summon minecraft:command_block_minecart ~ ~ ~ {Tags:["macroengine_input"]}'. +# CAPTURE ONLY — never executes the string itself. +# +# REWRITTEN based on Legends11's reference implementation (TunnelScript-1.20.1: +# tunnelscript_core:internal/minecart_scan + minecart_process + minecart_capture). +# Bugs fixed vs. the previous version: +# +# BUG 1 — wrong emptiness check. Previous version used +# 'execute unless data entity @s Command run return 0' +# which only checks whether the Command PATH exists, not whether its VALUE +# is empty. A minecart with Command:"" (path present, value empty) passed +# this check and was treated as real input — false positive capture. Fixed +# by comparing the actual value, matching TunnelScript's +# 'execute unless data storage tunnelscript:minecart {current:""}'. +# +# BUG 2 — killed the entity instead of clearing it. TunnelScript never +# kills the minecart: it resets Command back to "" and keeps the entity +# alive for reuse (this also matches the 'tunnelscript_input' tag used +# elsewhere by Legends11 for the align/tp helper, which assumes the +# minecart persists rather than being destroyed each capture). Fixed to +# clear Command instead of killing @s. +# +# BUG 3 — 'limit=1,sort=nearest' silently ignored every other tagged +# minecart in the world. TunnelScript scans ALL tagged minecarts every +# tick with a plain 'as @e[...]', no limit. Fixed to match. +# +# SECURITY NOTE (unchanged): whoever can summon this entity with a real +# Command value already has raw command-execution ability. This function +# transports that string into the datapack, it does not create the +# privilege — the real permission boundary is who can spawn a marked +# minecart at all. +# ====================================================================================== + +# Fast exit — nothing tagged, nothing to scan this tick. +execute unless entity @e[type=minecraft:command_block_minecart,tag=macroengine_input] run return 0 + +execute as @e[type=minecraft:command_block_minecart,tag=macroengine_input] run function macroengine:input/private/cbm_process diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/dialog.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/dialog.mcfunction new file mode 100644 index 00000000..fe5f56fc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/dialog.mcfunction @@ -0,0 +1,22 @@ +# ====================================================================================== +# macroengine:input/dialog +# ====================================================================================== +# +# TRIGGERED BY: #macroengine:input/dialog function tag +# +# PURPOSE: +# Opens macroengine:input_prompt dialog for @s (must be run 'as' a player, +# e.g. 'execute as run function macroengine:input/dialog', or bound +# to a right-click/other trigger by the caller). Submitted text lands in +# macroengine:input_prompt's action, which macro-calls +# macroengine:input/private/dialog_capture — capture only, no execution. +# +# ASSUMPTION FLAGGED — CONFIRM WITH LEGENDS11: +# This function assumes the caller decides WHEN to open the dialog +# (e.g. right-click on an item, a command, an advancement). It is NOT +# wired to any automatic trigger itself — I did not invent one since +# none was specified. +# ====================================================================================== + +execute if entity @s[type=minecraft:player] run dialog show @s macroengine:input_prompt +execute unless entity @s[type=minecraft:player] run return fail diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/give_writable_book.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/give_writable_book.mcfunction new file mode 100644 index 00000000..0ea811a8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/give_writable_book.mcfunction @@ -0,0 +1 @@ +give @s minecraft:writable_book[minecraft:custom_data={macroengine:{input:1b}}] 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/book_capture.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/book_capture.mcfunction new file mode 100644 index 00000000..9148172b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/book_capture.mcfunction @@ -0,0 +1,24 @@ +# ====================================================================================== +# macroengine:input/private/book_capture [INTERNAL — do not call directly] +# ====================================================================================== +# +# Runs with @s bound to a single player holding the marked written_book. +# Extracts SelectedItem.components."minecraft:writable_book_content".pages[0].raw +# into macroengine:input storage. Read-only capture, no execution. +# +# book.raw is a RAW, UNVALIDATED string — same contract as cbm.command and +# dialog.raw. If the caller needs it as a number/bool/tag-safe literal, +# run it through macroengine:input/validate/check first: +# function macroengine:input/validate/check with storage {source:"book.raw", type:"int"} +# ====================================================================================== + +data modify storage macroengine:input book.player set from entity @s UUID +data modify storage macroengine:input book.raw set from entity @s SelectedItem.components."minecraft:writable_book_content".pages[0].raw + +# Same "raw, unvalidated, unexecuted" contract as command_block_minecart capture. +data modify storage macroengine:input book.executed set value 0b +execute if data storage macroengine:input book{executed:0b} run function #macroengine:input/writable_book + +# Clear the custom_data marker so the same book cannot be resubmitted every +# tick while the player keeps holding it — this is a one-shot capture. +data remove entity @s SelectedItem.components."minecraft:custom_data".macroengine.input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_align_tp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_align_tp.mcfunction new file mode 100644 index 00000000..57f78892 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_align_tp.mcfunction @@ -0,0 +1,16 @@ +# ====================================================================================== +# macroengine:input/private/cbm_align_tp [INTERNAL — call explicitly, not auto-ticked] +# ====================================================================================== +# +# Legends11's tested pattern: teleports the executing player to the nearest +# entity tagged 'macroengine_input' along their eye-line, avoiding a manual +# rail + redstone_block setup and skipping the "right-click to open" step. +# +# NOT added to #macroengine:events/on_tick automatically — this runs 'as @a', +# which is a different cost/behavior profile than the capture functions +# above (it moves players every tick if left running unconditionally). +# Hook this into whatever trigger Legends11 intends (a specific tag, +# a command, an advancement) — not assumed here. +# ====================================================================================== + +execute as @s at @s anchored eyes align y positioned ^ ^ ^0.0 run tp @e[type=minecraft:command_block_minecart,tag=macroengine_input,sort=nearest,limit=1] ~ ~-0.23 ~ diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_capture.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_capture.mcfunction new file mode 100644 index 00000000..5e2317d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_capture.mcfunction @@ -0,0 +1,38 @@ +# ====================================================================================== +# macroengine:input/private/cbm_capture [INTERNAL — do not call directly] +# ====================================================================================== +# +# Only reached when cbm_process confirmed Command is non-empty. Runs with +# @s still bound to that minecart. +# +# TOCTOU note: snapshot into macroengine:input BEFORE clearing Command, so a +# later tick mutating the entity's NBT cannot change what we already +# captured this tick. +# +# Entity handling matches TunnelScript: Command is cleared back to "" so +# the minecart is reusable and is NOT killed. This also matches the +# 'tunnelscript_input' tag Legends11 uses elsewhere (cbm_align_tp), which +# assumes the tagged minecart persists in the world. +# ====================================================================================== + +# Snapshot raw command string as-is — no interpretation, no execution. +data modify storage macroengine:input cbm.command set from storage macroengine:input _cbm.current + +data modify storage macroengine:input cbm.source_uuid set from entity @s UUID +data modify storage macroengine:input cbm.pos set from entity @s Pos + +# "raw, unvalidated, unexecuted" — downstream (separate execution pack) +# macroengine:debug/tools/utils/input_check before ever treating it as +# runnable, and running it there stays optional, never mandatory. +# +# Separately, if a caller wants cbm.command as a number/bool/tag-safe +# literal (not as a runnable command), use macroengine:input/validate/check: +# function macroengine:input/validate/check with storage {source:"cbm.command", type:"int"} +data modify storage macroengine:input cbm.executed set value 0b +execute if data storage macroengine:input cbm{executed:0b} run function #macroengine:input/command_block_minecart + +# Clear Command so this same value isn't recaptured next tick — the +# minecart itself is kept alive, not killed. +data modify entity @s Command set value "" + +data remove storage macroengine:input _cbm diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_process.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_process.mcfunction new file mode 100644 index 00000000..1444e28c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/cbm_process.mcfunction @@ -0,0 +1,16 @@ +# ====================================================================================== +# macroengine:input/private/cbm_process [INTERNAL — do not call directly] +# ====================================================================================== +# +# Runs with @s bound to a single tagged command_block_minecart. Reads its +# Command NBT into scratch storage, then only proceeds to capture if the +# value is a REAL non-empty string — matching TunnelScript's +# 'execute unless data storage tunnelscript:minecart {current:""}' check, +# not just a path-existence check. +# ====================================================================================== + +data modify storage macroengine:input _cbm.current set from entity @s Command + +# Compare the actual VALUE to "" — a compound match, not a path-existence +# check. This is the fix for the false-positive-on-empty-Command bug. +execute unless data storage macroengine:input {_cbm:{current:""}} run function macroengine:input/private/cbm_capture diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/dialog_capture.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/dialog_capture.mcfunction new file mode 100644 index 00000000..5a36ae8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/private/dialog_capture.mcfunction @@ -0,0 +1,21 @@ +# ====================================================================================== +# macroengine:input/private/dialog_capture [INTERNAL — do not call directly] +# ====================================================================================== +# +# Called by the dialog system itself via its "run_command" action template +# (dialog-native substitution, NOT a datapack $$(cmd) macro chain). Receives +# the submitted text as $(value) and stores it — read-only capture, no +# execution of the submitted text as a command. +# +# NOTE: this file uses '$' line-macro syntax because it is invoked as a +# macro function (the dialog template calls it with a {value:...} NBT +# compound). This is NOT the $$(cmd) EXECUTION macro pattern Legends11 +# asked to avoid — no field here is ever run as a command, only stored. +# ====================================================================================== + +# dialog.raw is RAW, UNVALIDATED text. Run it through +# macroengine:input/validate/check before treating it as a number/bool/tag-safe +# literal: function macroengine:input/validate/check with storage {source:"dialog.raw", type:"int"} +data modify storage macroengine:input dialog.raw set value "$(value)" +data modify storage macroengine:input dialog.executed set value 0b +execute if data storage macroengine:input dialog{executed:0b} run function #macroengine:input/dialog \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/summon_cbm.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/summon_cbm.mcfunction new file mode 100644 index 00000000..fa013252 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/summon_cbm.mcfunction @@ -0,0 +1,2 @@ +kill @e[type=minecraft:minecart,tag=macroengine_input,sort=nearest,limit=1,distance=..2] +summon minecraft:command_block_minecart ~ ~ ~ {OnGround:1b,UpdateLastExecution:1b,Command:"",Tags:["macroengine_input"],TrackOutput:1b} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_bool.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_bool.mcfunction new file mode 100644 index 00000000..01b925bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_bool.mcfunction @@ -0,0 +1,13 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_bool [INTERNAL] +# ====================================================================================== +# Requires scratch.value to be the exact string "true" or "false". No +# case-folding — "True"/"TRUE" are rejected on purpose, since silently +# accepting them just moves the ambiguity one step further down instead +# of resolving it. +# ====================================================================================== + +execute if data storage macroengine:input_validate {scratch:{value:"true"}} run data modify storage macroengine:input_validate result.valid set value 1b +execute if data storage macroengine:input_validate {scratch:{value:"false"}} run data modify storage macroengine:input_validate result.valid set value 1b + +execute unless data storage macroengine:input_validate {result:{valid:1b}} run data modify storage macroengine:input_validate result.error set value "expected exactly \"true\" or \"false\"" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float.mcfunction new file mode 100644 index 00000000..b72521bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float.mcfunction @@ -0,0 +1,57 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_float [INTERNAL] +# ====================================================================================== +# Same digit-counting strategy as check_int, but first strips at most one +# '.' (anywhere after a possible leading '-', not at position 0 of rest, +# not as the last character either — "1." and ".5" are rejected as +# ambiguous rather than guessed at). +# ====================================================================================== + +data modify storage macroengine:input_validate scratch.rest set from storage macroengine:input_validate scratch.value + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +# Count the dots via replace() — its return value is a real match count, +# unlike find()'s (see count_one_digit for why find()'s own return isn't +# usable as a count). +data modify storage macroengine_string:input replace.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input replace.Find set value "." +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 0 + +scoreboard players set #macroengine.DotHits macroengine.tmp 0 +execute store result score #macroengine.DotHits macroengine.tmp run function macroengine_string:util/replace + +execute if score #macroengine.DotHits macroengine.tmp matches 2.. run data modify storage macroengine:input_validate result.error set value "more than one '.'" +execute if score #macroengine.DotHits macroengine.tmp matches 2.. run return 0 + +# Exactly one dot: find its position (find()'s OUTPUT LIST is trustworthy — +# only its own return value isn't) and reject if it's first/last char. +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.rest +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.Find set value "." +execute if score #macroengine.DotHits macroengine.tmp matches 1 run data modify storage macroengine_string:input find.n set value 1 +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine_string:util/find +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine:input/validate/_private/check_float_dot_position +execute if score #macroengine.DotHits macroengine.tmp matches 1 if data storage macroengine:input_validate {result:{error:"malformed decimal point"}} run return 0 + +# Strip leading '-' the same way check_int does. +data modify storage macroengine:input_validate scratch.first set string storage macroengine:input_validate scratch.rest 0 1 +execute if data storage macroengine:input_validate {scratch:{first:"-"}} run data modify storage macroengine:input_validate scratch.rest set string storage macroengine:input_validate scratch.rest 1 +data remove storage macroengine:input_validate scratch.first + +# Remove the single '.' itself before counting digits (it's not a digit, +# but it's the one non-digit char we're intentionally allowing). +execute if score #macroengine.DotHits macroengine.tmp matches 1 run function macroengine:input/validate/_private/strip_one_dot + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "no digits" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +function macroengine:input/validate/_private/count_digits + +execute if score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.valid set value 1b +execute unless score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.error set value "contains a non-digit character" + +data remove storage macroengine:input_validate scratch.rest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float_dot_position.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float_dot_position.mcfunction new file mode 100644 index 00000000..fb41ec99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_float_dot_position.mcfunction @@ -0,0 +1,17 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_float_dot_position [INTERNAL] +# ====================================================================================== +# macroengine_string:output find holds a one-element list [idx] for the '.' just +# located by check_float. Rejects idx == 0 (leading dot, e.g. ".5") and +# idx == len-1 (trailing dot, e.g. "1.") as malformed rather than +# guessing an implied leading/trailing zero. +# ====================================================================================== + +execute store result score #macroengine.DotIdx macroengine.tmp run data get storage macroengine_string:output find[0] +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest + +scoreboard players operation #macroengine.LastIdx macroengine.tmp = #macroengine.Len macroengine.tmp +scoreboard players remove #macroengine.LastIdx macroengine.tmp 1 + +execute if score #macroengine.DotIdx macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "malformed decimal point" +execute if score #macroengine.DotIdx macroengine.tmp = #macroengine.LastIdx macroengine.tmp run data modify storage macroengine:input_validate result.error set value "malformed decimal point" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_int.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_int.mcfunction new file mode 100644 index 00000000..533c3044 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_int.mcfunction @@ -0,0 +1,39 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_int [INTERNAL] +# ====================================================================================== +# +# FAST METHOD (no per-character recursion): +# A string is "all digits, optional leading -" iff: +# 1. stripping one leading '-' (if present) leaves a non-empty rest, AND +# 2. the sum of how many times each of '0'..'9' occurs in that rest, +# via macroengine_string:util/find, equals the rest's total length. +# If every character is one of the 10 digits, the counts must add up to +# the full length — any non-digit character breaks the sum by definition, +# without needing to inspect it directly. +# +# Reuses macroengine_string:util/find (read-only substring search) — this never +# executes the input, only counts characters via a library already +# audited for the $$(command) macro-injection fix. +# ====================================================================================== + +data modify storage macroengine:input_validate scratch.rest set from storage macroengine:input_validate scratch.value + +# Strip one leading '-' if present (allowed once, at position 0 only). +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +data modify storage macroengine:input_validate scratch.first set string storage macroengine:input_validate scratch.rest 0 1 +execute if data storage macroengine:input_validate {scratch:{first:"-"}} run data modify storage macroengine:input_validate scratch.rest set string storage macroengine:input_validate scratch.rest 1 +data remove storage macroengine:input_validate scratch.first + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.rest +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "no digits after '-'" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +function macroengine:input/validate/_private/count_digits + +execute if score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.valid set value 1b +execute unless score #macroengine.DigitCount macroengine.tmp = #macroengine.Len macroengine.tmp run data modify storage macroengine:input_validate result.error set value "contains a non-digit character" + +data remove storage macroengine:input_validate scratch.rest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_tag_safe.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_tag_safe.mcfunction new file mode 100644 index 00000000..29b7f2bd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/check_tag_safe.mcfunction @@ -0,0 +1,40 @@ +# ====================================================================================== +# macroengine:input/validate/_private/check_tag_safe [INTERNAL] +# ====================================================================================== +# Rejects empty strings and any string containing one of: space " ' { } [ ] : +# or a literal backslash. Safe result can be used as a scoreboard +# objective/player-name fragment or dropped unquoted into a single NBT +# string field without needing escaping. +# +# One macroengine_string:util/find per forbidden character — fixed cost (9 calls), +# not per-character-of-input. +# ====================================================================================== + +execute store result score #macroengine.Len macroengine.tmp run data get storage macroengine:input_validate scratch.value +execute if score #macroengine.Len macroengine.tmp matches 0 run data modify storage macroengine:input_validate result.error set value "empty input" +execute if score #macroengine.Len macroengine.tmp matches 0 run return 0 + +data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.value +data modify storage macroengine_string:input find.n set value 1 + +data modify storage macroengine:input_validate scratch.bad set value 0b + +function macroengine:input/validate/_private/reject_if_present {char:" "} +function macroengine:input/validate/_private/reject_if_present {char:"\""} +function macroengine:input/validate/_private/reject_if_present {char:"'"} +function macroengine:input/validate/_private/reject_if_present {char:"{"} +function macroengine:input/validate/_private/reject_if_present {char:"}"} +function macroengine:input/validate/_private/reject_if_present {char:"["} +function macroengine:input/validate/_private/reject_if_present {char:"]"} +function macroengine:input/validate/_private/reject_if_present {char:":"} +function macroengine:input/validate/_private/reject_if_present {char:"\\"} +function macroengine:input/validate/_private/reject_if_present {char:"§"} +function macroengine:input/validate/_private/reject_if_present {char:"|"} +function macroengine:input/validate/_private/reject_if_present {char:"^"} +function macroengine:input/validate/_private/reject_if_present {char:"<"} +function macroengine:input/validate/_private/reject_if_present {char:">"} + +execute unless data storage macroengine:input_validate {scratch:{bad:1b}} run data modify storage macroengine:input_validate result.valid set value 1b +execute if data storage macroengine:input_validate {scratch:{bad:1b}} run data modify storage macroengine:input_validate result.error set value "contains a disallowed character (space, quote, brace, bracket, colon, or backslash)" + +data remove storage macroengine:input_validate scratch.bad diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_digits.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_digits.mcfunction new file mode 100644 index 00000000..d5dd6fd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_digits.mcfunction @@ -0,0 +1,28 @@ +# ====================================================================================== +# macroengine:input/validate/_private/count_digits [INTERNAL] +# ====================================================================================== +# Requires scratch.rest to be set (the string to scan, already stripped of +# any leading sign/dot handling by the caller). Sets score +# #macroengine.DigitCount macroengine.tmp to the total number of '0'-'9' characters found +# in scratch.rest, using macroengine_string:util/find once per digit. +# +# Note on cost: this is 10 macroengine_string:util/find calls regardless of input +# length — flat cost, not per-character — which is what makes it cheap +# next to a recursive char-walk. +# ====================================================================================== + +scoreboard players set #macroengine.DigitCount macroengine.tmp 0 + +data modify storage macroengine_string:input find.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input find.n set value 0 + +function macroengine:input/validate/_private/count_one_digit {digit:"0"} +function macroengine:input/validate/_private/count_one_digit {digit:"1"} +function macroengine:input/validate/_private/count_one_digit {digit:"2"} +function macroengine:input/validate/_private/count_one_digit {digit:"3"} +function macroengine:input/validate/_private/count_one_digit {digit:"4"} +function macroengine:input/validate/_private/count_one_digit {digit:"5"} +function macroengine:input/validate/_private/count_one_digit {digit:"6"} +function macroengine:input/validate/_private/count_one_digit {digit:"7"} +function macroengine:input/validate/_private/count_one_digit {digit:"8"} +function macroengine:input/validate/_private/count_one_digit {digit:"9"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_one_digit.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_one_digit.mcfunction new file mode 100644 index 00000000..f747fb02 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/count_one_digit.mcfunction @@ -0,0 +1,27 @@ +# ====================================================================================== +# macroengine:input/validate/_private/count_one_digit [INTERNAL — macro function] +# ====================================================================================== +# Called with {digit: "0".."9"}. macroengine_string:input find.String is assumed +# already set by the caller (count_digits) to the string being scanned — +# reused here as replace.String too. +# +# Uses macroengine_string:util/replace(Find:"", Replace:"") instead of +# macroengine_string:util/find, because replace()'s return value is a genuine +# running match count (see zprivate/replace/*.mcfunction: ReturnValue is +# incremented once per match). find()'s own return value is NOT a count — +# it's "execute if data storage macroengine_string:output find[]", which is just +# 1-or-fail regardless of how many indices are in the list. replace() +# gives the real number directly, with no separate list-length step +# needed, and its side effect (macroengine_string:output replace) is harmless here +# since count_digits never reads that key. +# ====================================================================================== + +data modify storage macroengine_string:input replace.String set from storage macroengine_string:input find.String +$data modify storage macroengine_string:input replace.Find set value "$(digit)" +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 0 + +scoreboard players set #macroengine.FindHits macroengine.tmp 0 +execute store result score #macroengine.FindHits macroengine.tmp run function macroengine_string:util/replace + +scoreboard players operation #macroengine.DigitCount macroengine.tmp += #macroengine.FindHits macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/reject_if_present.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/reject_if_present.mcfunction new file mode 100644 index 00000000..8c29e543 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/reject_if_present.mcfunction @@ -0,0 +1,18 @@ +# ====================================================================================== +# macroengine:input/validate/_private/reject_if_present [INTERNAL — macro function] +# ====================================================================================== +# Called with {char: ""}. macroengine_string:input find.String and +# find.n are already set by the caller. Sets scratch.bad = 1b if this +# character occurs anywhere. +# +# NOTE: unlike count_one_digit, this is a presence check, not a count — +# find()'s own return value (1 if found, fail if not — see find.mcfunction's +# final line) is exactly what a presence check needs, so store success +# is used deliberately here rather than reading the output list. +# ====================================================================================== + +$data modify storage macroengine_string:input find.Find set value "$(char)" + +execute store success score #macroengine.FindOk macroengine.tmp run function macroengine_string:util/find + +execute if score #macroengine.FindOk macroengine.tmp matches 1 run data modify storage macroengine:input_validate scratch.bad set value 1b diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/strip_one_dot.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/strip_one_dot.mcfunction new file mode 100644 index 00000000..06462959 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/_private/strip_one_dot.mcfunction @@ -0,0 +1,15 @@ +# ====================================================================================== +# macroengine:input/validate/_private/strip_one_dot [INTERNAL] +# ====================================================================================== +# Removes exactly one '.' from scratch.rest (already confirmed to contain +# exactly one, at a valid non-edge position) via macroengine_string:util/replace, +# leaving the digit characters ready for count_digits. +# ====================================================================================== + +data modify storage macroengine_string:input replace.String set from storage macroengine:input_validate scratch.rest +data modify storage macroengine_string:input replace.Find set value "." +data modify storage macroengine_string:input replace.Replace set value "" +data modify storage macroengine_string:input replace.n set value 1 + +function macroengine_string:util/replace +data modify storage macroengine:input_validate scratch.rest set from storage macroengine_string:output replace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/check.mcfunction new file mode 100644 index 00000000..33ca300c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/validate/check.mcfunction @@ -0,0 +1,56 @@ +# ====================================================================================== +# macroengine:input/validate/check +# ====================================================================================== +# +# TYPE-SAFETY GUARD FOR CAPTURED PLAYER INPUT. +# +# Every input capture point (book_capture, dialog_capture, cbm_capture) only +# ever stores the RAW string a player submitted — it does not know or care +# whether that string is the shape the caller actually needs. This function +# is the missing check: run it AFTER a capture, BEFORE you use the value as +# a number, bool, or safe scoreboard/tag literal. +# +# THIS DOES NOT EXECUTE THE INPUT. It only reads it and reports pass/fail. +# +# CALL WITH: +# function macroengine:input/validate/check with storage {source: "", type: "int"|"float"|"bool"|"tag_safe"} +# +# $(source) — a dot-path INTO macroengine:input, e.g. "book.raw", "dialog.raw", +# "cbm.command". Read via macro from macroengine:input directly. +# $(type) — one of: +# "int" — string must parse as a whole number (optional leading -) +# "float" — string must parse as int or decimal (optional leading -) +# "bool" — string must be exactly "true" or "false" +# "tag_safe" — string must contain none of: space, ", ', {, }, [, ], :, +# the literal backslash character, or be empty. Safe to use +# as a scoreboard objective/player name fragment or a +# single unquoted NBT string component. +# +# OUTPUT (written to storage macroengine:input_validate result): +# result.valid — 1b if input matches the requested type, else 0b +# result.error — human-readable reason when invalid (unset when valid) +# result.value — for "int"/"float": the raw string, unchanged (caller +# still owns turning it into a real number via +# macroengine_string:util/to_number AFTER checking result.valid — +# this function never calls to_number itself, since +# to_number has no failure mode of its own: feeding it +# a non-numeric string produces a raw SNBT parse error +# instead of a clean invalid result, which is exactly +# the gap this function exists to close upstream of it) +# +# THIS FUNCTION NEVER $$(...) MACRO-EXECUTES THE INPUT STRING. It only +# calls macroengine_string:util/find (read-only string search) against it. +# ====================================================================================== + +data remove storage macroengine:input_validate result +data modify storage macroengine:input_validate result.valid set value 0b + +$data modify storage macroengine:input_validate scratch.value set from storage macroengine:input $(source) +$data modify storage macroengine:input_validate scratch.type set value "$(type)" + +execute if data storage macroengine:input_validate {scratch:{type:"int"}} run function macroengine:input/validate/_private/check_int +execute if data storage macroengine:input_validate {scratch:{type:"float"}} run function macroengine:input/validate/_private/check_float +execute if data storage macroengine:input_validate {scratch:{type:"bool"}} run function macroengine:input/validate/_private/check_bool +execute if data storage macroengine:input_validate {scratch:{type:"tag_safe"}} run function macroengine:input/validate/_private/check_tag_safe + +data remove storage macroengine:input_validate scratch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/writable_book.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/writable_book.mcfunction new file mode 100644 index 00000000..fffb2c81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/input/writable_book.mcfunction @@ -0,0 +1,31 @@ +# ====================================================================================== +# macroengine:input/writable_book +# ====================================================================================== +# +# TRIGGERED BY: #macroengine:input/writable_book function tag +# +# PURPOSE: +# Detect a player holding a written_book marked with +# custom_data={macroengine:{input:1b}} (given via +# 'give @s minecraft:written_book[minecraft:custom_data={macroengine:{input:1b}}]'), +# and extract the raw text of page[0] from +# SelectedItem.components."minecraft:writable_book_content".pages[0].raw +# into macroengine:input storage. Input capture ONLY — no execution here. +# +# WHY THIS ONLY CHECKS THE MAINHAND SELECTED ITEM: +# 'SelectedItem' reflects the player's currently held mainhand item at +# entity-data-read time. If the marked book is not currently selected, +# this tick simply finds nothing — this is intentional, not a bug: we +# don't want to scan a player's whole inventory every tick for cost +# reasons, and forcing "hold it to submit" is a reasonable UX contract. +# +# NO MACRO, NO EXECUTION: +# This function contains no $$(...) macro syntax. It only reads and +# stores text. Whether the captured text is ever treated as a command +# is entirely up to a separate, opt-in execution pack — never mandatory. +# ====================================================================================== + +# Fast exit — skip entirely if no player is holding the marked book +execute unless entity @a[nbt={SelectedItem:{components:{"minecraft:custom_data":{macroengine:{input:1b}}}}}] run return 0 + +execute as @a[nbt={SelectedItem:{components:{"minecraft:custom_data":{macroengine:{input:1b}}}}}] run function macroengine:input/private/book_capture diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/menu.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/menu.mcfunction new file mode 100644 index 00000000..d18efaf3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/menu.mcfunction @@ -0,0 +1,2 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"menu ","color":"aqua"},{"text":"▶ dispatching","color":"#555555"}] +function #macroengine:admin/menu \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_default.mcfunction new file mode 100644 index 00000000..e8a35c5f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_default.mcfunction @@ -0,0 +1,2 @@ +$execute unless data storage macroengine:engine players.$(player).$(key) run data modify storage macroengine:engine players.$(player).$(key) set value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/add_default ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_to_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_to_var.mcfunction new file mode 100644 index 00000000..f3f11db3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/add_to_var.mcfunction @@ -0,0 +1,6 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +$scoreboard players set $pamount macroengine.tmp $(amount) +scoreboard players operation $pvar macroengine.tmp += $pamount macroengine.tmp +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/add_to_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/clamp_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/clamp_var.mcfunction new file mode 100644 index 00000000..d04209c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/clamp_var.mcfunction @@ -0,0 +1,8 @@ +$execute store result score $cv macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +$scoreboard players set $cv_mn macroengine.tmp $(min) +$scoreboard players set $cv_mx macroengine.tmp $(max) +execute if score $cv macroengine.tmp < $cv_mn macroengine.tmp run scoreboard players operation $cv macroengine.tmp = $cv_mn macroengine.tmp +execute if score $cv macroengine.tmp > $cv_mx macroengine.tmp run scoreboard players operation $cv macroengine.tmp = $cv_mx macroengine.tmp +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $cv macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $cv macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/clamp_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/copy_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/copy_var.mcfunction new file mode 100644 index 00000000..7a88f3a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/copy_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine players.$(to).$(key) set from storage macroengine:engine players.$(from).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/copy_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/decrement.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/decrement.mcfunction new file mode 100644 index 00000000..45316ee4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/decrement.mcfunction @@ -0,0 +1,5 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +scoreboard players remove $pvar macroengine.tmp 1 +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/decrement ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/del_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/del_var.mcfunction new file mode 100644 index 00000000..e5e7ea77 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/del_var.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine players.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/del_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_air.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_air.mcfunction new file mode 100644 index 00000000..384bae1f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_air.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/get_air +# Returns the current air supply of the named player. +# Air ranges from 0 (drowning) to 300 (full) in ticks. +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → air ticks (int, 0–300) +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_air {player:"Steve"} +# → macroengine:output result = 300 +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Air +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_air ","color":"aqua"},{"text":"$(player) → air=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_armor.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_armor.mcfunction new file mode 100644 index 00000000..bd96a19a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_armor.mcfunction @@ -0,0 +1,24 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/get_armor +# Returns the armor point value of the named player. +# Armor is read from the generic.armor attribute base value. +# Also returns armor toughness. +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → armor points (int) +# macroengine:output toughness → armor toughness (int, scaled x1000) +# macroengine:output found → 1b if player exists, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_armor {player:"Steve"} +# data get storage macroengine:output result +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Attributes[{Name:"minecraft:armor"}].Base +$execute as @a[name=$(player),limit=1] store result storage macroengine:output toughness int 1000 run data get entity @s Attributes[{Name:"minecraft:armor_toughness"}].Base +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_armor ","color":"aqua"},{"text":"$(player) → armor=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":" toughness=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"toughness","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_dimension.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_dimension.mcfunction new file mode 100644 index 00000000..67f4f86a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_dimension.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine:output result +$data modify storage macroengine:output result set from entity @a[name=$(player),limit=1] Dimension +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_dimension ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_food.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_food.mcfunction new file mode 100644 index 00000000..9548986d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_food.mcfunction @@ -0,0 +1,8 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output food int 1 run data get entity @s FoodLevel +$execute as @a[name=$(player),limit=1] store result storage macroengine:output saturation int 1000 run data get entity @s FoodSaturationLevel +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_food ","color":"aqua"},{"text":"$(player) → food=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"food","color":"green"},{"text":" sat=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"saturation","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_gamemode.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_gamemode.mcfunction new file mode 100644 index 00000000..c8122359 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_gamemode.mcfunction @@ -0,0 +1,29 @@ +# macroengine:player/get_gamemode [MACRO] +# Returns the gamemode of a named player as an integer. +# +# INPUT: $(player) — player name +# OUTPUT: macroengine:output result — 0=survival, 1=creative, 2=adventure, 3=spectator +# macroengine:output name — "survival" | "creative" | "adventure" | "spectator" +# macroengine:output found — 1b if player exists, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/get_gamemode {player:"Steve"} +# data get storage macroengine:output name + +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b + +$execute if entity @a[name=$(player),gamemode=survival,limit=1] run data modify storage macroengine:output result set value 0 +$execute if entity @a[name=$(player),gamemode=creative,limit=1] run data modify storage macroengine:output result set value 1 +$execute if entity @a[name=$(player),gamemode=adventure,limit=1] run data modify storage macroengine:output result set value 2 +$execute if entity @a[name=$(player),gamemode=spectator,limit=1] run data modify storage macroengine:output result set value 3 + +$execute if entity @a[name=$(player),gamemode=survival,limit=1] run data modify storage macroengine:output name set value "survival" +$execute if entity @a[name=$(player),gamemode=creative,limit=1] run data modify storage macroengine:output name set value "creative" +$execute if entity @a[name=$(player),gamemode=adventure,limit=1] run data modify storage macroengine:output name set value "adventure" +$execute if entity @a[name=$(player),gamemode=spectator,limit=1] run data modify storage macroengine:output name set value "spectator" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_gamemode ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"name","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_health.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_health.mcfunction new file mode 100644 index 00000000..d2422e4f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_health.mcfunction @@ -0,0 +1,8 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output result int 1 run data get entity @s Health +$execute as @a[name=$(player),limit=1] store result storage macroengine:output max int 1 run data get entity @s Attributes[{Name:"minecraft:max_health"}].Base +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_health ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"max","color":"yellow"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_name.mcfunction new file mode 100644 index 00000000..286026b6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_name.mcfunction @@ -0,0 +1,14 @@ +data remove storage macroengine:names temp + +setblock 0 300 0 black_shulker_box replace + +loot insert 0 300 0 loot macroengine:player/head + +data modify storage macroengine:names temp.NAME set from block 0 300 0 Items[0].components."minecraft:profile".name + +data modify storage macroengine:names temp.UUID insert 0 from entity @s UUID[0] +data modify storage macroengine:names temp.UUID insert 1 from entity @s UUID[1] +data modify storage macroengine:names temp.UUID insert 2 from entity @s UUID[2] +data modify storage macroengine:names temp.UUID insert 3 from entity @s UUID[3] + +setblock 0 300 0 air replace \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_online_count.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_online_count.mcfunction new file mode 100644 index 00000000..1b075124 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_online_count.mcfunction @@ -0,0 +1,3 @@ +scoreboard players set $poc macroengine.tmp 0 +execute as @a run scoreboard players add $poc macroengine.tmp 1 +execute store result storage macroengine:output result int 1 run scoreboard players get $poc macroengine.tmp \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_pos.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_pos.mcfunction new file mode 100644 index 00000000..56224731 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_pos.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output x int 1 run data get entity @s Pos[0] +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output y int 1 run data get entity @s Pos[1] +$execute as @a[name=$(player),limit=1] at @s store result storage macroengine:output z int 1 run data get entity @s Pos[2] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_pos ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"x=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"green"},{"text":" y=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"green"},{"text":" z=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_var.mcfunction new file mode 100644 index 00000000..57b85eed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:output result set from storage macroengine:engine players.$(player).$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_xp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_xp.mcfunction new file mode 100644 index 00000000..a895c190 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/get_xp.mcfunction @@ -0,0 +1,9 @@ +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] store result storage macroengine:output level int 1 run data get entity @s XpLevel +$execute as @a[name=$(player),limit=1] store result storage macroengine:output points int 1 run xp query @s points +$execute as @a[name=$(player),limit=1] store result storage macroengine:output progress int 1000 run data get entity @s XpP +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/get_xp ","color":"aqua"},{"text":"$(player) → level=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"level","color":"green"},{"text":" pts=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"points","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/has_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/has_var.mcfunction new file mode 100644 index 00000000..887c06bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/has_var.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine players.$(player).$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/has_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/increment.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/increment.mcfunction new file mode 100644 index 00000000..12436ab6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/increment.mcfunction @@ -0,0 +1,5 @@ +$execute store result score $pvar macroengine.tmp run data get storage macroengine:engine players.$(player).$(key) +scoreboard players add $pvar macroengine.tmp 1 +$execute store result storage macroengine:engine players.$(player).$(key) int 1 run scoreboard players get $pvar macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $pvar macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/increment ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/init.mcfunction new file mode 100644 index 00000000..8ffe7687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/init.mcfunction @@ -0,0 +1,9 @@ +$execute unless data storage macroengine:engine players.$(player) run data modify storage macroengine:engine players.$(player) set value {} +$execute unless data storage macroengine:engine players.$(player).coins run data modify storage macroengine:engine players.$(player).coins set value 0 +$execute unless data storage macroengine:engine players.$(player).level run data modify storage macroengine:engine players.$(player).level set value 1 +$execute unless data storage macroengine:engine players.$(player).xp run data modify storage macroengine:engine players.$(player).xp set value 0 +$data modify storage macroengine:engine players.$(player).online set value 1b +$execute unless data storage macroengine:engine players.$(player).first_join_tick run execute store result storage macroengine:engine players.$(player).first_join_tick int 1 run scoreboard players get $epoch macroengine.time +$execute store result storage macroengine:engine players.$(player).last_join_tick int 1 run scoreboard players get $epoch macroengine.time +$execute unless data storage macroengine:engine player_pids.$(player) run function macroengine:core/internal/player/assign_pid with storage macroengine:engine _pid_init_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/init ","color":"aqua"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_if_item.mcfunction new file mode 100644 index 00000000..467e333c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/chest_minecart_if_item ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_unless_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_unless_item.mcfunction new file mode 100644 index 00000000..4cc10d05 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/chest_minecart_unless_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless items entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/chest_minecart_unless_item ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/clear_custom.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/clear_custom.mcfunction new file mode 100644 index 00000000..3b9beb67 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/clear_custom.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] run clear @s $(item)[minecraft:custom_data=$(customData)] $(count) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/clear_custom ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/count_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/count_item.mcfunction new file mode 100644 index 00000000..53a7a4ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/count_item.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $inv_cnt macroengine.tmp 0 +$execute as @a[name=$(player),limit=1] run execute store result score $inv_cnt macroengine.tmp run clear @s *[minecraft:custom_data=$(customData)] 0 +execute store result storage macroengine:output count int 1 run scoreboard players get $inv_cnt macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/count_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/cursor_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/cursor_item.mcfunction new file mode 100644 index 00000000..88fc1fa5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/cursor_item.mcfunction @@ -0,0 +1,2 @@ +# Detect click (slot empty after interaction) +$execute as @a[name=$(player),limit=1] at @s if items entity @s player.cursor $(item)[minecraft:custom_data=$(data)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/offhand_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/offhand_item.mcfunction new file mode 100644 index 00000000..c9854e23 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/offhand_item.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/inv/offhand_item +# Runs a command/function for each player in @a whose offhand +# matches the given item id and custom data. +# Mirrors the pattern of macroengine:player/inv/selected_item (mainhand). +# +# INPUT : $(item) → item id (e.g. "minecraft:shield") +# $(customData) → custom_data compound to match (e.g. "{my_tag:1b}") +# $(invoke) → command to run as the matching player +# +# EXAMPLE: +# function macroengine:player/inv/offhand_item {item:"minecraft:shield",customData:"{my_tag:1b}",invoke:"function mypack:on_shield"} +# ───────────────────────────────────────────────────────────────── + +$execute as @a[name=$(player),limit=1] at @s if items entity @s weapon.offhand $(item)[minecraft:custom_data=$(customData)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_if_item.mcfunction new file mode 100644 index 00000000..dbd29be5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @s contents $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_if_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_slot_if_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_slot_if_item.mcfunction new file mode 100644 index 00000000..a0e608a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_slot_if_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if items entity @s $(slot) $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_slot_if_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_unless_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_unless_item.mcfunction new file mode 100644 index 00000000..c438859c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/player_unless_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless items entity @s contents $(item)[minecraft:custom_data=$(customData)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/player_unless_item ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/selected_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/selected_item.mcfunction new file mode 100644 index 00000000..574f39a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/selected_item.mcfunction @@ -0,0 +1 @@ +$execute as @a[name=$(player),limit=1] as @a at @s if items entity @s weapon.mainhand $(item)[minecraft:custom_data=$(customData)] run $(invoke) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/transfer_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/transfer_item.mcfunction new file mode 100644 index 00000000..9a7dcf5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/inv/transfer_item.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run item replace entity @s weapon.mainhand from entity @e[type=minecraft:chest_minecart,distance=..2,limit=1,tag=$(tag)] container.$(slot) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"inv/transfer_item ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(tag)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_burning.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_burning.mcfunction new file mode 100644 index 00000000..7e49b593 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_burning.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_burning +# Checks whether a named player is currently on fire. +# Uses the macroengine:is_burning predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if burning, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_burning {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_burning run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_burning ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_flying.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_flying.mcfunction new file mode 100644 index 00000000..bb198b3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_flying.mcfunction @@ -0,0 +1,14 @@ +# macroengine:player/is_flying +# Checks whether the named player is currently flying (creative/spectator flight or elytra). +# Params: player +# Output: macroengine:output result = 1b (flying) or 0b (not flying / not found) +# macroengine:output found = 1b if player exists online, else 0b + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if data entity @s {abilities:{flying:1b}} run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_flying ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_gliding.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_gliding.mcfunction new file mode 100644 index 00000000..79c25156 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_gliding.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_gliding +# Checks whether the named player is currently gliding with an elytra. +# Uses the macroengine:is_gliding predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if gliding, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_gliding {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_gliding run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_gliding ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_in_water.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_in_water.mcfunction new file mode 100644 index 00000000..b2d6482f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_in_water.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_in_water +# Checks whether the named player is currently submerged in water. +# Uses the macroengine:is_in_water predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if in water, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_in_water {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +data modify storage macroengine:output found set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_in_water run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_in_water ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_on_ground.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_on_ground.mcfunction new file mode 100644 index 00000000..35170b6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_on_ground.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_on_ground +# Checks whether a named player is currently on the ground. +# Uses the macroengine:is_on_ground predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if on ground, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_on_ground {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_on_ground run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_on_ground ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_online.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_online.mcfunction new file mode 100644 index 00000000..5cdf6ba3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_online.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_online +# Checks whether the player is on the server. +# Girdi : $(player) → player name +# Output: macroengine:output result → 1b (online) / 0b (offline) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_online ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sneaking.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sneaking.mcfunction new file mode 100644 index 00000000..cc648d7a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sneaking.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_sneaking +# Checks whether a named player is currently sneaking. +# Uses the macroengine:is_sneaking predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if sneaking, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_sneaking {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_sneaking run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_sneaking ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sprinting.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sprinting.mcfunction new file mode 100644 index 00000000..b1c6e871 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/is_sprinting.mcfunction @@ -0,0 +1,22 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:player/is_sprinting +# Checks whether a named player is currently sprinting. +# Uses the macroengine:is_sprinting predicate (entity_flags). +# +# INPUT : $(player) → player name +# OUTPUT: macroengine:output result → 1b if sprinting, 0b otherwise +# macroengine:output found → 1b if player online, 0b otherwise +# +# EXAMPLE: +# function macroengine:player/is_sprinting {player:"Steve"} +# → macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output found set value 0b +data modify storage macroengine:output result set value 0b + +$execute unless entity @a[name=$(player),limit=1] run return 0 + +data modify storage macroengine:output found set value 1b +$execute as @a[name=$(player),limit=1] if predicate macroengine:is_sprinting run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/is_sprinting ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/list_vars.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/list_vars.mcfunction new file mode 100644 index 00000000..3625b145 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/list_vars.mcfunction @@ -0,0 +1,6 @@ +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Player: ","color":"aqua"},{"text":"$(player)","color":"white","bold":true},{"text":" ━━━━━━━━━━━━━━","color":"#555555"}] +$execute if data storage macroengine:engine players.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" vars ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"players.$(player)","interpret":false,"color":"yellow"}] +$execute unless data storage macroengine:engine players.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" vars ","color":"#555555"},{"text":"(no data)","color":"gray","italic":true}] +$execute if data storage macroengine:engine cooldowns.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" cooldowns ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"cooldowns.$(player)","interpret":false,"color":"aqua"}] +$execute unless data storage macroengine:engine cooldowns.$(player) run tellraw @a[tag=macroengine.debug] ["",{"text":" cooldowns ","color":"#555555"},{"text":"(none active)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/online_check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/online_check.mcfunction new file mode 100644 index 00000000..c53167dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/online_check.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),limit=1] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/online_check ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/reset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/reset.mcfunction new file mode 100644 index 00000000..0c527485 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/reset.mcfunction @@ -0,0 +1,6 @@ +$data remove storage macroengine:engine players.$(player) +$data remove storage macroengine:engine cooldowns.$(player) +$advancement revoke @a[name=$(player),limit=1] from macroengine:hidden/root +$data modify storage macroengine:engine _pid_init_tmp set value {player:"$(player)"} +function macroengine:player/init with storage macroengine:engine _pid_init_tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/reset ","color":"aqua"},{"text":"$(player)","color":"white"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_cmd_as_uuid_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_cmd_as_uuid_macro.mcfunction new file mode 100644 index 00000000..b4000627 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_cmd_as_uuid_macro.mcfunction @@ -0,0 +1 @@ +$execute as @a[nbt={UUID:$(uuid)}] run $(cmd) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_func_as_uuid_macro.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_func_as_uuid_macro.mcfunction new file mode 100644 index 00000000..1557f191 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/run_func_as_uuid_macro.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[nbt={UUID:$(uuid)}] run function #macroengine:internal/dispatch \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/set_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/set_var.mcfunction new file mode 100644 index 00000000..1fdd3b47 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/set_var.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine players.$(player).$(key) set value $(value) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/set_var ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/swap_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/swap_var.mcfunction new file mode 100644 index 00000000..b9213d88 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/swap_var.mcfunction @@ -0,0 +1,5 @@ +$data modify storage macroengine:engine _swap.tmp set from storage macroengine:engine players.$(player_a).$(key) +$data modify storage macroengine:engine players.$(player_a).$(key) set from storage macroengine:engine players.$(player_b).$(key) +$data modify storage macroengine:engine players.$(player_b).$(key) set from storage macroengine:engine _swap.tmp +data remove storage macroengine:engine _swap +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/swap_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/add.mcfunction new file mode 100644 index 00000000..fcb1d2bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/add.mcfunction @@ -0,0 +1,2 @@ +$team join $(team) $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/add ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/count.mcfunction new file mode 100644 index 00000000..a94df476 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/count.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $team_cnt macroengine.tmp 0 +$execute as @a[team=$(team)] run scoreboard players add $team_cnt macroengine.tmp 1 +execute store result storage macroengine:output result int 1 run scoreboard players get $team_cnt macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/create.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/create.mcfunction new file mode 100644 index 00000000..d89ce77d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/create.mcfunction @@ -0,0 +1,3 @@ +$team add $(team) +$data modify storage macroengine:engine teams.$(team) set value {color:"white",friendly_fire:"true",see_friendly_invisibles:"false"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/create ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/delete.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/delete.mcfunction new file mode 100644 index 00000000..501a8985 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/delete.mcfunction @@ -0,0 +1,3 @@ +$team remove $(team) +$data remove storage macroengine:engine teams.$(team) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/delete ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/has.mcfunction new file mode 100644 index 00000000..e338eaa5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/has.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if entity @a[name=$(player),team=$(team)] run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/has ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/list.mcfunction new file mode 100644 index 00000000..6d49e617 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/list.mcfunction @@ -0,0 +1,3 @@ +tellraw @a[tag=macroengine.debug] {"text":"[Team] -- Registered Teams --","color":"aqua"} +tellraw @a[tag=macroengine.debug] {"nbt":"teams","plain":true ,"storage":"macroengine:engine","interpret":false,"color":"white"} +tellraw @a[tag=macroengine.debug] {"text":"[Team] ---------------------","color":"aqua"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/remove.mcfunction new file mode 100644 index 00000000..d612f083 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/remove.mcfunction @@ -0,0 +1,2 @@ +$team leave $(player) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/remove ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_color.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_color.mcfunction new file mode 100644 index 00000000..e2b52592 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_color.mcfunction @@ -0,0 +1,3 @@ +$team modify $(team) color $(color) +$data modify storage macroengine:engine teams.$(team).color set value "$(color)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/set_color ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_friendly_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_friendly_fire.mcfunction new file mode 100644 index 00000000..6e9cdcef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/team/set_friendly_fire.mcfunction @@ -0,0 +1,3 @@ +$team modify $(team) friendlyFire $(value) +$data modify storage macroengine:engine teams.$(team).friendly_fire set value "$(value)" +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"team/set_friendly_fire ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(team)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/transfer_var.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/transfer_var.mcfunction new file mode 100644 index 00000000..443b2f6d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/player/transfer_var.mcfunction @@ -0,0 +1,11 @@ +$execute store result score $tr_f macroengine.tmp run data get storage macroengine:engine players.$(from).$(key) +$scoreboard players set $tr_a macroengine.tmp $(amount) +scoreboard players operation $tr_f macroengine.tmp -= $tr_a macroengine.tmp +$execute store result storage macroengine:engine players.$(from).$(key) int 1 run scoreboard players get $tr_f macroengine.tmp + +$execute store result score $tr_t macroengine.tmp run data get storage macroengine:engine players.$(to).$(key) +scoreboard players operation $tr_t macroengine.tmp += $tr_a macroengine.tmp +$execute store result storage macroengine:engine players.$(to).$(key) int 1 run scoreboard players get $tr_t macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $tr_t macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"player/transfer_var ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/color/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/color/init.mcfunction new file mode 100644 index 00000000..67af14f3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/color/init.mcfunction @@ -0,0 +1,30 @@ +# macroengine:systems/color/init +# Called during engine load. Populates the named color lookup table +# at macroengine:engine color._names for O(1) validate checks. +# Also initializes the color namespace in storage. + +execute unless data storage macroengine:engine color run data modify storage macroengine:engine color set value {} +execute unless data storage macroengine:engine color.palette run data modify storage macroengine:engine color.palette set value {} +execute unless data storage macroengine:engine color.gradients run data modify storage macroengine:engine color.gradients set value {} + +# Named color allowlist — 16 Minecraft text colors +data modify storage macroengine:engine color._names set value {\ + black:1b,\ + dark_blue:1b,\ + dark_green:1b,\ + dark_aqua:1b,\ + dark_red:1b,\ + dark_purple:1b,\ + gold:1b,\ + gray:1b,\ + dark_gray:1b,\ + blue:1b,\ + green:1b,\ + aqua:1b,\ + red:1b,\ + light_purple:1b,\ + yellow:1b,\ + white:1b\ +} + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"color/init ","color":"aqua"},{"text":"named color table loaded (16 entries)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/any.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/any.mcfunction new file mode 100644 index 00000000..89bebd62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/any.mcfunction @@ -0,0 +1,34 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/any +# Checks whether ANY of two flags is set. +# Returns 1b if at least one of key_a or key_b is set, 0b otherwise. +# For three or more flags, chain calls or use flag/get on each. +# +# INPUT : $(key_a) → first flag key +# $(key_b) → second flag key +# OUTPUT: macroengine:output result → 1b if either flag set, 0b if neither +# macroengine:output result_a → 1b if key_a set, 0b otherwise +# macroengine:output result_b → 1b if key_b set, 0b otherwise +# +# EXAMPLE: +# function macroengine:systems/flag/any {key_a:"pvp_enabled",key_b:"war_active"} +# → macroengine:output result = 1b (if either is set) +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result_a set value 0b +data modify storage macroengine:output result_b set value 0b +data modify storage macroengine:output result set value 0b + +scoreboard players set #fany_a macroengine.tmp 0 +scoreboard players set #fany_b macroengine.tmp 0 + +$execute if data storage macroengine:engine flags.$(key_a) run scoreboard players set #fany_a macroengine.tmp 1 +$execute if data storage macroengine:engine flags.$(key_b) run scoreboard players set #fany_b macroengine.tmp 1 + +execute if score #fany_a macroengine.tmp matches 1 run data modify storage macroengine:output result_a set value 1b +execute if score #fany_b macroengine.tmp matches 1 run data modify storage macroengine:output result_b set value 1b + +scoreboard players operation #fany_a macroengine.tmp += #fany_b macroengine.tmp +execute if score #fany_a macroengine.tmp matches 1.. run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/any ","color":"aqua"},{"text":"$(key_a)|$(key_b) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/clear.mcfunction new file mode 100644 index 00000000..9d3fe0ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/clear.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine flags.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/clear ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/copy.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/copy.mcfunction new file mode 100644 index 00000000..3500819e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/copy.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/copy +# Copies a flag value from one key to another. +# If the source flag is set, the destination is set. +# If the source flag is absent, the destination is removed. +# Input : $(from) → source flag key +# $(to) → destination flag key +# Output: macroengine:output result → 1b if copied (flag was set), 0b if cleared +# +# Example: +# data modify storage macroengine:input from set value "feature_a" +# data modify storage macroengine:input to set value "feature_a_backup" +# function macroengine:systems/flag/copy with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +# Default: clear destination +data modify storage macroengine:output result set value 0b + +$execute if data storage macroengine:engine flags.$(from) run data modify storage macroengine:engine flags.$(to) set value 1b +$execute if data storage macroengine:engine flags.$(from) run data modify storage macroengine:output result set value 1b +$execute unless data storage macroengine:engine flags.$(from) run data remove storage macroengine:engine flags.$(to) + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/copy ","color":"aqua"},{"text":"$(from) → $(to) ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get.mcfunction new file mode 100644 index 00000000..7653947f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get.mcfunction @@ -0,0 +1,3 @@ +data modify storage macroengine:output result set value 0b +$execute if data storage macroengine:engine flags.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/get ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get_or_default.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get_or_default.mcfunction new file mode 100644 index 00000000..6b51707f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/get_or_default.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/get_or_default +# Returns 1b if the flag is set, otherwise stores the given default. +# Input : $(key) → flag key +# $(default) → value to store if flag is absent (0b or 1b) +# Output: macroengine:output result → 1b if set, $(default) if absent +# +# Example: +# data modify storage macroengine:input key set value "my_feature" +# data modify storage macroengine:input default set value 0b +# function macroengine:systems/flag/get_or_default with storage macroengine:input {} +# # macroengine:output result = 0b (if flag not set) +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:output result set value $(default) +$execute if data storage macroengine:engine flags.$(key) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/get_or_default ","color":"aqua"},{"text":"$(key) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list.mcfunction new file mode 100644 index 00000000..d013f188 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list.mcfunction @@ -0,0 +1,4 @@ +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Global Flags ","color":"aqua"},{"text":"━━━━━━━━━━━","color":"#555555"}] +execute if data storage macroengine:engine flags run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"flags","interpret":false,"color":"white"}] +execute unless data storage macroengine:engine flags run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no active flags)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list_systems.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list_systems.mcfunction new file mode 100644 index 00000000..9ebf05c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/list_systems.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/flag/list_systems — List all tick channels with their current config +tellraw @s [{"text":"[DL] Tick Channels","color":"gold","bold":true}] +tellraw @s {"plain":true ,"storage":"macroengine:engine","nbt":"tick.channels","color":"yellow"} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set.mcfunction new file mode 100644 index 00000000..1ae8a5bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set.mcfunction @@ -0,0 +1,2 @@ +$data modify storage macroengine:engine flags.$(key) set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/set ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set_if.mcfunction new file mode 100644 index 00000000..e5afaf13 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/set_if.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/flag/set_if +# Sets a flag only when a scoreboard condition is met. +# Condition: score of $(score_holder) in $(objective) must match $(matches). +# Uses scoreboard matches syntax (e.g. "1", "1..5", "..0", "2.."). +# +# INPUT : $(key) → flag key +# $(score_holder) → scoreboard entity/fake-player name +# $(objective) → scoreboard objective +# $(matches) → match range string (e.g. "1..") +# OUTPUT: macroengine:output result → 1b if flag was set, 0b if condition not met +# +# EXAMPLE: +# function macroengine:systems/flag/set_if {key:"night_mode",score_holder:"$time",objective:"macroengine.tmp",matches:"..12000"} +# ───────────────────────────────────────────────────────────────── + +data modify storage macroengine:output result set value 0b +$execute if score $(score_holder) $(objective) matches $(matches) run data modify storage macroengine:engine flags.$(key) set value 1b +$execute if score $(score_holder) $(objective) matches $(matches) run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/set_if ","color":"aqua"},{"text":"$(key) if $(score_holder) $(objective) matches $(matches) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle.mcfunction new file mode 100644 index 00000000..ac81f97f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle.mcfunction @@ -0,0 +1,9 @@ +scoreboard players set $ftgl macroengine.tmp 0 +$execute if data storage macroengine:engine flags.$(key) run scoreboard players set $ftgl macroengine.tmp 1 + +$execute if score $ftgl macroengine.tmp matches 1 run data remove storage macroengine:engine flags.$(key) +execute if score $ftgl macroengine.tmp matches 1 run data modify storage macroengine:output result set value 0b + +$execute if score $ftgl macroengine.tmp matches 0 run data modify storage macroengine:engine flags.$(key) set value 1b +execute if score $ftgl macroengine.tmp matches 0 run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/toggle ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system.mcfunction new file mode 100644 index 00000000..fcd4f06a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/flag/toggle_system — Toggle a built-in tick channel on/off +# Usage: function macroengine:systems/flag/toggle_system {system:"time"} +# Valid systems: time | queue | player | hud | admin +# Delegates to macroengine:core/tick/channel/enable|disable internally. + +$data modify storage macroengine:tick_work _ftgl set from storage macroengine:engine tick.channels[{id:"$(system)_systems"}] +function macroengine:systems/flag/toggle_system/exec with storage macroengine:tick_work _ftgl \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system/exec.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system/exec.mcfunction new file mode 100644 index 00000000..e1728c81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/toggle_system/exec.mcfunction @@ -0,0 +1,3 @@ +# [MACRO] Internal exec for flag/toggle_system +$execute if data storage macroengine:tick_work _ftgl{enabled:1b} run function macroengine:core/tick/channel/disable {id:"$(id)"} +$execute if data storage macroengine:tick_work _ftgl{enabled:0b} run function macroengine:core/tick/channel/enable {id:"$(id)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/unset.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/unset.mcfunction new file mode 100644 index 00000000..6dc8de93 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/flag/unset.mcfunction @@ -0,0 +1,2 @@ +$data remove storage macroengine:engine flags.$(key) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"flag/unset ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(key)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/as_nearby_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/as_nearby_player.mcfunction new file mode 100644 index 00000000..a8a69127 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/as_nearby_player.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[distance=..$(distance),limit=1,sort=nearest] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/as_nearby_player ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region.mcfunction new file mode 100644 index 00000000..fa7eec86 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region.mcfunction @@ -0,0 +1,34 @@ +data modify storage macroengine:output result set value 0b + +$scoreboard players set $rgn_x macroengine.tmp $(x) +$scoreboard players set $rgn_y macroengine.tmp $(y) +$scoreboard players set $rgn_z macroengine.tmp $(z) +$scoreboard players set $rgn_x1 macroengine.tmp $(x1) +$scoreboard players set $rgn_y1 macroengine.tmp $(y1) +$scoreboard players set $rgn_z1 macroengine.tmp $(z1) +$scoreboard players set $rgn_x2 macroengine.tmp $(x2) +$scoreboard players set $rgn_y2 macroengine.tmp $(y2) +$scoreboard players set $rgn_z2 macroengine.tmp $(z2) + +# min/max normalization +execute if score $rgn_x1 macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_x1 macroengine.tmp +execute if score $rgn_x1 macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_x1 macroengine.tmp = $rgn_x2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_x2 macroengine.tmp run scoreboard players operation $rgn_x2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_y1 macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_y1 macroengine.tmp +execute if score $rgn_y1 macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_y1 macroengine.tmp = $rgn_y2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_y2 macroengine.tmp run scoreboard players operation $rgn_y2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_z1 macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_t macroengine.tmp = $rgn_z1 macroengine.tmp +execute if score $rgn_z1 macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_z1 macroengine.tmp = $rgn_z2 macroengine.tmp +execute if score $rgn_t macroengine.tmp > $rgn_z2 macroengine.tmp run scoreboard players operation $rgn_z2 macroengine.tmp = $rgn_t macroengine.tmp + +execute if score $rgn_x macroengine.tmp < $rgn_x1 macroengine.tmp run return 0 +execute if score $rgn_x macroengine.tmp > $rgn_x2 macroengine.tmp run return 0 +execute if score $rgn_y macroengine.tmp < $rgn_y1 macroengine.tmp run return 0 +execute if score $rgn_y macroengine.tmp > $rgn_y2 macroengine.tmp run return 0 +execute if score $rgn_z macroengine.tmp < $rgn_z1 macroengine.tmp run return 0 +execute if score $rgn_z macroengine.tmp > $rgn_z2 macroengine.tmp run return 0 + +data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_region ","color":"aqua"},{"text":"($(x),$(y),$(z)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region_unless.mcfunction new file mode 100644 index 00000000..951e875c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_region_unless.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] unless entity @s[x=$(x),y=$(y),z=$(z),dx=$(dx),dy=$(dy),dz=$(dz)] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_region_unless ","color":"aqua"},{"text":"$(player)","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_sphere.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_sphere.mcfunction new file mode 100644 index 00000000..3c795351 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/in_sphere.mcfunction @@ -0,0 +1,36 @@ +data modify storage macroengine:output result set value 0b + +$scoreboard players set $sph_dx macroengine.tmp $(x) +$scoreboard players set $sph_cx macroengine.tmp $(cx) +scoreboard players operation $sph_dx macroengine.tmp -= $sph_cx macroengine.tmp + +$scoreboard players set $sph_dy macroengine.tmp $(y) +$scoreboard players set $sph_cy macroengine.tmp $(cy) +scoreboard players operation $sph_dy macroengine.tmp -= $sph_cy macroengine.tmp + +$scoreboard players set $sph_dz macroengine.tmp $(z) +$scoreboard players set $sph_cz macroengine.tmp $(cz) +scoreboard players operation $sph_dz macroengine.tmp -= $sph_cz macroengine.tmp + +# Overflow prevention (max 26754 per axis) +execute if score $sph_dx macroengine.tmp matches 26755.. run scoreboard players set $sph_dx macroengine.tmp 26754 +execute if score $sph_dx macroengine.tmp matches ..-26755 run scoreboard players set $sph_dx macroengine.tmp -26754 +execute if score $sph_dy macroengine.tmp matches 26755.. run scoreboard players set $sph_dy macroengine.tmp 26754 +execute if score $sph_dy macroengine.tmp matches ..-26755 run scoreboard players set $sph_dy macroengine.tmp -26754 +execute if score $sph_dz macroengine.tmp matches 26755.. run scoreboard players set $sph_dz macroengine.tmp 26754 +execute if score $sph_dz macroengine.tmp matches ..-26755 run scoreboard players set $sph_dz macroengine.tmp -26754 + +scoreboard players operation $sph_dx macroengine.tmp *= $sph_dx macroengine.tmp +scoreboard players operation $sph_dy macroengine.tmp *= $sph_dy macroengine.tmp +scoreboard players operation $sph_dz macroengine.tmp *= $sph_dz macroengine.tmp + +scoreboard players operation $sph_dsq macroengine.tmp = $sph_dx macroengine.tmp +scoreboard players operation $sph_dsq macroengine.tmp += $sph_dy macroengine.tmp +scoreboard players operation $sph_dsq macroengine.tmp += $sph_dz macroengine.tmp +execute store result storage macroengine:output dist_sq int 1 run scoreboard players get $sph_dsq macroengine.tmp + +$scoreboard players set $sph_r macroengine.tmp $(r) +scoreboard players operation $sph_r macroengine.tmp *= $sph_r macroengine.tmp + +execute if score $sph_dsq macroengine.tmp <= $sph_r macroengine.tmp run data modify storage macroengine:output result set value 1b +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/in_sphere ","color":"aqua"},{"text":"r=$(r) dsq=","color":"gray"},{"score":{"name":"$sph_dsq","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity.mcfunction new file mode 100644 index 00000000..6a7466b4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s if entity @e[type=$(type),tag=$(tag),distance=..$(distance),limit=1] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/near_entity ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity_unless.mcfunction new file mode 100644 index 00000000..eff69688 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/near_entity_unless.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s unless entity @e[type=$(type),tag=$(tag),distance=..$(distance),limit=1] run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"geo/near_entity_unless ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/list.mcfunction new file mode 100644 index 00000000..9064546c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/list.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/list +# Shows all registered regions to debug players. +# ───────────────────────────────────────────────────────────────── + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Region Watches ━━━━━━━━━━━━━━","color":"aqua"}] +execute if data storage macroengine:engine region_watches run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"region_watches","interpret":false,"color":"yellow"}] +execute unless data storage macroengine:engine region_watches run tellraw @a[tag=macroengine.debug] ["",{"text":" (no regions registered)","color":"gray","italic":true}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/register.mcfunction new file mode 100644 index 00000000..ea0512e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/register.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/register +# Defines a persistent region. Player position is checked every tick; +# on_enter fires when a player enters, on_leave when they leave. +# Depends on the hook/internal/tick_scan loop. +# +# INPUT (storage macroengine:input): +# id → region id (unique string) +# x1, y1, z1, x2, y2, z2 → corner coordinates (integer) +# on_enter → (optional) entry function — as the triggering player +# on_leave → (optional) leave function — as the triggering player +# on_enter_cmd → (optional) entry command +# on_leave_cmd → (optional) leave command +# +# EXAMPLE: +# data modify storage macroengine:input id set value "spawn_safe" +# data modify storage macroengine:input x1 set value 0 +# data modify storage macroengine:input y1 set value 60 +# data modify storage macroengine:input z1 set value 0 +# data modify storage macroengine:input x2 set value 100 +# data modify storage macroengine:input y2 set value 120 +# data modify storage macroengine:input z2 set value 100 +# data modify storage macroengine:input on_enter set value "mypack:zones/safe_enter" +# data modify storage macroengine:input on_leave set value "mypack:zones/safe_leave" +# function macroengine:systems/geo/region_watch/register +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/geo/region_watch/register_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/unregister.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/unregister.mcfunction new file mode 100644 index 00000000..9426a11f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/geo/region_watch/unregister.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/geo/region_watch/unregister +# Deletes a registered region. Player state scores are not cleared +# (automatically skipped in the next tick_scan loop). +# +# INPUT (storage macroengine:input): +# id → region id +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/geo/region_watch/unregister_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/bind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/bind.mcfunction new file mode 100644 index 00000000..454aa97b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/bind.mcfunction @@ -0,0 +1,18 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/bind +# Binds a function or command to a specific event. +# Multiple binds can be added to the same event. +# +# INPUT (storage macroengine:input): +# event → event name: "player_join" | "player_death" | "player_respawn" +# "level_up" | "block_place" | "block_break" | "item_use" +# func → (optional) function to run — as the triggering player +# cmd → (optional) command to run — used if func is absent +# +# EXAMPLE: +# data modify storage macroengine:input event set value "player_death" +# data modify storage macroengine:input func set value "mypack:on_death" +# function macroengine:systems/hook/bind +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/bind_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/list.mcfunction new file mode 100644 index 00000000..1ead425b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/list.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/hook/list +# Shows all registered hook binds to macroengine.debug players. + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Hook Binds ","color":"aqua"},{"text":"━━━━━━━━━━━━━━━━","color":"#555555"}] +execute unless data storage macroengine:engine hook_binds[0] run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"text":"(no hook binds)","color":"gray","italic":true}] +execute if data storage macroengine:engine hook_binds[0] run tellraw @a[tag=macroengine.debug] ["",{"text":" ","color":"#555555"},{"plain":true ,"storage":"macroengine:engine","nbt":"hook_binds","interpret":false,"color":"yellow"}] +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_advancement_fire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_advancement_fire.mcfunction new file mode 100644 index 00000000..3d251a58 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_advancement_fire.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/on_advancement_fire +# Called from the user's own advancement reward function. +# Fires an event in "advancement:" format. +# +# INPUT (storage macroengine:input): +# advancement → advancement ID (e.g. "story/mine_stone") +# +# KULLANIM: +# 1) Define a function as the reward in your advancement JSON: +# "rewards": {"function": "mypack:advancements/mine_stone"} +# +# 2) Inside that function: +# data modify storage macroengine:input advancement set value "story/mine_stone" +# function macroengine:systems/hook/on_advancement_fire +# +# 3) Hook bind: +# data modify storage macroengine:input event set value "advancement:story/mine_stone" +# data modify storage macroengine:input func set value "mypack:on_first_mine" +# function macroengine:systems/hook/bind +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/on_advancement_fire with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_break_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_break_block.mcfunction new file mode 100644 index 00000000..d7e0ed43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_break_block.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_break_block +# Reward: break_block advancement (item_durability_changed, delta max -1) +# Feeds both break_block and using_item hooks. +advancement revoke @s only macroengine:systems/hook/break_block +scoreboard players add @s macroengine.hook_tool_used 1 +scoreboard players add @s macroengine.hook_using_item 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_dimension_change.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_dimension_change.mcfunction new file mode 100644 index 00000000..0f04db6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_dimension_change.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_dimension_change +# Advancement reward: runs when changed_dimension triggers. +# @s = player who changed dimension + +advancement revoke @s only macroengine:systems/hook/dimension_change +scoreboard players add @s macroengine.hook_dim_changed 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_drop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_drop.mcfunction new file mode 100644 index 00000000..c31bf269 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_drop.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_drop +# Binds a function or command to the "drop_item" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player drops an item +# cmd → command to run when a player drops an item (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_drop" +# function macroengine:systems/hook/on_drop +# -- or -- +# data modify storage macroengine:input cmd set value "say An item was dropped" +# function macroengine:systems/hook/on_drop +data modify storage macroengine:input event set value "drop_item" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_eat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_eat.mcfunction new file mode 100644 index 00000000..448b62a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_eat.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_eat +# Binds a function or command to the "eat" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player eats +# cmd → command to run when a player eats (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_eat" +# function macroengine:systems/hook/on_eat +# -- or -- +# data modify storage macroengine:input cmd set value "say I ate something" +# function macroengine:systems/hook/on_eat +data modify storage macroengine:input event set value "eat" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_entity_kill.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_entity_kill.mcfunction new file mode 100644 index 00000000..24207109 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_entity_kill.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_entity_kill +# Reward: entity_kill advancement (player_killed_entity trigger) +advancement revoke @s only macroengine:systems/hook/entity_kill +scoreboard players add @s macroengine.hook_entity_killed 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_fish_caught.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_fish_caught.mcfunction new file mode 100644 index 00000000..05efe88d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_fish_caught.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_fish_caught +# Binds a function or command to the "fish_caught" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player catches a fish +# cmd → command to run when a player catches a fish (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_fish" +# function macroengine:systems/hook/on_fish_caught +# -- or -- +# data modify storage macroengine:input cmd set value "give @s salmon 1" +# function macroengine:systems/hook/on_fish_caught +data modify storage macroengine:input event set value "fish_caught" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_hero_of_the_village.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_hero_of_the_village.mcfunction new file mode 100644 index 00000000..5c598838 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_hero_of_the_village.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_hero_of_the_village +# Reward: hero_of_the_village advancement (raid victory) +advancement revoke @s only macroengine:systems/hook/hero_of_the_village +scoreboard players add @s macroengine.hook_hero_of_the_village 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_anvil.mcfunction new file mode 100644 index 00000000..5ed866c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_anvil.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_interact_anvil +# Advancement reward: runs when player interacts with an anvil +advancement revoke @s only macroengine:systems/hook/interact_anvil +function macroengine:core/internal/systems/hook/on_interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_shulker_box.mcfunction new file mode 100644 index 00000000..ff40ea68 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_interact_shulker_box.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_interact_shulker_box +# Advancement reward: runs when player opens a shulker box +advancement revoke @s only macroengine:systems/hook/interact_shulker_box +function macroengine:core/internal/systems/hook/on_interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_item_use.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_item_use.mcfunction new file mode 100644 index 00000000..c617e7e3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_item_use.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_item_use +# Reward: item_use advancement (using_item trigger) +advancement revoke @s only macroengine:systems/hook/item_use +scoreboard players add @s macroengine.hook_item_used 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_jump.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_jump.mcfunction new file mode 100644 index 00000000..62653e03 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_jump.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_jump +# Binds a function or command to the "jumped" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player jumps +# cmd → command to run when a player jumps (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_jump" +# function macroengine:systems/hook/on_jump +# -- or -- +# data modify storage macroengine:input cmd set value "say A player jumped" +# function macroengine:systems/hook/on_jump +data modify storage macroengine:input event set value "jumped" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_killed_by_arrow.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_killed_by_arrow.mcfunction new file mode 100644 index 00000000..c1f0f2ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_killed_by_arrow.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/hook/on_killed_by_arrow +# Reward: killed_by_arrow advancement (entity_killed_player + killing_blow arrow) +advancement revoke @s only macroengine:systems/hook/killed_by_arrow +scoreboard players add @s macroengine.hook_killed_by_arrow 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_open_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_open_chest.mcfunction new file mode 100644 index 00000000..2f3e4ab2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_open_chest.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_open_chest +# Binds a function or command to the "open_chest" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player opens a chest +# cmd → command to run when a player opens a chest (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_open_chest" +# function macroengine:systems/hook/on_open_chest +# -- or -- +# data modify storage macroengine:input cmd set value "say A chest was opened" +# function macroengine:systems/hook/on_open_chest +data modify storage macroengine:input event set value "open_chest" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_placed_block.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_placed_block.mcfunction new file mode 100644 index 00000000..ea8b8b04 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_placed_block.mcfunction @@ -0,0 +1,8 @@ +# Advancement reward: runs when placed_block triggers +# Find the newly placed block in the direction the player is looking + +# Revoke advancement (so it can trigger again) +advancement revoke @s only macroengine:systems/hook/placed_block + +# Start raycast: begin from player's eyes +execute as @s at @s anchored eyes run function macroengine:systems/hook/raycast/start diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_target_hit.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_target_hit.mcfunction new file mode 100644 index 00000000..9095ca40 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_target_hit.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/hook/on_target_hit +# Binds a function or command to the "target_hit" event. +# +# INPUT (storage macroengine:input): +# func → function to run when a player hits a target block +# cmd → command to run when a player hits a target block (used if func is absent) +# +# USAGE: +# data modify storage macroengine:input func set value "mypack:on_target_hit" +# function macroengine:systems/hook/on_target_hit +# -- or -- +# data modify storage macroengine:input cmd set value "say Target hit" +# function macroengine:systems/hook/on_target_hit +data modify storage macroengine:input event set value "target_hit" +function macroengine:systems/hook/bind diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_trade.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_trade.mcfunction new file mode 100644 index 00000000..274493f8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_trade.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/on_trade +# Advancement reward: runs when villager_trade triggers. +# @s = the trading player + +advancement revoke @s only macroengine:systems/hook/trade +scoreboard players add @s macroengine.hook_traded 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_using_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_using_item.mcfunction new file mode 100644 index 00000000..b6bf0966 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/on_using_item.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/hook/on_using_item +# Called by tick_scan when macroengine.hook_using_item >= 1. +# Score is set by on_break_block (shared advancement). diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/found.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/found.mcfunction new file mode 100644 index 00000000..ad92a5c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/found.mcfunction @@ -0,0 +1,36 @@ +# Block found! +# Increment hook.placed scoreboard +scoreboard players add @s macroengine.hook_placed 1 + +# Write to hook event storage (other systems can listen) +# Save block coordinates (via marker summon from positioned context) +summon minecraft:marker ~ ~ ~ {Tags:["macroengine.hook_block_pos"]} +execute store result storage macroengine:hook placed.x int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[0] +execute store result storage macroengine:hook placed.y int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[1] +execute store result storage macroengine:hook placed.z int 1 run data get entity @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] Pos[2] +kill @e[type=minecraft:marker,tag=macroengine.hook_block_pos,limit=1] + +# Record timestamp (from macroengine.time scoreboard) +execute store result storage macroengine:hook placed.tick int 1 run scoreboard players get #time macroengine.time + +# Get player UUID and name via macroengine modules +execute as @s run function macroengine:systems/uuid/from_entity +data modify storage macroengine:hook placed.uuid set from storage macroengine:input value + +execute as @s run function macroengine:player/get_name +data modify storage macroengine:hook placed.name set from storage macroengine:names temp.NAME +data modify storage macroengine:hook placed.uuid_array set from storage macroengine:names temp.UUID + +# Set hook event flag +data modify storage macroengine:hook placed.active set value 1b + +# Hook event sistemine "placed_block" event'i fire et +data modify storage macroengine:engine _hook_fire_tmp set value {event:"placed_block"} +execute as @s run function macroengine:core/internal/systems/hook/fire with storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_fire_tmp + +# Legacy event system support (if present) +execute if score #m_hook macroengine.Flags matches 1.. run function macroengine:events/fire {id:"hook.placed"} + +# Cleanup: reset counter +scoreboard players reset @s macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/loop.mcfunction new file mode 100644 index 00000000..1a49cd71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/loop.mcfunction @@ -0,0 +1,15 @@ +# Raycast loop +# Check if there is a non-air block at the current position + +# Non-air block found → call found function +execute unless block ~ ~ ~ #minecraft:air run return run function macroengine:systems/hook/raycast/found + +# Still air → continue +# Increment counter +scoreboard players add @s macroengine.tmp 1 + +# Stop if max distance reached (50 steps = 5 blocks) +execute if score @s macroengine.tmp matches 50.. run return 0 + +# Advance position by 0.1 blocks and try again +execute positioned ^ ^ ^0.1 run function macroengine:systems/hook/raycast/loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/start.mcfunction new file mode 100644 index 00000000..2434578f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/raycast/start.mcfunction @@ -0,0 +1,6 @@ +# Raycast start +# Reset distance counter (max 50 steps = 5 blocks) +scoreboard players set @s macroengine.tmp 0 + +# Start loop +function macroengine:systems/hook/raycast/loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind.mcfunction new file mode 100644 index 00000000..0633de1d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/hook/unbind +# Removes all binds belonging to a specific event. +# +# INPUT (storage macroengine:input): +# event → event name +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/hook/unbind_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind_all.mcfunction new file mode 100644 index 00000000..057c6adf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/hook/unbind_all.mcfunction @@ -0,0 +1,6 @@ +# macroengine:systems/hook/unbind_all +# Clears all hook binds. + +data modify storage macroengine:engine hook_binds set value [] + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"hook/unbind_all ","color":"aqua"},{"text":"⚠ all hook binds cleared","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/add.mcfunction new file mode 100644 index 00000000..15992ca2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/add.mcfunction @@ -0,0 +1,16 @@ +# macroengine:systems/log/add (internal) +# Called by error/warn/info/debug — do not call directly. +# Appends to the 30-entry ring buffer in macroengine:engine log_display. +execute unless data storage macroengine:engine log_display run data modify storage macroengine:engine log_display set value [] + +$data modify storage macroengine:engine log_display append value {text:"[$(level)] $(message)",color:"$(color)"} + +scoreboard players add #macroengine.log_count macroengine.tmp 1 +execute if score #macroengine.log_count macroengine.tmp matches 31.. run data remove storage macroengine:engine log_display[0] +execute if score #macroengine.log_count macroengine.tmp matches 31.. run scoreboard players remove #macroengine.log_count macroengine.tmp 1 + +# Optional console mirroring via test_block (off by default — enable with +# /function macroengine: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 macroengine:engine security{debug_log:1b} run function macroengine:systems/log/testblock/pulse {message:"[$(level)] $(message)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/clear.mcfunction new file mode 100644 index 00000000..552852ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/clear.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/clear +# Usage: /function macroengine:systems/log/clear +# Clears the log buffer. +execute unless entity @s[tag=macroengine.admin] run return 0 +data remove storage macroengine:engine log_display +scoreboard players set #macroengine.log_count macroengine.tmp 0 +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log buffer cleared.","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/debug.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/debug.mcfunction new file mode 100644 index 00000000..d9b6333f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/debug.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/debug +# Usage: $function macroengine:systems/log/debug {message:"[System] Trace detail"} +# Level: 4 — only shown when debug mode active +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "DEBUG" +data modify storage macroengine:engine _log_add_tmp.color set value "dark_gray" +execute if score #macroengine.log_level macroengine.log_level matches 4.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/error.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/error.mcfunction new file mode 100644 index 00000000..d4a98ce5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/error.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/error +# Usage: $function macroengine:systems/log/error {message:"[System] Something failed"} +# Level: 1 — always shown unless log is off +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "ERROR" +data modify storage macroengine:engine _log_add_tmp.color set value "red" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/get_level.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/get_level.mcfunction new file mode 100644 index 00000000..92fb1ea2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/get_level.mcfunction @@ -0,0 +1,4 @@ +# macroengine:systems/log/get_level +# Usage: /function macroengine:systems/log/get_level +# Shows the current log level. +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log level: ","color":"gray"},{"score":{"name":"#macroengine.log_level","objective":"macroengine.log_level"},"color":"white","bold":true},{"text":" (0=off 1=error 2=warn 3=info 4=debug)","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/info.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/info.mcfunction new file mode 100644 index 00000000..ed95c53f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/info.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/info +# Usage: $function macroengine:systems/log/info {message:"[System] Something happened"} +# Level: 3 +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "INFO" +data modify storage macroengine:engine _log_add_tmp.color set value "gray" +execute if score #macroengine.log_level macroengine.log_level matches 3.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/set_level.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/set_level.mcfunction new file mode 100644 index 00000000..88bea5d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/set_level.mcfunction @@ -0,0 +1,11 @@ +# macroengine:systems/log/set_level +# Usage: $function macroengine:systems/log/set_level {level:3} +# Sets the active log level: +# 0 = off +# 1 = error only +# 2 = warn + error +# 3 = info + warn + error (default) +# 4 = debug (all) +execute unless entity @s[tag=macroengine.admin] run return 0 +$scoreboard players set #macroengine.log_level macroengine.log_level $(level) +$tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Log level set to ","color":"gray"},{"text":"$(level)","color":"white","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/show.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/show.mcfunction new file mode 100644 index 00000000..36d50a5a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/show.mcfunction @@ -0,0 +1,8 @@ +execute unless data storage macroengine:engine log_display[0] run tellraw @s {"text":"[Log] No entries.","color":"gray","italic":false} +execute unless data storage macroengine:engine log_display[0] run return 0 + +function macroengine:core/lib/input_push +data modify storage macroengine:engine _felist_input set from storage macroengine:engine log_display +data modify storage macroengine:input func set value "macroengine:core/internal/systems/log/print_entry" +function macroengine:core/lib/for_each_list with storage macroengine:input {} +function macroengine:core/lib/input_pop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place.mcfunction new file mode 100644 index 00000000..dccaddbe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place.mcfunction @@ -0,0 +1,10 @@ +# macroengine:systems/log/testblock/place +# Places (or re-places) the mode=log test_block at macroengine: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 macroengine:systems/log/testblock/place_at with storage macroengine:engine debug_log_pos diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place_at.mcfunction new file mode 100644 index 00000000..ba07ed61 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/place_at.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/log/testblock/place_at [MACRO] +# Input: $(x), $(y), $(z) — from debug_log_pos +$setblock $(x) $(y) $(z) minecraft:test_block[mode=log]{message:"[macroengine] (idle)",mode:"log",powered:0b} replace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse.mcfunction new file mode 100644 index 00000000..8a7c25e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse.mcfunction @@ -0,0 +1,20 @@ +# macroengine: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 macroengine: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 macroengine:tick_work testblock set from storage macroengine:engine debug_log_pos +$data modify storage macroengine:tick_work testblock.msg set value "$(message)" + +function macroengine:systems/log/testblock/pulse_at with storage macroengine: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 macroengine:systems/log/testblock/unpulse_at 1t replace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse_at.mcfunction new file mode 100644 index 00000000..d1d164d2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/pulse_at.mcfunction @@ -0,0 +1,7 @@ +# macroengine: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/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_at.mcfunction new file mode 100644 index 00000000..e352b75b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_at.mcfunction @@ -0,0 +1,8 @@ +# macroengine: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 macroengine:systems/log/testblock/unpulse_here with storage macroengine:engine debug_log_pos diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_here.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_here.mcfunction new file mode 100644 index 00000000..1e88871c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/testblock/unpulse_here.mcfunction @@ -0,0 +1,3 @@ +# macroengine:systems/log/testblock/unpulse_here [MACRO] +# Input: $(x), $(y), $(z) +$data merge block $(x) $(y) $(z) {powered:0b} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/warn.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/warn.mcfunction new file mode 100644 index 00000000..b480a729 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/log/warn.mcfunction @@ -0,0 +1,7 @@ +# macroengine:systems/log/warn +# Usage: $function macroengine:systems/log/warn {message:"[System] Something suspicious"} +# Level: 2 +$data modify storage macroengine:engine _log_add_tmp.message set value "$(message)" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 2.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_eq.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_eq.mcfunction new file mode 100644 index 00000000..e9b25777 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_eq.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp = $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gt.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gt.mcfunction new file mode 100644 index 00000000..a922197a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gt.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp > $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gte.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gte.mcfunction new file mode 100644 index 00000000..fac32e51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_gte.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp >= $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lt.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lt.mcfunction new file mode 100644 index 00000000..e8359d09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lt.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp < $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lte.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lte.mcfunction new file mode 100644 index 00000000..6c016518 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_lte.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute if score $if_a macroengine.tmp <= $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_not_eq.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_not_eq.mcfunction new file mode 100644 index 00000000..af1e00e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/logic/if_not_eq.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $if_a macroengine.tmp $(a) +$scoreboard players set $if_b macroengine.tmp $(b) +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +execute unless score $if_a macroengine.tmp = $if_b macroengine.tmp run function #macroengine:internal/dispatch diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/abs.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/abs.mcfunction new file mode 100644 index 00000000..18a80436 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/abs.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $abs_v macroengine.tmp $(value) +scoreboard players set $abs_neg macroengine.tmp -1 +execute if score $abs_v macroengine.tmp matches ..-1 run scoreboard players operation $abs_v macroengine.tmp *= $abs_neg macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $abs_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/atan2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/atan2.mcfunction new file mode 100644 index 00000000..d36a0fb9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/atan2.mcfunction @@ -0,0 +1,185 @@ +# macroengine:systems/math/atan2 [MACRO] +# Integer atan2 — returns angle in degrees × 1000 (range: -180000..180000) +# Uses octant decomposition + lookup table (same scale as sin/cos: ×1000) +# +# INPUT: $(y), $(x) — integer coordinates (scaled consistently) +# OUTPUT: macroengine:output result — degrees × 1000 +# +# EXAMPLE: +# function macroengine:systems/math/atan2 {y:500, x:500} +# → result = 45000 (45.000°) +# +# NOTES: +# - Both x and y zero → result = 0 +# - Result matches standard math convention (CCW from +X axis) + +$scoreboard players set $a2_y macroengine.tmp $(y) +$scoreboard players set $a2_x macroengine.tmp $(x) + +# Determine quadrant sign flags +scoreboard players set $a2_sx macroengine.tmp 1 +scoreboard players set $a2_sy macroengine.tmp 1 +execute if score $a2_x macroengine.tmp matches ..-1 run scoreboard players set $a2_sx macroengine.tmp -1 +execute if score $a2_y macroengine.tmp matches ..-1 run scoreboard players set $a2_sy macroengine.tmp -1 + +# Work in absolute values +scoreboard players set $a2_ax macroengine.tmp 0 +scoreboard players set $a2_ay macroengine.tmp 0 +execute store result score $a2_ax macroengine.tmp run scoreboard players get $a2_x macroengine.tmp +execute if score $a2_ax macroengine.tmp matches ..-1 run scoreboard players operation $a2_ax macroengine.tmp *= $a2_sx macroengine.tmp +execute store result score $a2_ay macroengine.tmp run scoreboard players get $a2_y macroengine.tmp +execute if score $a2_ay macroengine.tmp matches ..-1 run scoreboard players operation $a2_ay macroengine.tmp *= $a2_sy macroengine.tmp + +# Handle degenerate cases +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_ay macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_ay macroengine.tmp matches 0 run return 0 + +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches 1 run data modify storage macroengine:output result set value 90000 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches 1 run return 0 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches -1 run data modify storage macroengine:output result set value -90000 +execute if score $a2_ax macroengine.tmp matches 0 if score $a2_sy macroengine.tmp matches -1 run return 0 + +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches 1 run data modify storage macroengine:output result set value 0 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches 1 run return 0 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches -1 run data modify storage macroengine:output result set value 180000 +execute if score $a2_ay macroengine.tmp matches 0 if score $a2_sx macroengine.tmp matches -1 run return 0 + +# Compute ratio = (min/max) × 100 → 0..100 mapped to 0..45° +# Swap so we always divide smaller by larger (→ octant 0..45°) +scoreboard players set $a2_swap macroengine.tmp 0 +execute if score $a2_ay macroengine.tmp > $a2_ax macroengine.tmp run scoreboard players set $a2_swap macroengine.tmp 1 +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_ax macroengine.tmp >< $a2_ay macroengine.tmp + +# ratio = ay*100 / ax (ay ≤ ax here) +scoreboard players set $a2_100 macroengine.tmp 100 +scoreboard players operation $a2_ay macroengine.tmp *= $a2_100 macroengine.tmp +scoreboard players operation $a2_ay macroengine.tmp /= $a2_ax macroengine.tmp + +# Lookup table: ratio 0-100 → atan(ratio/100) × 1000 in degrees +execute if score $a2_ay macroengine.tmp matches 0 run scoreboard players set $a2_r macroengine.tmp 0 +execute if score $a2_ay macroengine.tmp matches 1 run scoreboard players set $a2_r macroengine.tmp 573 +execute if score $a2_ay macroengine.tmp matches 2 run scoreboard players set $a2_r macroengine.tmp 1146 +execute if score $a2_ay macroengine.tmp matches 3 run scoreboard players set $a2_r macroengine.tmp 1718 +execute if score $a2_ay macroengine.tmp matches 4 run scoreboard players set $a2_r macroengine.tmp 2291 +execute if score $a2_ay macroengine.tmp matches 5 run scoreboard players set $a2_r macroengine.tmp 2862 +execute if score $a2_ay macroengine.tmp matches 6 run scoreboard players set $a2_r macroengine.tmp 3433 +execute if score $a2_ay macroengine.tmp matches 7 run scoreboard players set $a2_r macroengine.tmp 4004 +execute if score $a2_ay macroengine.tmp matches 8 run scoreboard players set $a2_r macroengine.tmp 4574 +execute if score $a2_ay macroengine.tmp matches 9 run scoreboard players set $a2_r macroengine.tmp 5143 +execute if score $a2_ay macroengine.tmp matches 10 run scoreboard players set $a2_r macroengine.tmp 5711 +execute if score $a2_ay macroengine.tmp matches 11 run scoreboard players set $a2_r macroengine.tmp 6279 +execute if score $a2_ay macroengine.tmp matches 12 run scoreboard players set $a2_r macroengine.tmp 6843 +execute if score $a2_ay macroengine.tmp matches 13 run scoreboard players set $a2_r macroengine.tmp 7407 +execute if score $a2_ay macroengine.tmp matches 14 run scoreboard players set $a2_r macroengine.tmp 7969 +execute if score $a2_ay macroengine.tmp matches 15 run scoreboard players set $a2_r macroengine.tmp 8531 +execute if score $a2_ay macroengine.tmp matches 16 run scoreboard players set $a2_r macroengine.tmp 9090 +execute if score $a2_ay macroengine.tmp matches 17 run scoreboard players set $a2_r macroengine.tmp 9649 +execute if score $a2_ay macroengine.tmp matches 18 run scoreboard players set $a2_r macroengine.tmp 10205 +execute if score $a2_ay macroengine.tmp matches 19 run scoreboard players set $a2_r macroengine.tmp 10760 +execute if score $a2_ay macroengine.tmp matches 20 run scoreboard players set $a2_r macroengine.tmp 11310 +execute if score $a2_ay macroengine.tmp matches 21 run scoreboard players set $a2_r macroengine.tmp 11860 +execute if score $a2_ay macroengine.tmp matches 22 run scoreboard players set $a2_r macroengine.tmp 12407 +execute if score $a2_ay macroengine.tmp matches 23 run scoreboard players set $a2_r macroengine.tmp 12951 +execute if score $a2_ay macroengine.tmp matches 24 run scoreboard players set $a2_r macroengine.tmp 13495 +execute if score $a2_ay macroengine.tmp matches 25 run scoreboard players set $a2_r macroengine.tmp 14036 +execute if score $a2_ay macroengine.tmp matches 26 run scoreboard players set $a2_r macroengine.tmp 14574 +execute if score $a2_ay macroengine.tmp matches 27 run scoreboard players set $a2_r macroengine.tmp 15111 +execute if score $a2_ay macroengine.tmp matches 28 run scoreboard players set $a2_r macroengine.tmp 15643 +execute if score $a2_ay macroengine.tmp matches 29 run scoreboard players set $a2_r macroengine.tmp 16174 +execute if score $a2_ay macroengine.tmp matches 30 run scoreboard players set $a2_r macroengine.tmp 16699 +execute if score $a2_ay macroengine.tmp matches 31 run scoreboard players set $a2_r macroengine.tmp 17223 +execute if score $a2_ay macroengine.tmp matches 32 run scoreboard players set $a2_r macroengine.tmp 17744 +execute if score $a2_ay macroengine.tmp matches 33 run scoreboard players set $a2_r macroengine.tmp 18263 +execute if score $a2_ay macroengine.tmp matches 34 run scoreboard players set $a2_r macroengine.tmp 18778 +execute if score $a2_ay macroengine.tmp matches 35 run scoreboard players set $a2_r macroengine.tmp 19290 +execute if score $a2_ay macroengine.tmp matches 36 run scoreboard players set $a2_r macroengine.tmp 19799 +execute if score $a2_ay macroengine.tmp matches 37 run scoreboard players set $a2_r macroengine.tmp 20304 +execute if score $a2_ay macroengine.tmp matches 38 run scoreboard players set $a2_r macroengine.tmp 20806 +execute if score $a2_ay macroengine.tmp matches 39 run scoreboard players set $a2_r macroengine.tmp 21304 +execute if score $a2_ay macroengine.tmp matches 40 run scoreboard players set $a2_r macroengine.tmp 21801 +execute if score $a2_ay macroengine.tmp matches 41 run scoreboard players set $a2_r macroengine.tmp 22292 +execute if score $a2_ay macroengine.tmp matches 42 run scoreboard players set $a2_r macroengine.tmp 22782 +execute if score $a2_ay macroengine.tmp matches 43 run scoreboard players set $a2_r macroengine.tmp 23268 +execute if score $a2_ay macroengine.tmp matches 44 run scoreboard players set $a2_r macroengine.tmp 23749 +execute if score $a2_ay macroengine.tmp matches 45 run scoreboard players set $a2_r macroengine.tmp 24228 +execute if score $a2_ay macroengine.tmp matches 46 run scoreboard players set $a2_r macroengine.tmp 24703 +execute if score $a2_ay macroengine.tmp matches 47 run scoreboard players set $a2_r macroengine.tmp 25174 +execute if score $a2_ay macroengine.tmp matches 48 run scoreboard players set $a2_r macroengine.tmp 25642 +execute if score $a2_ay macroengine.tmp matches 49 run scoreboard players set $a2_r macroengine.tmp 26105 +execute if score $a2_ay macroengine.tmp matches 50 run scoreboard players set $a2_r macroengine.tmp 26565 +execute if score $a2_ay macroengine.tmp matches 51 run scoreboard players set $a2_r macroengine.tmp 27021 +execute if score $a2_ay macroengine.tmp matches 52 run scoreboard players set $a2_r macroengine.tmp 27473 +execute if score $a2_ay macroengine.tmp matches 53 run scoreboard players set $a2_r macroengine.tmp 27922 +execute if score $a2_ay macroengine.tmp matches 54 run scoreboard players set $a2_r macroengine.tmp 28367 +execute if score $a2_ay macroengine.tmp matches 55 run scoreboard players set $a2_r macroengine.tmp 28808 +execute if score $a2_ay macroengine.tmp matches 56 run scoreboard players set $a2_r macroengine.tmp 29145 +execute if score $a2_ay macroengine.tmp matches 57 run scoreboard players set $a2_r macroengine.tmp 29678 +execute if score $a2_ay macroengine.tmp matches 58 run scoreboard players set $a2_r macroengine.tmp 30107 +execute if score $a2_ay macroengine.tmp matches 59 run scoreboard players set $a2_r macroengine.tmp 30531 +execute if score $a2_ay macroengine.tmp matches 60 run scoreboard players set $a2_r macroengine.tmp 30964 +execute if score $a2_ay macroengine.tmp matches 61 run scoreboard players set $a2_r macroengine.tmp 31333 +execute if score $a2_ay macroengine.tmp matches 62 run scoreboard players set $a2_r macroengine.tmp 31759 +execute if score $a2_ay macroengine.tmp matches 63 run scoreboard players set $a2_r macroengine.tmp 32175 +execute if score $a2_ay macroengine.tmp matches 64 run scoreboard players set $a2_r macroengine.tmp 32619 +execute if score $a2_ay macroengine.tmp matches 65 run scoreboard players set $a2_r macroengine.tmp 33001 +execute if score $a2_ay macroengine.tmp matches 66 run scoreboard players set $a2_r macroengine.tmp 33401 +execute if score $a2_ay macroengine.tmp matches 67 run scoreboard players set $a2_r macroengine.tmp 33801 +execute if score $a2_ay macroengine.tmp matches 68 run scoreboard players set $a2_r macroengine.tmp 34200 +execute if score $a2_ay macroengine.tmp matches 69 run scoreboard players set $a2_r macroengine.tmp 34596 +execute if score $a2_ay macroengine.tmp matches 70 run scoreboard players set $a2_r macroengine.tmp 34992 +execute if score $a2_ay macroengine.tmp matches 71 run scoreboard players set $a2_r macroengine.tmp 35384 +execute if score $a2_ay macroengine.tmp matches 72 run scoreboard players set $a2_r macroengine.tmp 35757 +execute if score $a2_ay macroengine.tmp matches 73 run scoreboard players set $a2_r macroengine.tmp 36161 +execute if score $a2_ay macroengine.tmp matches 74 run scoreboard players set $a2_r macroengine.tmp 36541 +execute if score $a2_ay macroengine.tmp matches 75 run scoreboard players set $a2_r macroengine.tmp 36920 +execute if score $a2_ay macroengine.tmp matches 76 run scoreboard players set $a2_r macroengine.tmp 37297 +execute if score $a2_ay macroengine.tmp matches 77 run scoreboard players set $a2_r macroengine.tmp 37672 +execute if score $a2_ay macroengine.tmp matches 78 run scoreboard players set $a2_r macroengine.tmp 38045 +execute if score $a2_ay macroengine.tmp matches 79 run scoreboard players set $a2_r macroengine.tmp 38416 +execute if score $a2_ay macroengine.tmp matches 80 run scoreboard players set $a2_r macroengine.tmp 38785 +execute if score $a2_ay macroengine.tmp matches 81 run scoreboard players set $a2_r macroengine.tmp 39151 +execute if score $a2_ay macroengine.tmp matches 82 run scoreboard players set $a2_r macroengine.tmp 39516 +execute if score $a2_ay macroengine.tmp matches 83 run scoreboard players set $a2_r macroengine.tmp 39878 +execute if score $a2_ay macroengine.tmp matches 84 run scoreboard players set $a2_r macroengine.tmp 40236 +execute if score $a2_ay macroengine.tmp matches 85 run scoreboard players set $a2_r macroengine.tmp 40593 +execute if score $a2_ay macroengine.tmp matches 86 run scoreboard players set $a2_r macroengine.tmp 40948 +execute if score $a2_ay macroengine.tmp matches 87 run scoreboard players set $a2_r macroengine.tmp 41301 +execute if score $a2_ay macroengine.tmp matches 88 run scoreboard players set $a2_r macroengine.tmp 41634 +execute if score $a2_ay macroengine.tmp matches 89 run scoreboard players set $a2_r macroengine.tmp 41996 +execute if score $a2_ay macroengine.tmp matches 90 run scoreboard players set $a2_r macroengine.tmp 42274 +execute if score $a2_ay macroengine.tmp matches 91 run scoreboard players set $a2_r macroengine.tmp 42620 +execute if score $a2_ay macroengine.tmp matches 92 run scoreboard players set $a2_r macroengine.tmp 42965 +execute if score $a2_ay macroengine.tmp matches 93 run scoreboard players set $a2_r macroengine.tmp 43307 +execute if score $a2_ay macroengine.tmp matches 94 run scoreboard players set $a2_r macroengine.tmp 43648 +execute if score $a2_ay macroengine.tmp matches 95 run scoreboard players set $a2_r macroengine.tmp 43565 +execute if score $a2_ay macroengine.tmp matches 96 run scoreboard players set $a2_r macroengine.tmp 44321 +execute if score $a2_ay macroengine.tmp matches 97 run scoreboard players set $a2_r macroengine.tmp 44659 +execute if score $a2_ay macroengine.tmp matches 98 run scoreboard players set $a2_r macroengine.tmp 44996 +execute if score $a2_ay macroengine.tmp matches 99 run scoreboard players set $a2_r macroengine.tmp 44731 +execute if score $a2_ay macroengine.tmp matches 100 run scoreboard players set $a2_r macroengine.tmp 45000 + +# Undo swap: if swapped, angle = 90000 - angle +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players set $a2_90 macroengine.tmp 90000 +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_90 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_swap macroengine.tmp matches 1 run scoreboard players operation $a2_r macroengine.tmp = $a2_90 macroengine.tmp + +# Apply quadrant offsets +# Q2 (x<0, y≥0): angle = 180000 - angle +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players set $a2_180 macroengine.tmp 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players operation $a2_180 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches 1 run scoreboard players operation $a2_r macroengine.tmp = $a2_180 macroengine.tmp + +# Q3 (x<0, y<0): angle = -(180000 - angle) → angle - 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_180 macroengine.tmp 180000 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_180 macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_neg macroengine.tmp 0 +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_neg macroengine.tmp -= $a2_180 macroengine.tmp +execute if score $a2_sx macroengine.tmp matches -1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_r macroengine.tmp = $a2_neg macroengine.tmp + +# Q4 (x≥0, y<0): angle = -angle +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players set $a2_neg macroengine.tmp 0 +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_neg macroengine.tmp -= $a2_r macroengine.tmp +execute if score $a2_sx macroengine.tmp matches 1 if score $a2_sy macroengine.tmp matches -1 run scoreboard players operation $a2_r macroengine.tmp = $a2_neg macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $a2_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/atan2 ","color":"aqua"},{"text":"y=$(y) x=$(x) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000°","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/average.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/average.mcfunction new file mode 100644 index 00000000..9b97c95c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/average.mcfunction @@ -0,0 +1,34 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/average +# Computes the integer average of up to 8 values. +# Input : $(v0)..(v7) → integer values +# $(count) → how many values (1-8) +# Output: macroengine:output result → floor(sum / count) +# +# Example: +# data modify storage macroengine:input v0 set value 10 +# data modify storage macroengine:input v1 set value 20 +# data modify storage macroengine:input v2 set value 30 +# data modify storage macroengine:input count set value 3 +# function macroengine:systems/math/average with storage macroengine:input {} +# # macroengine:output result = 20 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $avg_c macroengine.tmp $(count) + +execute if score $avg_c macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $avg_c macroengine.tmp matches ..0 run return 0 + +$scoreboard players set $avg_s macroengine.tmp $(v0) +$execute if score $avg_c macroengine.tmp matches 2.. run scoreboard players add $avg_s macroengine.tmp $(v1) +$execute if score $avg_c macroengine.tmp matches 3.. run scoreboard players add $avg_s macroengine.tmp $(v2) +$execute if score $avg_c macroengine.tmp matches 4.. run scoreboard players add $avg_s macroengine.tmp $(v3) +$execute if score $avg_c macroengine.tmp matches 5.. run scoreboard players add $avg_s macroengine.tmp $(v4) +$execute if score $avg_c macroengine.tmp matches 6.. run scoreboard players add $avg_s macroengine.tmp $(v5) +$execute if score $avg_c macroengine.tmp matches 7.. run scoreboard players add $avg_s macroengine.tmp $(v6) +$execute if score $avg_c macroengine.tmp matches 8.. run scoreboard players add $avg_s macroengine.tmp $(v7) + +scoreboard players operation $avg_s macroengine.tmp /= $avg_c macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $avg_s macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/average ","color":"aqua"},{"text":"count=$(count) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/ceil_div.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/ceil_div.mcfunction new file mode 100644 index 00000000..dc9b09d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/ceil_div.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $cdv_a macroengine.tmp $(a) +$scoreboard players set $cdv_b macroengine.tmp $(b) + +scoreboard players operation $cdv_t macroengine.tmp = $cdv_b macroengine.tmp +scoreboard players remove $cdv_t macroengine.tmp 1 + +scoreboard players operation $cdv_a macroengine.tmp += $cdv_t macroengine.tmp + +scoreboard players operation $cdv_a macroengine.tmp /= $cdv_b macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $cdv_a macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/clamp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/clamp.mcfunction new file mode 100644 index 00000000..7e8499bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/clamp.mcfunction @@ -0,0 +1,8 @@ +$scoreboard players set $clamp_v macroengine.tmp $(value) +$scoreboard players set $clamp_lo macroengine.tmp $(min) +$scoreboard players set $clamp_hi macroengine.tmp $(max) + +execute if score $clamp_v macroengine.tmp < $clamp_lo macroengine.tmp run scoreboard players operation $clamp_v macroengine.tmp = $clamp_lo macroengine.tmp +execute if score $clamp_v macroengine.tmp > $clamp_hi macroengine.tmp run scoreboard players operation $clamp_v macroengine.tmp = $clamp_hi macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $clamp_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/cos.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/cos.mcfunction new file mode 100644 index 00000000..eca2045a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/cos.mcfunction @@ -0,0 +1,110 @@ +# cos(x) = sin(x + 90) +$scoreboard players set $cos_d macroengine.tmp $(deg) +scoreboard players add $cos_d macroengine.tmp 90 +scoreboard players set $cos_360 macroengine.tmp 360 +scoreboard players operation $cos_d macroengine.tmp %= $cos_360 macroengine.tmp +execute if score $cos_d macroengine.tmp matches ..-1 run scoreboard players operation $cos_d macroengine.tmp += $cos_360 macroengine.tmp + +scoreboard players set $cos_nf macroengine.tmp 1 +execute if score $cos_d macroengine.tmp matches 180..359 run scoreboard players set $cos_nf macroengine.tmp -1 +execute if score $cos_d macroengine.tmp matches 180..359 run scoreboard players remove $cos_d macroengine.tmp 180 + +scoreboard players set $cos_180 macroengine.tmp 180 +execute if score $cos_d macroengine.tmp matches 91..179 run scoreboard players operation $cos_180 macroengine.tmp -= $cos_d macroengine.tmp +execute if score $cos_d macroengine.tmp matches 91..179 run scoreboard players operation $cos_d macroengine.tmp = $cos_180 macroengine.tmp + +execute if score $cos_d macroengine.tmp matches 0 run scoreboard players set $cos_r macroengine.tmp 0 +execute if score $cos_d macroengine.tmp matches 1 run scoreboard players set $cos_r macroengine.tmp 17 +execute if score $cos_d macroengine.tmp matches 2 run scoreboard players set $cos_r macroengine.tmp 35 +execute if score $cos_d macroengine.tmp matches 3 run scoreboard players set $cos_r macroengine.tmp 52 +execute if score $cos_d macroengine.tmp matches 4 run scoreboard players set $cos_r macroengine.tmp 70 +execute if score $cos_d macroengine.tmp matches 5 run scoreboard players set $cos_r macroengine.tmp 87 +execute if score $cos_d macroengine.tmp matches 6 run scoreboard players set $cos_r macroengine.tmp 105 +execute if score $cos_d macroengine.tmp matches 7 run scoreboard players set $cos_r macroengine.tmp 122 +execute if score $cos_d macroengine.tmp matches 8 run scoreboard players set $cos_r macroengine.tmp 139 +execute if score $cos_d macroengine.tmp matches 9 run scoreboard players set $cos_r macroengine.tmp 156 +execute if score $cos_d macroengine.tmp matches 10 run scoreboard players set $cos_r macroengine.tmp 174 +execute if score $cos_d macroengine.tmp matches 11 run scoreboard players set $cos_r macroengine.tmp 191 +execute if score $cos_d macroengine.tmp matches 12 run scoreboard players set $cos_r macroengine.tmp 208 +execute if score $cos_d macroengine.tmp matches 13 run scoreboard players set $cos_r macroengine.tmp 225 +execute if score $cos_d macroengine.tmp matches 14 run scoreboard players set $cos_r macroengine.tmp 242 +execute if score $cos_d macroengine.tmp matches 15 run scoreboard players set $cos_r macroengine.tmp 259 +execute if score $cos_d macroengine.tmp matches 16 run scoreboard players set $cos_r macroengine.tmp 276 +execute if score $cos_d macroengine.tmp matches 17 run scoreboard players set $cos_r macroengine.tmp 292 +execute if score $cos_d macroengine.tmp matches 18 run scoreboard players set $cos_r macroengine.tmp 309 +execute if score $cos_d macroengine.tmp matches 19 run scoreboard players set $cos_r macroengine.tmp 326 +execute if score $cos_d macroengine.tmp matches 20 run scoreboard players set $cos_r macroengine.tmp 342 +execute if score $cos_d macroengine.tmp matches 21 run scoreboard players set $cos_r macroengine.tmp 358 +execute if score $cos_d macroengine.tmp matches 22 run scoreboard players set $cos_r macroengine.tmp 375 +execute if score $cos_d macroengine.tmp matches 23 run scoreboard players set $cos_r macroengine.tmp 391 +execute if score $cos_d macroengine.tmp matches 24 run scoreboard players set $cos_r macroengine.tmp 407 +execute if score $cos_d macroengine.tmp matches 25 run scoreboard players set $cos_r macroengine.tmp 423 +execute if score $cos_d macroengine.tmp matches 26 run scoreboard players set $cos_r macroengine.tmp 438 +execute if score $cos_d macroengine.tmp matches 27 run scoreboard players set $cos_r macroengine.tmp 454 +execute if score $cos_d macroengine.tmp matches 28 run scoreboard players set $cos_r macroengine.tmp 469 +execute if score $cos_d macroengine.tmp matches 29 run scoreboard players set $cos_r macroengine.tmp 485 +execute if score $cos_d macroengine.tmp matches 30 run scoreboard players set $cos_r macroengine.tmp 500 +execute if score $cos_d macroengine.tmp matches 31 run scoreboard players set $cos_r macroengine.tmp 515 +execute if score $cos_d macroengine.tmp matches 32 run scoreboard players set $cos_r macroengine.tmp 530 +execute if score $cos_d macroengine.tmp matches 33 run scoreboard players set $cos_r macroengine.tmp 545 +execute if score $cos_d macroengine.tmp matches 34 run scoreboard players set $cos_r macroengine.tmp 559 +execute if score $cos_d macroengine.tmp matches 35 run scoreboard players set $cos_r macroengine.tmp 574 +execute if score $cos_d macroengine.tmp matches 36 run scoreboard players set $cos_r macroengine.tmp 588 +execute if score $cos_d macroengine.tmp matches 37 run scoreboard players set $cos_r macroengine.tmp 602 +execute if score $cos_d macroengine.tmp matches 38 run scoreboard players set $cos_r macroengine.tmp 616 +execute if score $cos_d macroengine.tmp matches 39 run scoreboard players set $cos_r macroengine.tmp 629 +execute if score $cos_d macroengine.tmp matches 40 run scoreboard players set $cos_r macroengine.tmp 643 +execute if score $cos_d macroengine.tmp matches 41 run scoreboard players set $cos_r macroengine.tmp 656 +execute if score $cos_d macroengine.tmp matches 42 run scoreboard players set $cos_r macroengine.tmp 669 +execute if score $cos_d macroengine.tmp matches 43 run scoreboard players set $cos_r macroengine.tmp 682 +execute if score $cos_d macroengine.tmp matches 44 run scoreboard players set $cos_r macroengine.tmp 695 +execute if score $cos_d macroengine.tmp matches 45 run scoreboard players set $cos_r macroengine.tmp 707 +execute if score $cos_d macroengine.tmp matches 46 run scoreboard players set $cos_r macroengine.tmp 719 +execute if score $cos_d macroengine.tmp matches 47 run scoreboard players set $cos_r macroengine.tmp 731 +execute if score $cos_d macroengine.tmp matches 48 run scoreboard players set $cos_r macroengine.tmp 743 +execute if score $cos_d macroengine.tmp matches 49 run scoreboard players set $cos_r macroengine.tmp 755 +execute if score $cos_d macroengine.tmp matches 50 run scoreboard players set $cos_r macroengine.tmp 766 +execute if score $cos_d macroengine.tmp matches 51 run scoreboard players set $cos_r macroengine.tmp 777 +execute if score $cos_d macroengine.tmp matches 52 run scoreboard players set $cos_r macroengine.tmp 788 +execute if score $cos_d macroengine.tmp matches 53 run scoreboard players set $cos_r macroengine.tmp 799 +execute if score $cos_d macroengine.tmp matches 54 run scoreboard players set $cos_r macroengine.tmp 809 +execute if score $cos_d macroengine.tmp matches 55 run scoreboard players set $cos_r macroengine.tmp 819 +execute if score $cos_d macroengine.tmp matches 56 run scoreboard players set $cos_r macroengine.tmp 829 +execute if score $cos_d macroengine.tmp matches 57 run scoreboard players set $cos_r macroengine.tmp 839 +execute if score $cos_d macroengine.tmp matches 58 run scoreboard players set $cos_r macroengine.tmp 848 +execute if score $cos_d macroengine.tmp matches 59 run scoreboard players set $cos_r macroengine.tmp 857 +execute if score $cos_d macroengine.tmp matches 60 run scoreboard players set $cos_r macroengine.tmp 866 +execute if score $cos_d macroengine.tmp matches 61 run scoreboard players set $cos_r macroengine.tmp 875 +execute if score $cos_d macroengine.tmp matches 62 run scoreboard players set $cos_r macroengine.tmp 883 +execute if score $cos_d macroengine.tmp matches 63 run scoreboard players set $cos_r macroengine.tmp 891 +execute if score $cos_d macroengine.tmp matches 64 run scoreboard players set $cos_r macroengine.tmp 899 +execute if score $cos_d macroengine.tmp matches 65 run scoreboard players set $cos_r macroengine.tmp 906 +execute if score $cos_d macroengine.tmp matches 66 run scoreboard players set $cos_r macroengine.tmp 914 +execute if score $cos_d macroengine.tmp matches 67 run scoreboard players set $cos_r macroengine.tmp 921 +execute if score $cos_d macroengine.tmp matches 68 run scoreboard players set $cos_r macroengine.tmp 927 +execute if score $cos_d macroengine.tmp matches 69 run scoreboard players set $cos_r macroengine.tmp 934 +execute if score $cos_d macroengine.tmp matches 70 run scoreboard players set $cos_r macroengine.tmp 940 +execute if score $cos_d macroengine.tmp matches 71 run scoreboard players set $cos_r macroengine.tmp 946 +execute if score $cos_d macroengine.tmp matches 72 run scoreboard players set $cos_r macroengine.tmp 951 +execute if score $cos_d macroengine.tmp matches 73 run scoreboard players set $cos_r macroengine.tmp 956 +execute if score $cos_d macroengine.tmp matches 74 run scoreboard players set $cos_r macroengine.tmp 961 +execute if score $cos_d macroengine.tmp matches 75 run scoreboard players set $cos_r macroengine.tmp 966 +execute if score $cos_d macroengine.tmp matches 76 run scoreboard players set $cos_r macroengine.tmp 970 +execute if score $cos_d macroengine.tmp matches 77 run scoreboard players set $cos_r macroengine.tmp 974 +execute if score $cos_d macroengine.tmp matches 78 run scoreboard players set $cos_r macroengine.tmp 978 +execute if score $cos_d macroengine.tmp matches 79 run scoreboard players set $cos_r macroengine.tmp 982 +execute if score $cos_d macroengine.tmp matches 80 run scoreboard players set $cos_r macroengine.tmp 985 +execute if score $cos_d macroengine.tmp matches 81 run scoreboard players set $cos_r macroengine.tmp 988 +execute if score $cos_d macroengine.tmp matches 82 run scoreboard players set $cos_r macroengine.tmp 990 +execute if score $cos_d macroengine.tmp matches 83 run scoreboard players set $cos_r macroengine.tmp 993 +execute if score $cos_d macroengine.tmp matches 84 run scoreboard players set $cos_r macroengine.tmp 995 +execute if score $cos_d macroengine.tmp matches 85 run scoreboard players set $cos_r macroengine.tmp 996 +execute if score $cos_d macroengine.tmp matches 86 run scoreboard players set $cos_r macroengine.tmp 998 +execute if score $cos_d macroengine.tmp matches 87 run scoreboard players set $cos_r macroengine.tmp 999 +execute if score $cos_d macroengine.tmp matches 88 run scoreboard players set $cos_r macroengine.tmp 999 +execute if score $cos_d macroengine.tmp matches 89 run scoreboard players set $cos_r macroengine.tmp 1000 +execute if score $cos_d macroengine.tmp matches 90 run scoreboard players set $cos_r macroengine.tmp 1000 + +scoreboard players operation $cos_r macroengine.tmp *= $cos_nf macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $cos_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/cos ","color":"aqua"},{"text":"deg=$(deg) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance2d.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance2d.mcfunction new file mode 100644 index 00000000..d1102fc1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance2d.mcfunction @@ -0,0 +1,33 @@ +$scoreboard players set $d2d_x1 macroengine.tmp $(x1) +$scoreboard players set $d2d_z1 macroengine.tmp $(z1) +$scoreboard players set $d2d_x2 macroengine.tmp $(x2) +$scoreboard players set $d2d_z2 macroengine.tmp $(z2) + +scoreboard players operation $d2d_dx macroengine.tmp = $d2d_x2 macroengine.tmp +scoreboard players operation $d2d_dx macroengine.tmp -= $d2d_x1 macroengine.tmp + +scoreboard players operation $d2d_dz macroengine.tmp = $d2d_z2 macroengine.tmp +scoreboard players operation $d2d_dz macroengine.tmp -= $d2d_z1 macroengine.tmp + +# Overflow prevention: 2 * 32767² = 2,147,354,578 ≤ INT_MAX (2,147,483,647) +execute if score $d2d_dx macroengine.tmp matches 32768.. run scoreboard players set $d2d_dx macroengine.tmp 32767 +execute if score $d2d_dx macroengine.tmp matches ..-32768 run scoreboard players set $d2d_dx macroengine.tmp -32767 +execute if score $d2d_dz macroengine.tmp matches 32768.. run scoreboard players set $d2d_dz macroengine.tmp 32767 +execute if score $d2d_dz macroengine.tmp matches ..-32768 run scoreboard players set $d2d_dz macroengine.tmp -32767 + +scoreboard players operation $d2d_dx macroengine.tmp *= $d2d_dx macroengine.tmp +scoreboard players operation $d2d_dz macroengine.tmp *= $d2d_dz macroengine.tmp +scoreboard players operation $d2d_sq macroengine.tmp = $d2d_dx macroengine.tmp +scoreboard players operation $d2d_sq macroengine.tmp += $d2d_dz macroengine.tmp + +execute if score $d2d_sq macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $d2d_sq macroengine.tmp matches 0 run return 0 + +scoreboard players operation $sqrt_n macroengine.tmp = $d2d_sq macroengine.tmp +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance3d.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance3d.mcfunction new file mode 100644 index 00000000..929255ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/distance3d.mcfunction @@ -0,0 +1,42 @@ +$scoreboard players set $d3d_x1 macroengine.tmp $(x1) +$scoreboard players set $d3d_y1 macroengine.tmp $(y1) +$scoreboard players set $d3d_z1 macroengine.tmp $(z1) +$scoreboard players set $d3d_x2 macroengine.tmp $(x2) +$scoreboard players set $d3d_y2 macroengine.tmp $(y2) +$scoreboard players set $d3d_z2 macroengine.tmp $(z2) + +scoreboard players operation $d3d_dx macroengine.tmp = $d3d_x2 macroengine.tmp +scoreboard players operation $d3d_dx macroengine.tmp -= $d3d_x1 macroengine.tmp + +scoreboard players operation $d3d_dy macroengine.tmp = $d3d_y2 macroengine.tmp +scoreboard players operation $d3d_dy macroengine.tmp -= $d3d_y1 macroengine.tmp + +scoreboard players operation $d3d_dz macroengine.tmp = $d3d_z2 macroengine.tmp +scoreboard players operation $d3d_dz macroengine.tmp -= $d3d_z1 macroengine.tmp + +# Overflow prevention: 3 * 26754² = 2,147,329,548 ≤ INT_MAX (2,147,483,647) +execute if score $d3d_dx macroengine.tmp matches 26755.. run scoreboard players set $d3d_dx macroengine.tmp 26754 +execute if score $d3d_dx macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dx macroengine.tmp -26754 +execute if score $d3d_dy macroengine.tmp matches 26755.. run scoreboard players set $d3d_dy macroengine.tmp 26754 +execute if score $d3d_dy macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dy macroengine.tmp -26754 +execute if score $d3d_dz macroengine.tmp matches 26755.. run scoreboard players set $d3d_dz macroengine.tmp 26754 +execute if score $d3d_dz macroengine.tmp matches ..-26755 run scoreboard players set $d3d_dz macroengine.tmp -26754 + +scoreboard players operation $d3d_dx macroengine.tmp *= $d3d_dx macroengine.tmp +scoreboard players operation $d3d_dy macroengine.tmp *= $d3d_dy macroengine.tmp +scoreboard players operation $d3d_dz macroengine.tmp *= $d3d_dz macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp = $d3d_dx macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp += $d3d_dy macroengine.tmp +scoreboard players operation $d3d_sq macroengine.tmp += $d3d_dz macroengine.tmp + +execute if score $d3d_sq macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $d3d_sq macroengine.tmp matches 0 run return 0 + +scoreboard players operation $sqrt_n macroengine.tmp = $d3d_sq macroengine.tmp +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/divmod.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/divmod.mcfunction new file mode 100644 index 00000000..109dcf70 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/divmod.mcfunction @@ -0,0 +1,16 @@ +$scoreboard players set $dvm_v macroengine.tmp $(value) +$scoreboard players set $dvm_d macroengine.tmp $(divisor) + +execute if score $dvm_d macroengine.tmp matches ..0 run data modify storage macroengine:output quotient set value 0 +execute if score $dvm_d macroengine.tmp matches ..0 run data modify storage macroengine:output remainder set value 0 +execute if score $dvm_d macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $dvm_q macroengine.tmp = $dvm_v macroengine.tmp +scoreboard players operation $dvm_q macroengine.tmp /= $dvm_d macroengine.tmp +execute store result storage macroengine:output quotient int 1 run scoreboard players get $dvm_q macroengine.tmp + +scoreboard players operation $dvm_v macroengine.tmp %= $dvm_d macroengine.tmp +execute if score $dvm_v macroengine.tmp matches ..-1 run scoreboard players operation $dvm_v macroengine.tmp += $dvm_d macroengine.tmp +execute store result storage macroengine:output remainder int 1 run scoreboard players get $dvm_v macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/divmod ","color":"aqua"},{"text":"($(value)/$(divisor))","color":"gray"},{"text":" → ","color":"#555555"},{"text":"q=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"quotient","color":"green"},{"text":" r=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"remainder","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/factorial.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/factorial.mcfunction new file mode 100644 index 00000000..735c6055 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/factorial.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/factorial +# Computes n! for integer n in range 0–12. +# Values outside this range are clamped: +# n < 0 → result = 0 (undefined) +# n > 12 → result = 0 (would overflow INT32) +# +# Input : $(n) → non-negative integer +# Output: macroengine:output result → n! +# +# Lookup table approach — avoids recursion overhead and is safe +# against scoreboard overflow (12! = 479001600 < 2147483647). +# +# Example: +# function macroengine:systems/math/factorial {n:5} +# # macroengine:output result = 120 +# function macroengine:systems/math/factorial {n:0} +# # macroengine:output result = 1 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fact_n macroengine.tmp $(n) + +# Out-of-range guard +execute if score $fact_n macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value 0 +execute if score $fact_n macroengine.tmp matches ..-1 run return 0 +execute if score $fact_n macroengine.tmp matches 13.. run data modify storage macroengine:output result set value 0 +execute if score $fact_n macroengine.tmp matches 13.. run return 0 + +# Lookup table 0! – 12! +execute if score $fact_n macroengine.tmp matches 0 run data modify storage macroengine:output result set value 1 +execute if score $fact_n macroengine.tmp matches 1 run data modify storage macroengine:output result set value 1 +execute if score $fact_n macroengine.tmp matches 2 run data modify storage macroengine:output result set value 2 +execute if score $fact_n macroengine.tmp matches 3 run data modify storage macroengine:output result set value 6 +execute if score $fact_n macroengine.tmp matches 4 run data modify storage macroengine:output result set value 24 +execute if score $fact_n macroengine.tmp matches 5 run data modify storage macroengine:output result set value 120 +execute if score $fact_n macroengine.tmp matches 6 run data modify storage macroengine:output result set value 720 +execute if score $fact_n macroengine.tmp matches 7 run data modify storage macroengine:output result set value 5040 +execute if score $fact_n macroengine.tmp matches 8 run data modify storage macroengine:output result set value 40320 +execute if score $fact_n macroengine.tmp matches 9 run data modify storage macroengine:output result set value 362880 +execute if score $fact_n macroengine.tmp matches 10 run data modify storage macroengine:output result set value 3628800 +execute if score $fact_n macroengine.tmp matches 11 run data modify storage macroengine:output result set value 39916800 +execute if score $fact_n macroengine.tmp matches 12 run data modify storage macroengine:output result set value 479001600 + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/factorial ","color":"aqua"},{"text":"$(n)! = ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/gcd.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/gcd.mcfunction new file mode 100644 index 00000000..705d7fd7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/gcd.mcfunction @@ -0,0 +1,30 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/gcd +# Computes GCD using the Euclidean algorithm. +# Input : $(a), $(b) → integers (may be negative) +# Output: macroengine:output result → GCD(|a|, |b|) +# +# Example: +# data modify storage macroengine:input a set value 48 +# data modify storage macroengine:input b set value 18 +# function macroengine:systems/math/gcd with storage macroengine:input {} +# # macroengine:output result = 6 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $gcd_a macroengine.tmp $(a) +$scoreboard players set $gcd_b macroengine.tmp $(b) + +# Take absolute value +scoreboard players set $gcd_neg macroengine.tmp -1 +execute if score $gcd_a macroengine.tmp matches ..-1 run scoreboard players operation $gcd_a macroengine.tmp *= $gcd_neg macroengine.tmp +execute if score $gcd_b macroengine.tmp matches ..-1 run scoreboard players operation $gcd_b macroengine.tmp *= $gcd_neg macroengine.tmp + +# b=0 → result is a +execute if score $gcd_b macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $gcd_a macroengine.tmp +execute if score $gcd_b macroengine.tmp matches 0 run return 0 + +# Euclidean loop (inner function) +function macroengine:core/internal/systems/math/gcd_loop + +execute store result storage macroengine:output result int 1 run scoreboard players get $gcd_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/gcd ","color":"aqua"},{"text":"($(a),$(b)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/is_between.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/is_between.mcfunction new file mode 100644 index 00000000..13b92a8b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/is_between.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/is_between +# Checks if value is in the inclusive range [min, max]. +# Input : $(value), $(min), $(max) +# Output: macroengine:output result → 1b (true) or 0b (false) +# +# Example: +# data modify storage macroengine:input value set value 15 +# data modify storage macroengine:input min set value 10 +# data modify storage macroengine:input max set value 20 +# function macroengine:systems/math/is_between with storage macroengine:input {} +# # macroengine:output result = 1b +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $ib_v macroengine.tmp $(value) +$scoreboard players set $ib_lo macroengine.tmp $(min) +$scoreboard players set $ib_hi macroengine.tmp $(max) + +data modify storage macroengine:output result set value 0b + +execute if score $ib_v macroengine.tmp >= $ib_lo macroengine.tmp run execute if score $ib_v macroengine.tmp <= $ib_hi macroengine.tmp run data modify storage macroengine:output result set value 1b + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/is_between ","color":"aqua"},{"text":"$(value) in [$(min),$(max)] → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lcm.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lcm.mcfunction new file mode 100644 index 00000000..c9562035 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lcm.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/lcm +# EKOK (LCM) hesaplar: lcm(a,b) = |a*b| / gcd(a,b) +# Input : $(a), $(b) → integers +# Output: macroengine:output result → LCM(a, b) +# NOTE : Overflow risk — result may exceed INT_MAX for large inputs. +# +# Example: +# data modify storage macroengine:input a set value 12 +# data modify storage macroengine:input b set value 8 +# function macroengine:systems/math/lcm with storage macroengine:input {} +# # macroengine:output result = 24 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $lcm_a macroengine.tmp $(a) +$scoreboard players set $lcm_b macroengine.tmp $(b) + +# Zero check +execute if score $lcm_a macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $lcm_a macroengine.tmp matches 0 run return 0 +execute if score $lcm_b macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $lcm_b macroengine.tmp matches 0 run return 0 + +# Absolute value +scoreboard players set $lcm_neg macroengine.tmp -1 +execute if score $lcm_a macroengine.tmp matches ..-1 run scoreboard players operation $lcm_a macroengine.tmp *= $lcm_neg macroengine.tmp +execute if score $lcm_b macroengine.tmp matches ..-1 run scoreboard players operation $lcm_b macroengine.tmp *= $lcm_neg macroengine.tmp + +# Compute GCD (lcm_a, lcm_b share gcd_a, gcd_b variables) +scoreboard players operation $gcd_a macroengine.tmp = $lcm_a macroengine.tmp +scoreboard players operation $gcd_b macroengine.tmp = $lcm_b macroengine.tmp +function macroengine:core/internal/systems/math/gcd_loop + +# lcm = (a / gcd) * b (divide first to prevent overflow) +scoreboard players operation $lcm_a macroengine.tmp /= $gcd_a macroengine.tmp +scoreboard players operation $lcm_a macroengine.tmp *= $lcm_b macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lcm_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/lcm ","color":"aqua"},{"text":"($(a),$(b)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp.mcfunction new file mode 100644 index 00000000..7dd6f687 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp.mcfunction @@ -0,0 +1,13 @@ +$scoreboard players set $lerp_a macroengine.tmp $(a) +$scoreboard players set $lerp_b macroengine.tmp $(b) +$scoreboard players set $lerp_t macroengine.tmp $(t) + +scoreboard players operation $lerp_r macroengine.tmp = $lerp_b macroengine.tmp +scoreboard players operation $lerp_r macroengine.tmp -= $lerp_a macroengine.tmp + +scoreboard players operation $lerp_r macroengine.tmp *= $lerp_t macroengine.tmp +scoreboard players set $lerp_100 macroengine.tmp 100 +scoreboard players operation $lerp_r macroengine.tmp /= $lerp_100 macroengine.tmp +scoreboard players operation $lerp_r macroengine.tmp += $lerp_a macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lerp_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp_clamped.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp_clamped.mcfunction new file mode 100644 index 00000000..e5fdf390 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/lerp_clamped.mcfunction @@ -0,0 +1,17 @@ +$scoreboard players set $lc_a macroengine.tmp $(a) +$scoreboard players set $lc_b macroengine.tmp $(b) +$scoreboard players set $lc_t macroengine.tmp $(t) + +execute if score $lc_t macroengine.tmp matches ..-1 run scoreboard players set $lc_t macroengine.tmp 0 +scoreboard players set $lc_100 macroengine.tmp 100 +execute if score $lc_t macroengine.tmp > $lc_100 macroengine.tmp run scoreboard players operation $lc_t macroengine.tmp = $lc_100 macroengine.tmp + +scoreboard players operation $lc_r macroengine.tmp = $lc_b macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp -= $lc_a macroengine.tmp + +scoreboard players operation $lc_r macroengine.tmp *= $lc_t macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp /= $lc_100 macroengine.tmp +scoreboard players operation $lc_r macroengine.tmp += $lc_a macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $lc_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/lerp_clamped ","color":"aqua"},{"text":"a=","color":"#555555"},{"text":"$(a)","color":"white"},{"text":" b=","color":"#555555"},{"text":"$(b)","color":"white"},{"text":" t=","color":"#555555"},{"text":"$(t)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/log2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/log2.mcfunction new file mode 100644 index 00000000..246e91ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/log2.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $lg2_v macroengine.tmp $(value) + +execute if score $lg2_v macroengine.tmp matches ..0 run data modify storage macroengine:output result set value -1 +execute if score $lg2_v macroengine.tmp matches ..0 run return 0 + +scoreboard players set $lg2_r macroengine.tmp 0 +scoreboard players set $lg2_2 macroengine.tmp 2 + +function macroengine:core/internal/systems/math/log2_loop + +execute store result storage macroengine:output result int 1 run scoreboard players get $lg2_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/map.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/map.mcfunction new file mode 100644 index 00000000..09f4ee1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/map.mcfunction @@ -0,0 +1,23 @@ +$scoreboard players set $map_v macroengine.tmp $(value) +$scoreboard players set $map_imin macroengine.tmp $(in_min) +$scoreboard players set $map_imax macroengine.tmp $(in_max) +$scoreboard players set $map_omin macroengine.tmp $(out_min) +$scoreboard players set $map_omax macroengine.tmp $(out_max) + +scoreboard players operation $map_ir macroengine.tmp = $map_imax macroengine.tmp +scoreboard players operation $map_ir macroengine.tmp -= $map_imin macroengine.tmp + +execute if score $map_ir macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $map_omin macroengine.tmp +execute if score $map_ir macroengine.tmp matches 0 run return 0 + +scoreboard players operation $map_or macroengine.tmp = $map_omax macroengine.tmp +scoreboard players operation $map_or macroengine.tmp -= $map_omin macroengine.tmp + +scoreboard players operation $map_off macroengine.tmp = $map_v macroengine.tmp +scoreboard players operation $map_off macroengine.tmp -= $map_imin macroengine.tmp + +scoreboard players operation $map_off macroengine.tmp *= $map_or macroengine.tmp +scoreboard players operation $map_off macroengine.tmp /= $map_ir macroengine.tmp +scoreboard players operation $map_off macroengine.tmp += $map_omin macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $map_off macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/max.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/max.mcfunction new file mode 100644 index 00000000..1c1bdae7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/max.mcfunction @@ -0,0 +1,6 @@ +$scoreboard players set $max_a macroengine.tmp $(a) +$scoreboard players set $max_b macroengine.tmp $(b) + +execute store result storage macroengine:output result int 1 run scoreboard players get $max_a macroengine.tmp + +execute if score $max_b macroengine.tmp > $max_a macroengine.tmp run execute store result storage macroengine:output result int 1 run scoreboard players get $max_b macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/min.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/min.mcfunction new file mode 100644 index 00000000..e16a9c49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/min.mcfunction @@ -0,0 +1,6 @@ +$scoreboard players set $min_a macroengine.tmp $(a) +$scoreboard players set $min_b macroengine.tmp $(b) + +execute store result storage macroengine:output result int 1 run scoreboard players get $min_a macroengine.tmp + +execute if score $min_b macroengine.tmp < $min_a macroengine.tmp run execute store result storage macroengine:output result int 1 run scoreboard players get $min_b macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/minmax.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/minmax.mcfunction new file mode 100644 index 00000000..4f670e3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/minmax.mcfunction @@ -0,0 +1,13 @@ +$scoreboard players set $mmx_a macroengine.tmp $(a) +$scoreboard players set $mmx_b macroengine.tmp $(b) + +scoreboard players operation $mmx_lo macroengine.tmp = $mmx_a macroengine.tmp +execute if score $mmx_b macroengine.tmp < $mmx_a macroengine.tmp run scoreboard players operation $mmx_lo macroengine.tmp = $mmx_b macroengine.tmp + +scoreboard players operation $mmx_hi macroengine.tmp = $mmx_a macroengine.tmp +execute if score $mmx_b macroengine.tmp > $mmx_a macroengine.tmp run scoreboard players operation $mmx_hi macroengine.tmp = $mmx_b macroengine.tmp + +execute store result storage macroengine:output min int 1 run scoreboard players get $mmx_lo macroengine.tmp +execute store result storage macroengine:output max int 1 run scoreboard players get $mmx_hi macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/minmax ","color":"aqua"},{"text":"($(a),$(b))","color":"gray"},{"text":" → ","color":"#555555"},{"text":"min=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"min","color":"green"},{"text":" max=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"max","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mod.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mod.mcfunction new file mode 100644 index 00000000..19b3a2ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mod.mcfunction @@ -0,0 +1,11 @@ +$scoreboard players set $mod_v macroengine.tmp $(value) +$scoreboard players set $mod_d macroengine.tmp $(divisor) + +execute if score $mod_d macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $mod_d macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $mod_v macroengine.tmp %= $mod_d macroengine.tmp + +execute if score $mod_v macroengine.tmp matches ..-1 run scoreboard players operation $mod_v macroengine.tmp += $mod_d macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $mod_v macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mul_div.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mul_div.mcfunction new file mode 100644 index 00000000..45039655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/mul_div.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/mul_div +# Computes floor(a * b / c) without 32-bit integer overflow. +# Uses the identity: floor(a*b/c) = (a/c)*b + (a%c)*b/c +# This avoids overflow when a*b would exceed ±2147483647. +# Input : $(a), $(b), $(c) → integers; c must not be 0 +# Output: macroengine:output result → floor(a * b / c) +# +# Note: if (a % c) * b still overflows (e.g. huge b with c=1), +# the result is clamped by Java's 32-bit signed wrapping. +# For those cases, reduce inputs before calling. +# +# Example: +# data modify storage macroengine:input a set value 1000000 +# data modify storage macroengine:input b set value 1000000 +# data modify storage macroengine:input c set value 500000 +# function macroengine:systems/math/mul_div with storage macroengine:input {} +# # macroengine:output result = 2000000 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $md_a macroengine.tmp $(a) +$scoreboard players set $md_b macroengine.tmp $(b) +$scoreboard players set $md_c macroengine.tmp $(c) + +# Guard: c = 0 → undefined, return 0 +execute if score $md_c macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $md_c macroengine.tmp matches 0 run return 0 + +# q = a / c (integer quotient) +scoreboard players operation $md_q macroengine.tmp = $md_a macroengine.tmp +scoreboard players operation $md_q macroengine.tmp /= $md_c macroengine.tmp + +# r = a % c (remainder, Java truncated — may be negative) +scoreboard players operation $md_r macroengine.tmp = $md_a macroengine.tmp +scoreboard players operation $md_r macroengine.tmp %= $md_c macroengine.tmp + +# result = q * b + r * b / c +scoreboard players operation $md_q macroengine.tmp *= $md_b macroengine.tmp +scoreboard players operation $md_r macroengine.tmp *= $md_b macroengine.tmp +scoreboard players operation $md_r macroengine.tmp /= $md_c macroengine.tmp +scoreboard players operation $md_q macroengine.tmp += $md_r macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $md_q macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/mul_div ","color":"aqua"},{"text":"($(a)*$(b)/$(c)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/pow.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/pow.mcfunction new file mode 100644 index 00000000..952580dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/pow.mcfunction @@ -0,0 +1,9 @@ +$scoreboard players set $pow_a macroengine.tmp $(a) +$scoreboard players set $pow_n macroengine.tmp $(n) +scoreboard players set $pow_r macroengine.tmp 1 + +execute if score $pow_n macroengine.tmp matches 0 run execute store result storage macroengine:output result int 1 run scoreboard players get $pow_r macroengine.tmp +execute if score $pow_n macroengine.tmp matches 0 run return 0 + +function macroengine:core/internal/systems/math/pow_loop +execute store result storage macroengine:output result int 1 run scoreboard players get $pow_r macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/random.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/random.mcfunction new file mode 100644 index 00000000..f3b18700 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/random.mcfunction @@ -0,0 +1,30 @@ +$scoreboard players set $rnd_min macroengine.tmp $(min) +$scoreboard players set $rnd_max macroengine.tmp $(max) + +scoreboard players operation $rnd_max macroengine.tmp -= $rnd_min macroengine.tmp +scoreboard players add $rnd_max macroengine.tmp 1 + +execute if data storage macroengine:engine _rng_state run execute store result score $rnd macroengine.tmp run data get storage macroengine:engine _rng_state +execute unless data storage macroengine:engine _rng_state run execute store result score $rnd macroengine.tmp run scoreboard players get $epoch macroengine.time +execute unless data storage macroengine:engine _rng_state run scoreboard players add $rnd macroengine.tmp 57005 + +scoreboard players set $rnd_tick macroengine.tmp 31 +execute store result score $rnd_t macroengine.tmp run scoreboard players get $tick macroengine.tmp +scoreboard players operation $rnd_t macroengine.tmp *= $rnd_tick macroengine.tmp +scoreboard players operation $rnd macroengine.tmp += $rnd_t macroengine.tmp + +scoreboard players set $rnd_a macroengine.tmp 1664525 +scoreboard players operation $rnd macroengine.tmp *= $rnd_a macroengine.tmp +scoreboard players add $rnd macroengine.tmp 1013904223 + +execute store result storage macroengine:engine _rng_state int 1 run scoreboard players get $rnd macroengine.tmp + +execute if score $rnd macroengine.tmp matches -2147483648 run scoreboard players set $rnd macroengine.tmp 2147483647 +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players set $rnd_neg macroengine.tmp -1 +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players operation $rnd macroengine.tmp *= $rnd_neg macroengine.tmp + +scoreboard players operation $rnd macroengine.tmp %= $rnd_max macroengine.tmp +execute if score $rnd macroengine.tmp matches ..-1 run scoreboard players operation $rnd macroengine.tmp += $rnd_max macroengine.tmp +scoreboard players operation $rnd macroengine.tmp += $rnd_min macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $rnd macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/round.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/round.mcfunction new file mode 100644 index 00000000..1c45211b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/round.mcfunction @@ -0,0 +1,35 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/round +# Rounds a value to the nearest multiple of a given step. +# Integer division truncates toward zero; adding half the step before +# dividing gives standard rounding (0.5 rounds away from zero). +# +# INPUT : $(value) → integer to round +# $(step) → rounding step (must be > 0) +# OUTPUT: macroengine:output result → rounded value +# +# EXAMPLE: +# function macroengine:systems/math/round {value:37, step:10} +# → macroengine:output result = 40 +# function macroengine:systems/math/round {value:34, step:10} +# → macroengine:output result = 30 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #rnd_v macroengine.tmp $(value) +$scoreboard players set #rnd_s macroengine.tmp $(step) + +execute if score #rnd_s macroengine.tmp matches ..0 run return fail + +# add half step for rounding (integer division: step=10 → half=5) +scoreboard players operation #rnd_half macroengine.tmp = #rnd_s macroengine.tmp +scoreboard players set #rnd_2 macroengine.tmp 2 +scoreboard players operation #rnd_half macroengine.tmp /= #rnd_2 macroengine.tmp + +execute if score #rnd_v macroengine.tmp matches 0.. run scoreboard players operation #rnd_v macroengine.tmp += #rnd_half macroengine.tmp +execute if score #rnd_v macroengine.tmp matches ..-1 run scoreboard players operation #rnd_v macroengine.tmp -= #rnd_half macroengine.tmp + +scoreboard players operation #rnd_v macroengine.tmp /= #rnd_s macroengine.tmp +scoreboard players operation #rnd_v macroengine.tmp *= #rnd_s macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get #rnd_v macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/round ","color":"aqua"},{"text":"$(value) step=$(step) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign.mcfunction new file mode 100644 index 00000000..88c282f4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign.mcfunction @@ -0,0 +1,4 @@ +$scoreboard players set $sign_v macroengine.tmp $(value) +execute if score $sign_v macroengine.tmp matches 1.. run data modify storage macroengine:output result set value 1 +execute if score $sign_v macroengine.tmp matches 0 run data modify storage macroengine:output result set value 0 +execute if score $sign_v macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value -1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign_nonzero.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign_nonzero.mcfunction new file mode 100644 index 00000000..c61d7599 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sign_nonzero.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/sign_nonzero +# Returns -1 for negative, +1 for zero-or-positive. +# Useful when you need a non-zero multiplier (e.g. direction vectors). +# +# INPUT : $(value) → integer +# OUTPUT: macroengine:output result → 1 or -1 +# +# EXAMPLE: +# function macroengine:systems/math/sign_nonzero {value:-5} +# → macroengine:output result = -1 +# function macroengine:systems/math/sign_nonzero {value:0} +# → macroengine:output result = 1 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #snz_v macroengine.tmp $(value) +data modify storage macroengine:output result set value 1 +execute if score #snz_v macroengine.tmp matches ..-1 run data modify storage macroengine:output result set value -1 +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sign_nonzero ","color":"aqua"},{"text":"$(value) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sin.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sin.mcfunction new file mode 100644 index 00000000..f8a82306 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sin.mcfunction @@ -0,0 +1,115 @@ +$scoreboard players set $sin_d macroengine.tmp $(deg) + +# Wrap to range 0-359 +scoreboard players set $sin_360 macroengine.tmp 360 +scoreboard players operation $sin_d macroengine.tmp %= $sin_360 macroengine.tmp +execute if score $sin_d macroengine.tmp matches ..-1 run scoreboard players operation $sin_d macroengine.tmp += $sin_360 macroengine.tmp + +# Sign: 180-359 → negative +scoreboard players set $sin_nf macroengine.tmp 1 +execute if score $sin_d macroengine.tmp matches 180..359 run scoreboard players set $sin_nf macroengine.tmp -1 +# 180-359 → map down to 0-179 +execute if score $sin_d macroengine.tmp matches 180..359 run scoreboard players remove $sin_d macroengine.tmp 180 + +# 91-179 → symmetry: sin(deg) = sin(180-deg) +# tmp2 = 180 - sin_d (only for range 91-179) +scoreboard players set $sin_180 macroengine.tmp 180 +execute if score $sin_d macroengine.tmp matches 91..179 run scoreboard players operation $sin_180 macroengine.tmp -= $sin_d macroengine.tmp +execute if score $sin_d macroengine.tmp matches 91..179 run scoreboard players operation $sin_d macroengine.tmp = $sin_180 macroengine.tmp + +# Lookup table 0-90 → sin × 1000 +execute if score $sin_d macroengine.tmp matches 0 run scoreboard players set $sin_r macroengine.tmp 0 +execute if score $sin_d macroengine.tmp matches 1 run scoreboard players set $sin_r macroengine.tmp 17 +execute if score $sin_d macroengine.tmp matches 2 run scoreboard players set $sin_r macroengine.tmp 35 +execute if score $sin_d macroengine.tmp matches 3 run scoreboard players set $sin_r macroengine.tmp 52 +execute if score $sin_d macroengine.tmp matches 4 run scoreboard players set $sin_r macroengine.tmp 70 +execute if score $sin_d macroengine.tmp matches 5 run scoreboard players set $sin_r macroengine.tmp 87 +execute if score $sin_d macroengine.tmp matches 6 run scoreboard players set $sin_r macroengine.tmp 105 +execute if score $sin_d macroengine.tmp matches 7 run scoreboard players set $sin_r macroengine.tmp 122 +execute if score $sin_d macroengine.tmp matches 8 run scoreboard players set $sin_r macroengine.tmp 139 +execute if score $sin_d macroengine.tmp matches 9 run scoreboard players set $sin_r macroengine.tmp 156 +execute if score $sin_d macroengine.tmp matches 10 run scoreboard players set $sin_r macroengine.tmp 174 +execute if score $sin_d macroengine.tmp matches 11 run scoreboard players set $sin_r macroengine.tmp 191 +execute if score $sin_d macroengine.tmp matches 12 run scoreboard players set $sin_r macroengine.tmp 208 +execute if score $sin_d macroengine.tmp matches 13 run scoreboard players set $sin_r macroengine.tmp 225 +execute if score $sin_d macroengine.tmp matches 14 run scoreboard players set $sin_r macroengine.tmp 242 +execute if score $sin_d macroengine.tmp matches 15 run scoreboard players set $sin_r macroengine.tmp 259 +execute if score $sin_d macroengine.tmp matches 16 run scoreboard players set $sin_r macroengine.tmp 276 +execute if score $sin_d macroengine.tmp matches 17 run scoreboard players set $sin_r macroengine.tmp 292 +execute if score $sin_d macroengine.tmp matches 18 run scoreboard players set $sin_r macroengine.tmp 309 +execute if score $sin_d macroengine.tmp matches 19 run scoreboard players set $sin_r macroengine.tmp 326 +execute if score $sin_d macroengine.tmp matches 20 run scoreboard players set $sin_r macroengine.tmp 342 +execute if score $sin_d macroengine.tmp matches 21 run scoreboard players set $sin_r macroengine.tmp 358 +execute if score $sin_d macroengine.tmp matches 22 run scoreboard players set $sin_r macroengine.tmp 375 +execute if score $sin_d macroengine.tmp matches 23 run scoreboard players set $sin_r macroengine.tmp 391 +execute if score $sin_d macroengine.tmp matches 24 run scoreboard players set $sin_r macroengine.tmp 407 +execute if score $sin_d macroengine.tmp matches 25 run scoreboard players set $sin_r macroengine.tmp 423 +execute if score $sin_d macroengine.tmp matches 26 run scoreboard players set $sin_r macroengine.tmp 438 +execute if score $sin_d macroengine.tmp matches 27 run scoreboard players set $sin_r macroengine.tmp 454 +execute if score $sin_d macroengine.tmp matches 28 run scoreboard players set $sin_r macroengine.tmp 469 +execute if score $sin_d macroengine.tmp matches 29 run scoreboard players set $sin_r macroengine.tmp 485 +execute if score $sin_d macroengine.tmp matches 30 run scoreboard players set $sin_r macroengine.tmp 500 +execute if score $sin_d macroengine.tmp matches 31 run scoreboard players set $sin_r macroengine.tmp 515 +execute if score $sin_d macroengine.tmp matches 32 run scoreboard players set $sin_r macroengine.tmp 530 +execute if score $sin_d macroengine.tmp matches 33 run scoreboard players set $sin_r macroengine.tmp 545 +execute if score $sin_d macroengine.tmp matches 34 run scoreboard players set $sin_r macroengine.tmp 559 +execute if score $sin_d macroengine.tmp matches 35 run scoreboard players set $sin_r macroengine.tmp 574 +execute if score $sin_d macroengine.tmp matches 36 run scoreboard players set $sin_r macroengine.tmp 588 +execute if score $sin_d macroengine.tmp matches 37 run scoreboard players set $sin_r macroengine.tmp 602 +execute if score $sin_d macroengine.tmp matches 38 run scoreboard players set $sin_r macroengine.tmp 616 +execute if score $sin_d macroengine.tmp matches 39 run scoreboard players set $sin_r macroengine.tmp 629 +execute if score $sin_d macroengine.tmp matches 40 run scoreboard players set $sin_r macroengine.tmp 643 +execute if score $sin_d macroengine.tmp matches 41 run scoreboard players set $sin_r macroengine.tmp 656 +execute if score $sin_d macroengine.tmp matches 42 run scoreboard players set $sin_r macroengine.tmp 669 +execute if score $sin_d macroengine.tmp matches 43 run scoreboard players set $sin_r macroengine.tmp 682 +execute if score $sin_d macroengine.tmp matches 44 run scoreboard players set $sin_r macroengine.tmp 695 +execute if score $sin_d macroengine.tmp matches 45 run scoreboard players set $sin_r macroengine.tmp 707 +execute if score $sin_d macroengine.tmp matches 46 run scoreboard players set $sin_r macroengine.tmp 719 +execute if score $sin_d macroengine.tmp matches 47 run scoreboard players set $sin_r macroengine.tmp 731 +execute if score $sin_d macroengine.tmp matches 48 run scoreboard players set $sin_r macroengine.tmp 743 +execute if score $sin_d macroengine.tmp matches 49 run scoreboard players set $sin_r macroengine.tmp 755 +execute if score $sin_d macroengine.tmp matches 50 run scoreboard players set $sin_r macroengine.tmp 766 +execute if score $sin_d macroengine.tmp matches 51 run scoreboard players set $sin_r macroengine.tmp 777 +execute if score $sin_d macroengine.tmp matches 52 run scoreboard players set $sin_r macroengine.tmp 788 +execute if score $sin_d macroengine.tmp matches 53 run scoreboard players set $sin_r macroengine.tmp 799 +execute if score $sin_d macroengine.tmp matches 54 run scoreboard players set $sin_r macroengine.tmp 809 +execute if score $sin_d macroengine.tmp matches 55 run scoreboard players set $sin_r macroengine.tmp 819 +execute if score $sin_d macroengine.tmp matches 56 run scoreboard players set $sin_r macroengine.tmp 829 +execute if score $sin_d macroengine.tmp matches 57 run scoreboard players set $sin_r macroengine.tmp 839 +execute if score $sin_d macroengine.tmp matches 58 run scoreboard players set $sin_r macroengine.tmp 848 +execute if score $sin_d macroengine.tmp matches 59 run scoreboard players set $sin_r macroengine.tmp 857 +execute if score $sin_d macroengine.tmp matches 60 run scoreboard players set $sin_r macroengine.tmp 866 +execute if score $sin_d macroengine.tmp matches 61 run scoreboard players set $sin_r macroengine.tmp 875 +execute if score $sin_d macroengine.tmp matches 62 run scoreboard players set $sin_r macroengine.tmp 883 +execute if score $sin_d macroengine.tmp matches 63 run scoreboard players set $sin_r macroengine.tmp 891 +execute if score $sin_d macroengine.tmp matches 64 run scoreboard players set $sin_r macroengine.tmp 899 +execute if score $sin_d macroengine.tmp matches 65 run scoreboard players set $sin_r macroengine.tmp 906 +execute if score $sin_d macroengine.tmp matches 66 run scoreboard players set $sin_r macroengine.tmp 914 +execute if score $sin_d macroengine.tmp matches 67 run scoreboard players set $sin_r macroengine.tmp 921 +execute if score $sin_d macroengine.tmp matches 68 run scoreboard players set $sin_r macroengine.tmp 927 +execute if score $sin_d macroengine.tmp matches 69 run scoreboard players set $sin_r macroengine.tmp 934 +execute if score $sin_d macroengine.tmp matches 70 run scoreboard players set $sin_r macroengine.tmp 940 +execute if score $sin_d macroengine.tmp matches 71 run scoreboard players set $sin_r macroengine.tmp 946 +execute if score $sin_d macroengine.tmp matches 72 run scoreboard players set $sin_r macroengine.tmp 951 +execute if score $sin_d macroengine.tmp matches 73 run scoreboard players set $sin_r macroengine.tmp 956 +execute if score $sin_d macroengine.tmp matches 74 run scoreboard players set $sin_r macroengine.tmp 961 +execute if score $sin_d macroengine.tmp matches 75 run scoreboard players set $sin_r macroengine.tmp 966 +execute if score $sin_d macroengine.tmp matches 76 run scoreboard players set $sin_r macroengine.tmp 970 +execute if score $sin_d macroengine.tmp matches 77 run scoreboard players set $sin_r macroengine.tmp 974 +execute if score $sin_d macroengine.tmp matches 78 run scoreboard players set $sin_r macroengine.tmp 978 +execute if score $sin_d macroengine.tmp matches 79 run scoreboard players set $sin_r macroengine.tmp 982 +execute if score $sin_d macroengine.tmp matches 80 run scoreboard players set $sin_r macroengine.tmp 985 +execute if score $sin_d macroengine.tmp matches 81 run scoreboard players set $sin_r macroengine.tmp 988 +execute if score $sin_d macroengine.tmp matches 82 run scoreboard players set $sin_r macroengine.tmp 990 +execute if score $sin_d macroengine.tmp matches 83 run scoreboard players set $sin_r macroengine.tmp 993 +execute if score $sin_d macroengine.tmp matches 84 run scoreboard players set $sin_r macroengine.tmp 995 +execute if score $sin_d macroengine.tmp matches 85 run scoreboard players set $sin_r macroengine.tmp 996 +execute if score $sin_d macroengine.tmp matches 86 run scoreboard players set $sin_r macroengine.tmp 998 +execute if score $sin_d macroengine.tmp matches 87 run scoreboard players set $sin_r macroengine.tmp 999 +execute if score $sin_d macroengine.tmp matches 88 run scoreboard players set $sin_r macroengine.tmp 999 +execute if score $sin_d macroengine.tmp matches 89 run scoreboard players set $sin_r macroengine.tmp 1000 +execute if score $sin_d macroengine.tmp matches 90 run scoreboard players set $sin_r macroengine.tmp 1000 + +scoreboard players operation $sin_r macroengine.tmp *= $sin_nf macroengine.tmp +execute store result storage macroengine:output result int 1 run scoreboard players get $sin_r macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sin ","color":"aqua"},{"text":"deg=$(deg) ","color":"gray"},{"text":"→ ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"/1000","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sqrt.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sqrt.mcfunction new file mode 100644 index 00000000..9ca35c19 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sqrt.mcfunction @@ -0,0 +1,16 @@ +$scoreboard players set $sqrt_n macroengine.tmp $(value) + +execute if score $sqrt_n macroengine.tmp matches ..0 run data modify storage macroengine:output result set value 0 +execute if score $sqrt_n macroengine.tmp matches ..0 run return 0 + +execute if score $sqrt_n macroengine.tmp matches 1 run data modify storage macroengine:output result set value 1 +execute if score $sqrt_n macroengine.tmp matches 1 run return 0 + +scoreboard players set $sqrt_lo macroengine.tmp 0 +scoreboard players operation $sqrt_hi macroengine.tmp = $sqrt_n macroengine.tmp +execute if score $sqrt_hi macroengine.tmp matches 46342.. run scoreboard players set $sqrt_hi macroengine.tmp 46341 + +scoreboard players set $sqrt_itr macroengine.tmp 16 +function macroengine:core/internal/systems/math/sqrt_step + +execute store result storage macroengine:output result int 1 run scoreboard players get $sqrt_lo macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sum3.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sum3.mcfunction new file mode 100644 index 00000000..df9f0e9e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/sum3.mcfunction @@ -0,0 +1,28 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/sum3 +# Adds three integers with INT_MAX overflow guard. +# Input : $(a), $(b), $(c) +# Output: macroengine:output result → a + b + c (clamped to 2147483647) +# +# Example: +# data modify storage macroengine:input a set value 100 +# data modify storage macroengine:input b set value 200 +# data modify storage macroengine:input c set value 300 +# function macroengine:systems/math/sum3 with storage macroengine:input {} +# # macroengine:output result = 600 +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $s3_a macroengine.tmp $(a) +$scoreboard players set $s3_b macroengine.tmp $(b) +$scoreboard players set $s3_c macroengine.tmp $(c) + +scoreboard players operation $s3_a macroengine.tmp += $s3_b macroengine.tmp +# Overflow clamp after first add +execute if score $s3_a macroengine.tmp matches 2147483647.. run scoreboard players set $s3_a macroengine.tmp 2147483647 + +scoreboard players operation $s3_a macroengine.tmp += $s3_c macroengine.tmp +# Overflow clamp after second add +execute if score $s3_a macroengine.tmp matches 2147483647.. run scoreboard players set $s3_a macroengine.tmp 2147483647 + +execute store result storage macroengine:output result int 1 run scoreboard players get $s3_a macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/sum3 ","color":"aqua"},{"text":"($(a)+$(b)+$(c)) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/add.mcfunction new file mode 100644 index 00000000..90a1b24d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/add.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/add +# Adds two 3D vectors. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/add_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/angle_between.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/angle_between.mcfunction new file mode 100644 index 00000000..079b2f1b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/angle_between.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/angle_between +# Returns the angle between two vectors in degrees. +# cos(θ) = dot(A,B) / (|A| × |B|) → θ = arccos(...) +# Uses ×1000 fixed-point cos table for arccos. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output result (0–180, integer degrees) +# result=0 for zero vectors. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/angle_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/cross.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/cross.mcfunction new file mode 100644 index 00000000..a6de37ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/cross.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/cross +# Computes the cross product of two vectors. +# cx = ay*bz - az*by +# cy = az*bx - ax*bz +# cz = ax*by - ay*bx +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/cross_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/dot.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/dot.mcfunction new file mode 100644 index 00000000..93160343 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/dot.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/dot +# Computes the dot product of two vectors. (ax*bx + ay*by + az*bz) +# Result is integer — no fractions. May overflow for large vectors. +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output result (int) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/dot_exec with storage macroengine:engine _vec_dot_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/normalize.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/normalize.mcfunction new file mode 100644 index 00000000..0309fded --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/normalize.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/normalize +# Scales vector to unit length (×1000 fixed-point). +# Length computed via math/distance3d (floor(√(x²+y²+z²))). +# Results are ×1000 — divide by 1000 before using as direction vector. +# +# INPUT: x, y, z +# OUTPUT: macroengine:output {x, y, z, length} +# If length=0, zero vector — returns x,y,z=0. +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/normalize_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/sub.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/sub.mcfunction new file mode 100644 index 00000000..468cd328 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/vec/sub.mcfunction @@ -0,0 +1,9 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/math/vec/sub +# Subtracts vector B from vector A. (A - B) +# +# INPUT: ax, ay, az, bx, by, bz +# OUTPUT: macroengine:output {x, y, z} +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/math/vec/sub_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/weighted_random.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/weighted_random.mcfunction new file mode 100644 index 00000000..8b23f0c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/weighted_random.mcfunction @@ -0,0 +1,59 @@ +$scoreboard players set $wr_total macroengine.tmp $(total) + +execute if score $wr_total macroengine.tmp matches ..0 run data modify storage macroengine:output result set value -1 +execute if score $wr_total macroengine.tmp matches ..0 run return 0 + +# Draw random in range 0..total-1 +data modify storage macroengine:engine _math_rnd_tmp.min set value 0 +scoreboard players remove $wr_total macroengine.tmp 1 +execute store result storage macroengine:engine _math_rnd_tmp.max int 1 run scoreboard players get $wr_total macroengine.tmp +function macroengine:systems/math/random with storage macroengine:engine _math_rnd_tmp + +execute store result score $wr_roll macroengine.tmp run data get storage macroengine:output result +execute store result storage macroengine:output roll int 1 run scoreboard players get $wr_roll macroengine.tmp + +data modify storage macroengine:output result set value -1 +scoreboard players set $wr_done macroengine.tmp 0 + +# Cumulative threshold check +$scoreboard players set $wr_acc macroengine.tmp $(w0) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 0 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w1) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 1 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w2) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 2 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w3) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 3 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w4) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 4 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w5) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 5 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w6) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 6 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w7) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 7 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w8) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 8 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$scoreboard players add $wr_acc macroengine.tmp $(w9) +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run data modify storage macroengine:output result set value 9 +execute if score $wr_done macroengine.tmp matches 0 run execute if score $wr_roll macroengine.tmp < $wr_acc macroengine.tmp run scoreboard players set $wr_done macroengine.tmp 1 + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"math/weighted_random ","color":"aqua"},{"text":"total=$(total) roll=","color":"gray"},{"score":{"name":"$wr_roll","objective":"macroengine.tmp"},"color":"yellow"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/wrap.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/wrap.mcfunction new file mode 100644 index 00000000..207f7829 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/math/wrap.mcfunction @@ -0,0 +1,19 @@ +$scoreboard players set $wrap_v macroengine.tmp $(value) +$scoreboard players set $wrap_min macroengine.tmp $(min) +$scoreboard players set $wrap_max macroengine.tmp $(max) + +scoreboard players operation $wrap_r macroengine.tmp = $wrap_max macroengine.tmp +scoreboard players operation $wrap_r macroengine.tmp -= $wrap_min macroengine.tmp + +execute if score $wrap_r macroengine.tmp matches ..0 run execute store result storage macroengine:output result int 1 run scoreboard players get $wrap_min macroengine.tmp +execute if score $wrap_r macroengine.tmp matches ..0 run return 0 + +scoreboard players operation $wrap_off macroengine.tmp = $wrap_v macroengine.tmp +scoreboard players operation $wrap_off macroengine.tmp -= $wrap_min macroengine.tmp + +scoreboard players operation $wrap_off macroengine.tmp %= $wrap_r macroengine.tmp +execute if score $wrap_off macroengine.tmp matches ..-1 run scoreboard players operation $wrap_off macroengine.tmp += $wrap_r macroengine.tmp + +scoreboard players operation $wrap_off macroengine.tmp += $wrap_min macroengine.tmp + +execute store result storage macroengine:output result int 1 run scoreboard players get $wrap_off macroengine.tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/append.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/append.mcfunction new file mode 100644 index 00000000..eb29d6e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/append.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/append +# Appends an element from another storage path to a list in storage. +# +# INPUT (storage macroengine:input): +# dst_storage → destination storage +# dst_path → destination list path +# src_storage → source storage +# src_path → path of the value to append +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/append_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/clear.mcfunction new file mode 100644 index 00000000..8db1f2a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/clear.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/clear +# Removes a specific path from storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → path to remove +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/clear_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/copy.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/copy.mcfunction new file mode 100644 index 00000000..2eb1ec63 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/copy.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/copy +# Copies a path between two storages or within the same storage. +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace (e.g. "macroengine:engine") +# src_path → source NBT path (e.g. "players.Steve") +# dst_storage → destination storage namespace +# dst_path → destination NBT path +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "players.Steve" +# data modify storage macroengine:input dst_storage set value "mypack:data" +# data modify storage macroengine:input dst_path set value "backup.Steve" +# function macroengine:systems/nbt/copy +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/copy_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/count.mcfunction new file mode 100644 index 00000000..2af68ba6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/count.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/count +# Returns the element count of a list in storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → list path +# +# OUTPUT: macroengine:output result (int) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/count_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/exists.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/exists.mcfunction new file mode 100644 index 00000000..a44a8298 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/exists.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/exists +# Checks whether a specific path exists in storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → path to check +# +# OUTPUT: macroengine:output result → 1b (exists) or 0b (not found) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/exists_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/first.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/first.mcfunction new file mode 100644 index 00000000..f8bc13f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/first.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/first +# Copies the first element [0] of a list at src_path into dst_path. +# If the list is empty or path does not exist, does nothing (silent fail). +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace +# src_path → list path (element [0] will be read) +# dst_storage → destination storage namespace +# dst_path → destination path to write into +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "event_queue" +# data modify storage macroengine:input dst_storage set value "macroengine:output" +# data modify storage macroengine:input dst_path set value "result" +# function macroengine:systems/nbt/first +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/first_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/merge.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/merge.mcfunction new file mode 100644 index 00000000..84f0cbb3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/merge.mcfunction @@ -0,0 +1,21 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/merge +# Merges a compound from src_storage:src_path into dst_storage:dst_path. +# Equivalent to: data modify merge from +# Existing keys in dst are overwritten by src values; missing keys added. +# +# INPUT (storage macroengine:input): +# src_storage → source storage namespace (e.g. "macroengine:engine") +# src_path → source compound path +# dst_storage → destination storage namespace +# dst_path → destination compound path +# +# EXAMPLE: +# data modify storage macroengine:input src_storage set value "macroengine:engine" +# data modify storage macroengine:input src_path set value "players.Steve" +# data modify storage macroengine:input dst_storage set value "mypack:data" +# data modify storage macroengine:input dst_path set value "backup.Steve" +# function macroengine:systems/nbt/merge +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/merge_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/move.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/move.mcfunction new file mode 100644 index 00000000..e1974987 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/move.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/move +# Moves a path within the same storage (copy + delete). +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# from_path → source path +# to_path → destination path +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/move_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/pop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/pop.mcfunction new file mode 100644 index 00000000..a9ed54c1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/pop.mcfunction @@ -0,0 +1,12 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/pop +# Copies the first element of a list to macroengine:output result and removes it. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path → list path +# +# OUTPUT: macroengine:output result (popped element) +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/pop_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/swap.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/swap.mcfunction new file mode 100644 index 00000000..36143a45 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/nbt/swap.mcfunction @@ -0,0 +1,11 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/nbt/swap +# Swaps the values of two paths within the same storage. +# +# INPUT (storage macroengine:input): +# storage → storage namespace +# path_a → birinci path +# path_b → ikinci path +# ───────────────────────────────────────────────────────────────── + +function macroengine:core/internal/systems/nbt/swap_exec with storage macroengine:input {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/channel/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/channel/check.mcfunction new file mode 100644 index 00000000..07cfd824 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/channel/check.mcfunction @@ -0,0 +1,16 @@ +# macroengine:systems/rate_limit/channel/check — Per-channel rate guard [MACRO] +# +# Prevents a tick channel's function from running too frequently even if +# the channel itself fires every tick. Place at the TOP of the channel function. +# +# Usage (inside your channel function): +# function macroengine:systems/rate_limit/channel/check {id:"my_channel"} +# execute if data storage macroengine:output {result:0b} run return 0 +# # ... rest of channel logic +# +# Rule must be registered via: +# function macroengine:systems/rate_limit/channel/config {id:"my_channel",limit:5,window:20} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +$function macroengine:systems/rate_limit/check {key:"channel:$(id)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/check.mcfunction new file mode 100644 index 00000000..2aef93f5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/check.mcfunction @@ -0,0 +1,36 @@ +# macroengine:systems/rate_limit/check — Sliding window check + consume [MACRO] +# +# The core API call. Checks whether the key is under its configured limit +# for the current sliding window, then records this hit. +# +# Output → macroengine:output result +# 1b = ALLOWED (hit was recorded, call may proceed) +# 0b = DENIED (limit reached, hit NOT recorded) +# +# Usage: +# function macroengine:systems/rate_limit/check {key:"global:my_event"} +# execute if data storage macroengine:output {result:1b} run function my_ns:do_thing +# +# For per-player (build key in caller): +# $function macroengine:systems/rate_limit/check {key:"player:shop:$(player)"} +# +# Rule must be pre-registered via macroengine:systems/rate_limit/config. +# If no rule exists for the key → ALLOWED (fail-open; log warning). + +data modify storage macroengine:output result set value 1b + +# Guard: rule must exist — try auto-create from player template first +# Key format "player::" → tpl is the second segment +# We attempt player_ensure unconditionally; it exits early if not a player key or no template +$data modify storage macroengine:rl_work ensure_key set value "$(key)" +function macroengine:core/internal/systems/rate_limit/player_check with storage macroengine:rl_work + +$execute unless data storage macroengine:engine rate_limit.rules.$(key) run function macroengine:core/internal/systems/rate_limit/no_rule +$execute unless data storage macroengine:engine rate_limit.rules.$(key) run return 0 + +# Copy rule into work storage with key context +$data modify storage macroengine:rl_work rule set from storage macroengine:engine rate_limit.rules.$(key) +$data modify storage macroengine:rl_work rule.key set value "$(key)" + +# Run the sliding window evaluation +function macroengine:core/internal/systems/rate_limit/evaluate with storage macroengine:rl_work rule diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/config.mcfunction new file mode 100644 index 00000000..c17e10ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/config.mcfunction @@ -0,0 +1,23 @@ +# macroengine:systems/rate_limit/config — Register or update a rate limit rule [MACRO] +# +# Creates or replaces a sliding window rule for any key. +# Rules survive reloads because they live in macroengine:engine storage. +# +# Usage: +# function macroengine:systems/rate_limit/config {key:"global:my_event",limit:5,window:100} +# function macroengine:systems/rate_limit/config {key:"player:Steve:shop",limit:3,window:600} +# function macroengine:systems/rate_limit/config {key:"channel:admin_systems",limit:10,window:20} +# +# Fields: +# key (string) — unique rule identifier; convention: +# "global:" → server-wide shared bucket +# "player::" → per-player bucket (use $(player)) +# "channel:" → tick-channel guard +# limit (int) — max number of hits allowed inside the window +# window (int) — sliding window width in ticks (20 = 1 second) +# +# Removing a rule: function macroengine:systems/rate_limit/delete {key:"..."} +# Listing rules: function macroengine:systems/rate_limit/list + +$data modify storage macroengine:engine rate_limit.rules.$(key) set value {limit:$(limit),window:$(window),hits:[]} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/config ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(key)","color":"white"},{"text":" limit=","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":" window=","color":"#555555"},{"text":"$(window)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/check.mcfunction new file mode 100644 index 00000000..b23ae868 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/check.mcfunction @@ -0,0 +1,14 @@ +# macroengine:systems/rate_limit/global/check — Global sliding window check [MACRO] +# +# Convenience wrapper for global (server-wide) rate limits. +# All players share the same bucket under this key. +# +# Usage: +# function macroengine:systems/rate_limit/global/check {key:"boss_spawn"} +# +# Rule must be registered via: +# function macroengine:systems/rate_limit/global/config {key:"boss_spawn",limit:1,window:24000} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +$function macroengine:systems/rate_limit/check {key:"global:$(key)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/config.mcfunction new file mode 100644 index 00000000..5597125b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/global/config.mcfunction @@ -0,0 +1,9 @@ +# macroengine:systems/rate_limit/global/config — Register a global (server-wide) rate limit [MACRO] +# +# Usage: +# function macroengine:systems/rate_limit/global/config {key:"boss_spawn",limit:1,window:24000} +# +# Equivalent to: +# function macroengine:systems/rate_limit/config {key:"global:boss_spawn",limit:1,window:24000} + +$function macroengine:systems/rate_limit/config {key:"global:$(key)",limit:$(limit),window:$(window)} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/check.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/check.mcfunction new file mode 100644 index 00000000..7c1d992d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/check.mcfunction @@ -0,0 +1,18 @@ +# macroengine:systems/rate_limit/player/check — Per-player sliding window check [MACRO] +# +# Builds the compound key "player::" and ensures the bucket exists. +# If no bucket exists yet for this player, auto-creates from the player_template. +# +# Usage: +# $function macroengine:systems/rate_limit/player/check {key:"shop",player:"$(player)"} +# +# Rule template must be registered via: +# function macroengine:systems/rate_limit/player/config {key:"shop",limit:3,window:600} +# +# Output → macroengine:output result 1b=ALLOWED 0b=DENIED + +# Auto-seed: if bucket for this player+key doesn't exist, create from template +$execute unless data storage macroengine:engine "rate_limit.rules.player:$(key):$(player)" run function macroengine:core/internal/systems/rate_limit/player/ensure {tpl:"$(key)",full:"player:$(key):$(player)"} + +# Delegate to generic check with full compound key +$function macroengine:systems/rate_limit/check {key:"player:$(key):$(player)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/config.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/config.mcfunction new file mode 100644 index 00000000..ea846fcf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/rate_limit/player/config.mcfunction @@ -0,0 +1,17 @@ +# macroengine:systems/rate_limit/player/config — Register per-player rate limit rule [MACRO] +# +# Creates one template rule. The player bucket key is "player::". +# This function registers the TEMPLATE rule used for ALL players under this key. +# Individual player buckets are auto-created on first check. +# +# Usage: +# function macroengine:systems/rate_limit/player/config {key:"shop",limit:3,window:600} +# +# This allows: $function macroengine:systems/rate_limit/player/check {key:"shop",player:"$(player)"} +# +# Note: each player gets their own independent sliding window bucket. +# To register a SHARED (global) rule use macroengine:systems/rate_limit/config directly. + +# Store template rule — concrete player buckets inherit limit+window on first hit +$data modify storage macroengine:engine rate_limit.player_templates.$(key) set value {limit:$(limit),window:$(window)} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"rate_limit/player/config ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"player:$(key):","color":"white"},{"text":" limit=","color":"#555555"},{"text":"$(limit)","color":"green"},{"text":" window=","color":"#555555"},{"text":"$(window)","color":"green"},{"text":"t","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play.mcfunction new file mode 100644 index 00000000..f7da98e7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play.mcfunction @@ -0,0 +1,21 @@ +# macroengine:systems/sound/play +# Entity-targeted playsound wrapper. +# Runs at the executor's position — call inside execute as at @s if +# positional accuracy matters (e.g. per-player distance checks). +# +# Input (macroengine:input sound): +# sound — sound event ID e.g. "minecraft:entity.player.levelup" +# category — source category master|music|record|weather|block| +# hostile|neutral|player|ambient|voice +# target — selector string e.g. "@a" "@s" "@p" +# volume — float ≥ 0 1.0 = full volume, >1 increases range +# pitch — float 0.0–2.0 1.0 = normal pitch +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {sound:"minecraft:entity.player.levelup",category:"player",\ +# target:"@a",volume:1.0f,pitch:1.0f} +# function macroengine:systems/sound/play with storage macroengine:input sound + +$playsound $(sound) $(category) $(target) ~ ~ ~ $(volume) $(pitch) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/play ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(sound)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(category)","color":"green"},{"text":"]","color":"#555555"},{"text":" vol:","color":"#555555"},{"text":"$(volume)","color":"yellow"},{"text":" pitch:","color":"#555555"},{"text":"$(pitch)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play_at.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play_at.mcfunction new file mode 100644 index 00000000..99e3c886 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/play_at.mcfunction @@ -0,0 +1,20 @@ +# macroengine:systems/sound/play_at +# Coordinate-targeted playsound. Anyone within range of (x,y,z) hears it. +# Use for world-position sounds (explosions, ambient effects, etc.). +# +# Input (macroengine:input sound): +# sound — sound event ID +# category — source category +# x, y, z — world coordinates (int or double) +# volume — float ≥ 0 (controls audible radius: radius = 16*volume blocks) +# pitch — float 0.0–2.0 +# min_volume — float 0.0–1.0 (audibility outside radius; 0.0 = silent outside) +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {sound:"minecraft:block.note_block.bell",category:"block",\ +# x:0,y:64,z:0,volume:1.0f,pitch:1.0f,min_volume:0.0f} +# function macroengine:systems/sound/play_at with storage macroengine:input sound + +$playsound $(sound) $(category) @a $(x) $(y) $(z) $(volume) $(pitch) $(min_volume) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/play_at ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(sound)","color":"white"},{"text":" @ ","color":"#555555"},{"text":"$(x) $(y) $(z)","color":"#AAAAAA"},{"text":" vol:","color":"#555555"},{"text":"$(volume)","color":"yellow"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/stop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/stop.mcfunction new file mode 100644 index 00000000..951542bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/sound/stop.mcfunction @@ -0,0 +1,15 @@ +# macroengine:systems/sound/stop +# Stops a specific sound (and category) on a target selector. +# +# Input (macroengine:input sound): +# target — selector string e.g. "@a" "@s" +# category — source category (use "*" to match all categories) +# sound — sound event ID (use "*" to stop all sounds in category) +# +# Usage: +# data modify storage macroengine:input sound set value \ +# {target:"@a",category:"*",sound:"*"} +# function macroengine:systems/sound/stop with storage macroengine:input sound + +$stopsound $(target) $(category) $(sound) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"sound/stop ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(target)","color":"white"},{"text":" [","color":"#555555"},{"text":"$(category)","color":"green"},{"text":"] ","color":"#555555"},{"text":"$(sound)","color":"#AAAAAA"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce.mcfunction new file mode 100644 index 00000000..86c054e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce.mcfunction @@ -0,0 +1 @@ +$tellraw @a {"text":"$(message)","color":"$(color)"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce_prefix.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce_prefix.mcfunction new file mode 100644 index 00000000..dabb7cb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/announce_prefix.mcfunction @@ -0,0 +1 @@ +$tellraw @a [{"text":"$(prefix) ","color":"$(prefix_color)","bold":true},{"text":"$(message)","color":"$(color)","bold":false}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_coords.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_coords.mcfunction new file mode 100644 index 00000000..cecfd8b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_coords.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/format_coords +# Stores three integer coordinates in macroengine:output and exposes +# them for use in tellraw components. +# +# Input : $(x) → X coordinate (integer) +# $(y) → Y coordinate (integer) +# $(z) → Z coordinate (integer) +# +# Output: macroengine:output x → X int +# macroengine:output y → Y int +# macroengine:output z → Z int +# +# USAGE — embed the stored values directly in a tellraw: +# function macroengine:systems/string/format_coords {x:100,y:64,z:-200} +# tellraw @a ["", +# {"text":"(","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"x","color":"green"}, +# {"text":", ","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"y","color":"green"}, +# {"text":", ","color":"gray"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"z","color":"green"}, +# {"text":")","color":"gray"} +# ] +# → (100, 64, -200) +# +# NOTE: macroengine:output is shared — copy x/y/z to your own storage +# before making other macroengine calls if you need them later. +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fc_x macroengine.tmp $(x) +$scoreboard players set $fc_y macroengine.tmp $(y) +$scoreboard players set $fc_z macroengine.tmp $(z) + +execute store result storage macroengine:output x int 1 run scoreboard players get $fc_x macroengine.tmp +execute store result storage macroengine:output y int 1 run scoreboard players get $fc_y macroengine.tmp +execute store result storage macroengine:output z int 1 run scoreboard players get $fc_z macroengine.tmp + +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_coords ","color":"aqua"},{"text":"(","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"x","color":"#aaffaa"},{"text":", ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"y","color":"#aaffaa"},{"text":", ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"z","color":"#aaffaa"},{"text":")","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_number.mcfunction new file mode 100644 index 00000000..f88c10cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_number.mcfunction @@ -0,0 +1,46 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/format_number +# Converts large numbers to readable abbreviations. +# Input : $(value) → integer +# Output: macroengine:output text → abbreviated text (storage string) +# macroengine:output value → original value +# macroengine:output suffix → k / M / B / "" suffix +# macroengine:output short → abbreviated integer part +# +# Examples: +# 500 → "500" +# 1500 → "1.5k" +# 1000000 → "1M" +# 2500000 → "2.5M" +# 1000000000 → "1B" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $fn_v macroengine.tmp $(value) +execute store result storage macroengine:output value int 1 run scoreboard players get $fn_v macroengine.tmp + +# < 1000 → plain number +execute if score $fn_v macroengine.tmp matches ..999 run data modify storage macroengine:output suffix set value "" +execute if score $fn_v macroengine.tmp matches ..999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches ..999 run return 0 + +# 1000 – 999999 → k +execute if score $fn_v macroengine.tmp matches 1000..999999 run data modify storage macroengine:output suffix set value "k" +execute if score $fn_v macroengine.tmp matches 1000..999999 run scoreboard players set $fn_div macroengine.tmp 100 +execute if score $fn_v macroengine.tmp matches 1000..999999 run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000..999999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000..999999 run return 0 + +# 1_000_000 – 999_999_999 → M +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run data modify storage macroengine:output suffix set value "M" +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run scoreboard players set $fn_div macroengine.tmp 100000 +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000..999999999 run return 0 + +# >= 1_000_000_000 → B +execute if score $fn_v macroengine.tmp matches 1000000000.. run data modify storage macroengine:output suffix set value "B" +execute if score $fn_v macroengine.tmp matches 1000000000.. run scoreboard players set $fn_div macroengine.tmp 100000000 +execute if score $fn_v macroengine.tmp matches 1000000000.. run scoreboard players operation $fn_v macroengine.tmp /= $fn_div macroengine.tmp +execute if score $fn_v macroengine.tmp matches 1000000000.. run execute store result storage macroengine:output short int 1 run scoreboard players get $fn_v macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_number ","color":"aqua"},{"text":"$(value) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"short","color":"green"},{"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_ticks.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_ticks.mcfunction new file mode 100644 index 00000000..a4f50a94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/format_ticks.mcfunction @@ -0,0 +1,18 @@ +$scoreboard players set $ft_t macroengine.tmp $(ticks) + +scoreboard players set $ft_20 macroengine.tmp 20 +scoreboard players operation $ft_s macroengine.tmp = $ft_t macroengine.tmp +scoreboard players operation $ft_s macroengine.tmp /= $ft_20 macroengine.tmp + +execute store result storage macroengine:output total_seconds int 1 run scoreboard players get $ft_s macroengine.tmp + +scoreboard players set $ft_60 macroengine.tmp 60 +scoreboard players operation $ft_m macroengine.tmp = $ft_s macroengine.tmp +scoreboard players operation $ft_m macroengine.tmp /= $ft_60 macroengine.tmp + +scoreboard players operation $ft_s macroengine.tmp %= $ft_60 macroengine.tmp + +execute store result storage macroengine:output minutes int 1 run scoreboard players get $ft_m macroengine.tmp +execute store result storage macroengine:output seconds int 1 run scoreboard players get $ft_s macroengine.tmp + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/format_ticks ","color":"aqua"},{"text":"$(ticks)t","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"minutes","color":"green"},{"text":"m ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"seconds","color":"green"},{"text":"s","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/header.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/header.mcfunction new file mode 100644 index 00000000..a0d5c055 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/header.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) [{"text":"◆── ","color":"$(color)"},{"text":"$(text)","color":"$(color)","bold":true},{"text":" ──◆","color":"$(color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/hover_text.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/hover_text.mcfunction new file mode 100644 index 00000000..48f301db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/hover_text.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) {"text":"$(text)","color":"$(color)","hover_event":{"action":"show_text","value":{"text":"$(hover)","color":"$(hover_color)"}}} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/ordinal.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/ordinal.mcfunction new file mode 100644 index 00000000..7c8fcd57 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/ordinal.mcfunction @@ -0,0 +1,49 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/ordinal +# Determines the English ordinal suffix for a positive integer. +# Handles the 11th/12th/13th exception correctly. +# +# Input : $(n) → positive integer (1-based) +# Output: macroengine:output n → original value (int) +# macroengine:output suffix → "st" / "nd" / "rd" / "th" +# +# To display "3rd place" in chat: +# function macroengine:systems/string/ordinal {n:3} +# tellraw @a ["", +# {"plain":true ,"storage":"macroengine:output","nbt":"n"}, +# {"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"gold"}, +# {"text":" place"}] +# +# Examples: +# {n:1} → suffix="st" {n:11} → suffix="th" +# {n:2} → suffix="nd" {n:12} → suffix="th" +# {n:3} → suffix="rd" {n:13} → suffix="th" +# {n:4} → suffix="th" {n:21} → suffix="st" +# {n:22} → suffix="nd" {n:103}→ suffix="rd" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set $ord_n macroengine.tmp $(n) +execute store result storage macroengine:output n int 1 run scoreboard players get $ord_n macroengine.tmp + +# last-two-digits mod 100 (teen detection) +scoreboard players operation $ord_h macroengine.tmp = $ord_n macroengine.tmp +scoreboard players set $ord_100 macroengine.tmp 100 +scoreboard players operation $ord_h macroengine.tmp %= $ord_100 macroengine.tmp + +# last digit mod 10 (suffix selection) +scoreboard players operation $ord_d macroengine.tmp = $ord_n macroengine.tmp +scoreboard players set $ord_10 macroengine.tmp 10 +scoreboard players operation $ord_d macroengine.tmp %= $ord_10 macroengine.tmp + +# Default: th +data modify storage macroengine:output suffix set value "th" + +# Apply last-digit rules +execute if score $ord_d macroengine.tmp matches 1 run data modify storage macroengine:output suffix set value "st" +execute if score $ord_d macroengine.tmp matches 2 run data modify storage macroengine:output suffix set value "nd" +execute if score $ord_d macroengine.tmp matches 3 run data modify storage macroengine:output suffix set value "rd" + +# Teen override — 11, 12, 13 must always be "th" +execute if score $ord_h macroengine.tmp matches 11..13 run data modify storage macroengine:output suffix set value "th" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/ordinal ","color":"aqua"},{"text":"$(n)","color":"white"},{"text":" → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"suffix","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pad_left.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pad_left.mcfunction new file mode 100644 index 00000000..23f0b078 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pad_left.mcfunction @@ -0,0 +1,29 @@ +$scoreboard players set $pl_v macroengine.tmp $(value) +$scoreboard players set $pl_w macroengine.tmp $(width) + +scoreboard players set $pl_neg macroengine.tmp -1 +execute if score $pl_v macroengine.tmp matches ..-1 run scoreboard players operation $pl_v macroengine.tmp *= $pl_neg macroengine.tmp + +scoreboard players set $pl_digits macroengine.tmp 1 +execute if score $pl_v macroengine.tmp matches 10.. run scoreboard players set $pl_digits macroengine.tmp 2 +execute if score $pl_v macroengine.tmp matches 100.. run scoreboard players set $pl_digits macroengine.tmp 3 +execute if score $pl_v macroengine.tmp matches 1000.. run scoreboard players set $pl_digits macroengine.tmp 4 +execute if score $pl_v macroengine.tmp matches 10000.. run scoreboard players set $pl_digits macroengine.tmp 5 +execute if score $pl_v macroengine.tmp matches 100000.. run scoreboard players set $pl_digits macroengine.tmp 6 +execute if score $pl_v macroengine.tmp matches 1000000.. run scoreboard players set $pl_digits macroengine.tmp 7 +execute if score $pl_v macroengine.tmp matches 10000000.. run scoreboard players set $pl_digits macroengine.tmp 8 + +scoreboard players operation $pl_pad macroengine.tmp = $pl_w macroengine.tmp +scoreboard players operation $pl_pad macroengine.tmp -= $pl_digits macroengine.tmp + +data modify storage macroengine:output result set value "" + +execute if score $pl_pad macroengine.tmp matches 1.. run data modify storage macroengine:output result set value "0" +execute if score $pl_pad macroengine.tmp matches 2.. run data modify storage macroengine:output result set value "00" +execute if score $pl_pad macroengine.tmp matches 3.. run data modify storage macroengine:output result set value "000" +execute if score $pl_pad macroengine.tmp matches 4.. run data modify storage macroengine:output result set value "0000" +execute if score $pl_pad macroengine.tmp matches 5.. run data modify storage macroengine:output result set value "00000" +execute if score $pl_pad macroengine.tmp matches 6.. run data modify storage macroengine:output result set value "000000" +execute if score $pl_pad macroengine.tmp matches 7.. run data modify storage macroengine:output result set value "0000000" + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/pad_left ","color":"aqua"},{"text":"$(value) w=$(width) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"},{"text":"[NUM]","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/player_raw.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/player_raw.mcfunction new file mode 100644 index 00000000..fefa830e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/player_raw.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) $(json) diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pluralize.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pluralize.mcfunction new file mode 100644 index 00000000..5882a006 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/pluralize.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/pluralize +# Stores the singular or plural form of a word based on count. +# Simple English rule: count == 1 → singular, else → plural. +# +# INPUT : $(count) → integer count +# $(singular) → singular form (e.g. "item") +# $(plural) → plural form (e.g. "items") +# OUTPUT: macroengine:output result → chosen string +# macroengine:output count → original count +# +# EXAMPLE: +# function macroengine:systems/string/pluralize {count:3,singular:"apple",plural:"apples"} +# → macroengine:output result = "apples" +# ───────────────────────────────────────────────────────────────── + +$scoreboard players set #plr_c macroengine.tmp $(count) +execute store result storage macroengine:output count int 1 run scoreboard players get #plr_c macroengine.tmp + +$data modify storage macroengine:engine _plr_singular set value $(singular) +$data modify storage macroengine:engine _plr_plural set value $(plural) + +data modify storage macroengine:output result set from storage macroengine:engine _plr_plural +execute if score #plr_c macroengine.tmp matches 1 run data modify storage macroengine:output result set from storage macroengine:engine _plr_singular + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/pluralize ","color":"aqua"},{"text":"count=$(count) → ","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar.mcfunction new file mode 100644 index 00000000..b2be6e2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar.mcfunction @@ -0,0 +1,24 @@ +$scoreboard players set $pb1_seg macroengine.tmp $(current) +$scoreboard players set $pb1_max macroengine.tmp $(max) + +execute if score $pb1_max macroengine.tmp matches ..0 run return fail + +scoreboard players set $pb1_ten macroengine.tmp 10 +scoreboard players operation $pb1_seg macroengine.tmp *= $pb1_ten macroengine.tmp +scoreboard players operation $pb1_seg macroengine.tmp /= $pb1_max macroengine.tmp + +execute if score $pb1_seg macroengine.tmp matches ..0 run scoreboard players set $pb1_seg macroengine.tmp 0 +execute if score $pb1_seg macroengine.tmp matches 10.. run scoreboard players set $pb1_seg macroengine.tmp 10 + +$execute if score $pb1_seg macroengine.tmp matches 0 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ░░░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 1 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █░░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 2 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██░░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 3 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ███░░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 4 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ████░░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 5 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █████░░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 6 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██████░░░░"} +$execute if score $pb1_seg macroengine.tmp matches 7 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ███████░░░"} +$execute if score $pb1_seg macroengine.tmp matches 8 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ████████░░"} +$execute if score $pb1_seg macroengine.tmp matches 9 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) █████████░"} +$execute if score $pb1_seg macroengine.tmp matches 10 run title @a[name=$(player),limit=1] actionbar {"text":"$(label) ██████████"} +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/progress_bar ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(label)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar_self.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar_self.mcfunction new file mode 100644 index 00000000..8f59d354 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/progress_bar_self.mcfunction @@ -0,0 +1,23 @@ +$scoreboard players set $pbs_max macroengine.tmp $(pb_max) +execute if score $pbs_max macroengine.tmp matches ..0 run return fail + +$execute store result score $pbs_seg macroengine.tmp run scoreboard players get @s $(pb_obj) + +scoreboard players set $pbs_ten macroengine.tmp 10 +scoreboard players operation $pbs_seg macroengine.tmp *= $pbs_ten macroengine.tmp +scoreboard players operation $pbs_seg macroengine.tmp /= $pbs_max macroengine.tmp + +execute if score $pbs_seg macroengine.tmp matches ..0 run scoreboard players set $pbs_seg macroengine.tmp 0 +execute if score $pbs_seg macroengine.tmp matches 10.. run scoreboard players set $pbs_seg macroengine.tmp 10 + +$execute if score $pbs_seg macroengine.tmp matches 0 run title @s actionbar {"text":"$(pb_label) ░░░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 1 run title @s actionbar {"text":"$(pb_label) █░░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 2 run title @s actionbar {"text":"$(pb_label) ██░░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 3 run title @s actionbar {"text":"$(pb_label) ███░░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 4 run title @s actionbar {"text":"$(pb_label) ████░░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 5 run title @s actionbar {"text":"$(pb_label) █████░░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 6 run title @s actionbar {"text":"$(pb_label) ██████░░░░"} +$execute if score $pbs_seg macroengine.tmp matches 7 run title @s actionbar {"text":"$(pb_label) ███████░░░"} +$execute if score $pbs_seg macroengine.tmp matches 8 run title @s actionbar {"text":"$(pb_label) ████████░░"} +$execute if score $pbs_seg macroengine.tmp matches 9 run title @s actionbar {"text":"$(pb_label) █████████░"} +$execute if score $pbs_seg macroengine.tmp matches 10 run title @s actionbar {"text":"$(pb_label) ██████████"} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/repeat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/repeat.mcfunction new file mode 100644 index 00000000..14da2863 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/repeat.mcfunction @@ -0,0 +1,33 @@ +# macroengine:systems/string/repeat +# Repeats a single character (char) exactly `count` times (1–16). +# Params: char (single character), count (integer 1–16) +# Output: macroengine:output result = repeated string +# Note: count is clamped to 1–16. Larger repeats should be assembled by the caller. +# +# Implementation: static dispatch to internal/repeat_N which sets the literal string. +# Each internal file uses a single $data modify line with N $(char) expansions. + +data modify storage macroengine:output result set value "" + +$scoreboard players set $sr_n macroengine.tmp $(count) +execute if score $sr_n macroengine.tmp matches ..0 run scoreboard players set $sr_n macroengine.tmp 1 +execute if score $sr_n macroengine.tmp matches 17.. run scoreboard players set $sr_n macroengine.tmp 16 + +execute if score $sr_n macroengine.tmp matches 1 run function macroengine:core/internal/systems/string/repeat_1 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 2 run function macroengine:core/internal/systems/string/repeat_2 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 3 run function macroengine:core/internal/systems/string/repeat_3 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 4 run function macroengine:core/internal/systems/string/repeat_4 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 5 run function macroengine:core/internal/systems/string/repeat_5 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 6 run function macroengine:core/internal/systems/string/repeat_6 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 7 run function macroengine:core/internal/systems/string/repeat_7 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 8 run function macroengine:core/internal/systems/string/repeat_8 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 9 run function macroengine:core/internal/systems/string/repeat_9 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 10 run function macroengine:core/internal/systems/string/repeat_10 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 11 run function macroengine:core/internal/systems/string/repeat_11 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 12 run function macroengine:core/internal/systems/string/repeat_12 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 13 run function macroengine:core/internal/systems/string/repeat_13 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 14 run function macroengine:core/internal/systems/string/repeat_14 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 15 run function macroengine:core/internal/systems/string/repeat_15 with storage macroengine:input {} +execute if score $sr_n macroengine.tmp matches 16 run function macroengine:core/internal/systems/string/repeat_16 with storage macroengine:input {} + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/repeat ","color":"aqua"},{"text":"'$(char)'","color":"yellow"},{"text":" × $(count) → ","color":"#555555"},{"plain":true ,"storage":"macroengine:output","nbt":"result","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/score_display.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/score_display.mcfunction new file mode 100644 index 00000000..b30bd8c1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/score_display.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/score_display +# Sends a formatted label: value line from a scoreboard objective. +# Input : $(target) → selector to receive the message +# $(label) → display label (e.g. "Points") +# $(player) → scoreboard player name (e.g. "@s", "") +# $(objective) → scoreboard objective name +# $(color) → value color (e.g. "green", "gold") +# +# Example: +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input label set value "Points" +# data modify storage macroengine:input player set value "@s" +# data modify storage macroengine:input objective set value "myPoints" +# data modify storage macroengine:input color set value "green" +# function macroengine:systems/string/score_display with storage macroengine:input {} +# # Output: "Points 42" (42 from scoreboard) +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"$(label)","color":"gray"},{"text":" ","color":"#555555"},{"score":{"name":"$(player)","objective":"$(objective)"},"color":"$(color)","bold":true}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/separator.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/separator.mcfunction new file mode 100644 index 00000000..7cdcc218 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/separator.mcfunction @@ -0,0 +1,19 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/separator +# Sends a decorative horizontal separator line. +# Input : $(target) → selector +# $(color) → line color (e.g. "gray", "aqua", "#555555") +# $(label) → optional center label (use "" for plain line) +# +# Example (plain line): +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input color set value "gray" +# data modify storage macroengine:input label set value "" +# function macroengine:systems/string/separator with storage macroengine:input {} +# +# Example (labeled): +# data modify storage macroengine:input label set value " Settings " +# function macroengine:systems/string/separator with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"──────────","color":"$(color)"},{"text":"$(label)","color":"$(color)","bold":true},{"text":"──────────","color":"$(color)"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tag_badge.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tag_badge.mcfunction new file mode 100644 index 00000000..5e186cf8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tag_badge.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/tag_badge +# Sends a styled [TAG] badge with optional hover text. +# Input : $(target) → selector +# $(tag) → badge label (e.g. "ADMIN", "VIP") +# $(color) → badge color (e.g. "red", "gold") +# $(hover) → hover tooltip text +# +# Example: +# data modify storage macroengine:input target set value "@s" +# data modify storage macroengine:input tag set value "ADMIN" +# data modify storage macroengine:input color set value "red" +# data modify storage macroengine:input hover set value "Server Administrator" +# function macroengine:systems/string/tag_badge with storage macroengine:input {} +# ───────────────────────────────────────────────────────────────── + +$tellraw $(target) ["",{"text":"[","color":"#555555","bold":false},{"text":"$(tag)","color":"$(color)","bold":true,"hover_event":{"action":"show_text","value":{"text":"$(hover)","color":"gray","italic":true}}},{"text":"]","color":"#555555","bold":false}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tooltip_item.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tooltip_item.mcfunction new file mode 100644 index 00000000..4500bc11 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/tooltip_item.mcfunction @@ -0,0 +1 @@ +$tellraw $(target) {"text":"$(text)","color":"$(color)","hover_event":{"action":"show_item","value":{"id":"$(item)","count":1}}} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/truncate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/truncate.mcfunction new file mode 100644 index 00000000..27aa0193 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/string/truncate.mcfunction @@ -0,0 +1,29 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:systems/string/truncate +# Displays text in the named player's actionbar, optionally with a +# suffix to indicate truncation. The caller decides whether the text +# needs truncating and passes truncated:1b or truncated:0b. +# Because mcfunction cannot measure string byte-length at runtime, +# length-checking must be done externally. +# +# INPUT : $(player) → player name +# $(text) → string to display +# $(suffix) → suffix shown when truncated (e.g. "...") +# $(truncated) → 1b = append suffix, 0b = show as-is +# OUTPUT: macroengine:output text → stored original text +# +# EXAMPLE: +# function macroengine:systems/string/truncate {player:"Steve",text:"Hello Wor",suffix:"...",truncated:1b} +# → actionbar: "Hello Wor..." +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:output text set value $(text) +$data modify storage macroengine:engine _trunc_t set value $(truncated) + +scoreboard players set #trunc_flag macroengine.tmp 0 +execute store result score #trunc_flag macroengine.tmp run data get storage macroengine:engine _trunc_t + +$execute if score #trunc_flag macroengine.tmp matches 0 run title @a[name=$(player),limit=1] actionbar {"plain":true ,"storage":"macroengine:output","nbt":"text"} +$execute if score #trunc_flag macroengine.tmp matches 1.. run title @a[name=$(player),limit=1] actionbar ["",{"plain":true ,"storage":"macroengine:output","nbt":"text"},{"text":"$(suffix)","color":"gray"}] + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"string/truncate ","color":"aqua"},{"text":"$(player) truncated=$(truncated)","color":"gray"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/cache_clear.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/cache_clear.mcfunction new file mode 100644 index 00000000..14266a69 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/cache_clear.mcfunction @@ -0,0 +1,11 @@ +# ============================================================ +# macroengine:systems/uuid/cache_clear +# Clears all cache (all entries saved with uuid/store) +# +# KULLANIM: +# function macroengine:systems/uuid/cache_clear +# +# Warning: This operation is irreversible. All stored UUIDs are deleted. +# Typically used when resetting the world or when a player leaves. +# ============================================================ +data modify storage macroengine:engine uuid_cache set value {} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/forget.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/forget.mcfunction new file mode 100644 index 00000000..0dc66c3d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/forget.mcfunction @@ -0,0 +1,12 @@ +# ============================================================ +# macroengine:systems/uuid/forget +# Deletes a UUID entry from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/forget +# +# INPUT: +# macroengine:input key → name of the key to delete +# ============================================================ +function macroengine:core/internal/systems/uuid/forget_key with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_array.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_array.mcfunction new file mode 100644 index 00000000..c5a57d2d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_array.mcfunction @@ -0,0 +1,27 @@ +# ============================================================ +# macroengine:systems/uuid/from_array +# Converts int array in macroengine:input value to UUID string +# +# KULLANIM: +# data modify storage macroengine:input value set value [I; a, b, c, d] +# function macroengine:systems/uuid/from_array +# +# INPUT: +# macroengine:input value → [I; int0, int1, int2, int3] +# +# OUTPUT: +# macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# Output is written to macroengine:input value (AME standard) +# ============================================================ + +# Read int[4] array directly from macroengine:input value +execute store result score $uuid.0 macroengine.tmp run data get storage macroengine:input value[0] +execute store result score $uuid.1 macroengine.tmp run data get storage macroengine:input value[1] +execute store result score $uuid.2 macroengine.tmp run data get storage macroengine:input value[2] +execute store result score $uuid.3 macroengine.tmp run data get storage macroengine:input value[3] + +# Split into 16 bytes → convert to hex chars → concatenate UUID string +function macroengine:core/internal/systems/uuid/extract_bytes +function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_entity.mcfunction new file mode 100644 index 00000000..ae6ec953 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/from_entity.mcfunction @@ -0,0 +1,28 @@ +# ============================================================ +# macroengine:systems/uuid/from_entity +# Converts the current entity's (@s) UUID to a hex string +# +# KULLANIM: +# execute as run function macroengine:systems/uuid/from_entity +# +# OUTPUT: +# macroengine:input value → "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# +# Output is written to macroengine:input value (AME standard) +# Direct NBT read on each call — always up to date +# Negative byte error is fixed (see extract_bytes) +# ============================================================ + +# Copy entity UUID as int[4] to working storage +data modify storage macroengine:uuid _work set from entity @s UUID + +# Load four ints to scoreboard (without writing scores to entity) +execute store result score $uuid.0 macroengine.tmp run data get storage macroengine:uuid _work[0] +execute store result score $uuid.1 macroengine.tmp run data get storage macroengine:uuid _work[1] +execute store result score $uuid.2 macroengine.tmp run data get storage macroengine:uuid _work[2] +execute store result score $uuid.3 macroengine.tmp run data get storage macroengine:uuid _work[3] + +# Split into 16 bytes → convert to hex chars → concatenate UUID string +function macroengine:core/internal/systems/uuid/extract_bytes +function macroengine:core/internal/systems/uuid/get_hexes with storage macroengine:uuid _tmp +function macroengine:core/internal/systems/uuid/concat with storage macroengine:uuid _tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/has.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/has.mcfunction new file mode 100644 index 00000000..e3b5805c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/has.mcfunction @@ -0,0 +1,17 @@ +# ============================================================ +# macroengine:systems/uuid/has +# Checks whether the specified key exists in the cache +# +# EXAMPLE: +# data modify storage macroengine:input key set value "my_key" +# execute if score $result macroengine.tmp matches 1 ... +# function macroengine:systems/uuid/has +# +# INPUT: +# macroengine:input key → name of the key to check +# +# OUTPUT: +# $uuid.has macroengine.tmp → 1 (found) or 0 (not found) +# ============================================================ +scoreboard players set $uuid.has macroengine.tmp 0 +function macroengine:core/internal/systems/uuid/has_check with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/match.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/match.mcfunction new file mode 100644 index 00000000..65364333 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/match.mcfunction @@ -0,0 +1,27 @@ +# ============================================================ +# macroengine:systems/uuid/match +# Compares @s entity's UUID with macroengine:input value +# If matched, runs macroengine:input func function +# +# KULLANIM: +# data modify storage macroengine:input value set value "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" +# data modify storage macroengine:input func set value "mynamespace:my_function" +# execute as run function macroengine:systems/uuid/match +# +# INPUT: +# macroengine:input value → UUID string to compare (expected) +# macroengine:input func → function to run if matched +# +# NOTE: func is run in the same entity context. +# ============================================================ + +# Save expected UUID string to temporary field +# (from_entity call overwrites macroengine:input value) +data modify storage macroengine:uuid _match_target set from storage macroengine:input value + +# Convert @s UUID to string → macroengine:input value +function macroengine:systems/uuid/from_entity + +# Compare: if matched, run func +# Is the current UUID (macroengine:input value) equal to the expected? +function macroengine:core/internal/systems/uuid/match_check with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall.mcfunction new file mode 100644 index 00000000..2e919677 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall.mcfunction @@ -0,0 +1,16 @@ +# ============================================================ +# macroengine:systems/uuid/recall +# Retrieves UUID string from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/recall +# +# INPUT: +# macroengine:input key → key name used with uuid/store +# +# OUTPUT: +# macroengine:input value → UUID hex string +# (value unchanged if key not found) +# ============================================================ +function macroengine:core/internal/systems/uuid/recall_read with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall_array.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall_array.mcfunction new file mode 100644 index 00000000..af7dee83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/recall_array.mcfunction @@ -0,0 +1,18 @@ +# ============================================================ +# macroengine:systems/uuid/recall_array +# Retrieves UUID int array from the cache +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# function macroengine:systems/uuid/recall_array +# +# INPUT: +# macroengine:input key → key name used with uuid/store +# +# OUTPUT: +# macroengine:input value → UUID int array [I; a, b, c, d] +# (value unchanged if key not found) +# +# Use case: writing UUID to entity NBT (e.g. Owner field) +# ============================================================ +function macroengine:core/internal/systems/uuid/recall_arr_read with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/store.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/store.mcfunction new file mode 100644 index 00000000..68761019 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/systems/uuid/store.mcfunction @@ -0,0 +1,26 @@ +# ============================================================ +# macroengine:systems/uuid/store +# Caches @s entity's UUID as both string and int array +# +# KULLANIM: +# data modify storage macroengine:input key set value "benim_anahtarim" +# execute as run function macroengine:systems/uuid/store +# +# INPUT: +# macroengine:input key → storage key name (e.g. "spawn_point_owner") +# +# OUTPUT (macroengine:engine uuid_cache.): +# .str → UUID hex string +# .arr → UUID int array [I; a, b, c, d] +# +# Not available in GU — an advanced AME-specific function. +# ============================================================ + +# Build UUID string → macroengine:input value +function macroengine:systems/uuid/from_entity + +# Also save array form (from_entity already filled _work) +data modify storage macroengine:uuid _store_arr set from storage macroengine:uuid _work + +# Write both to cache (get key name via macro) +function macroengine:core/internal/systems/uuid/store_write with storage macroengine:input diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/version.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/version.mcfunction new file mode 100644 index 00000000..e162fea2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/version.mcfunction @@ -0,0 +1,23 @@ +# ───────────────────────────────────────────── +# macroengine:version +# Shows macroengine version info to the calling player. +# Usage: /function macroengine:version +# ───────────────────────────────────────────── +execute unless score #macroengine.ver_set macroengine.pre_version matches 1 run return run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"✖ not initialized","color":"red"}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━ Version Info ","color":"aqua"},{"text":"━━━━━━━━━━━━━━","color":"#555555"}] + +tellraw @s ["",{"text":" ◈ ","color":"#00AAAA"},{"text":"macroengine","color":"white","bold":true}] + +execute if score #macroengine.pre macroengine.pre_version matches 1.. run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Version ","color":"gray"},{"text":"v","color":"#ffaa00"},{"score":{"name":"#macroengine.major","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.minor","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.patch","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":"-pre","color":"#ff8800"},{"score":{"name":"#macroengine.pre","objective":"macroengine.pre_version"},"color":"#ff8800","bold":true}] +execute if score #macroengine.pre macroengine.pre_version matches ..0 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Version ","color":"gray"},{"text":"v","color":"#ffaa00"},{"score":{"name":"#macroengine.major","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.minor","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true},{"text":".","color":"#ffaa00"},{"score":{"name":"#macroengine.patch","objective":"macroengine.pre_version"},"color":"#ffaa00","bold":true}] + +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"MC ","color":"gray"},{"text":"26.2","color":"#e3ff57"},{"text":" (pack_format 107)","color":"#555555"}] +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Author ","color":"gray"},{"text":"Legends11","color":"#00ff33","click_event":{"action":"open_url","url":"https://github.com/tickwarden"}},{"text":" / ","color":"#555555"},{"text":"runtoolkit","color":"aqua","underlined":true,"click_event":{"action":"open_url","url":"https://github.com/runtoolkit"}}] + +tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Source ","color":"gray"},{"text":"github.com/runtoolkit/macroEngine","color":"#5555ff","underlined":true,"click_event":{"action":"open_url","url":"https://github.com/runtoolkit/macroengine-dp"}}] +# Check if loaded +execute if score #macroengine.ver_set macroengine.pre_version matches 1 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"● loaded","color":"green"}] +execute unless score #macroengine.ver_set macroengine.pre_version matches 1 run tellraw @s ["",{"text":" ┃ ","color":"#555555"},{"text":"Status ","color":"gray"},{"text":"✖ not initialized","color":"red"}] + +tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_if.mcfunction new file mode 100644 index 00000000..e8a60492 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_if.mcfunction @@ -0,0 +1,2 @@ +$execute if block $(x) $(y) $(z) $(block) run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/block_if ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_unless.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_unless.mcfunction new file mode 100644 index 00000000..cef95d91 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/block_unless.mcfunction @@ -0,0 +1,2 @@ +$execute unless block $(x) $(y) $(z) $(block) run $(invoke) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/block_unless ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/clone_to.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/clone_to.mcfunction new file mode 100644 index 00000000..ba17a769 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/clone_to.mcfunction @@ -0,0 +1,2 @@ +$clone $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(dx) $(dy) $(dz) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/clone_to ","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/clear_effects.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/clear_effects.mcfunction new file mode 100644 index 00000000..14b6bebd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/clear_effects.mcfunction @@ -0,0 +1,10 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/clear_effects +# Clears all active potion effects from entities matching type+tag. +# +# INPUT : $(type) → entity type selector (e.g. "minecraft:player") +# $(tag) → entity tag filter +# ───────────────────────────────────────────────────────────────── + +$effect clear @e[type=$(type),tag=$(tag)] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/clear_effects ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)[tag=$(tag)]","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/count.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/count.mcfunction new file mode 100644 index 00000000..de211bf1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/count.mcfunction @@ -0,0 +1,4 @@ +scoreboard players set $ent_count macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run scoreboard players add $ent_count macroengine.tmp 1 +execute store result storage macroengine:output count int 1 run scoreboard players get $ent_count macroengine.tmp +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/count ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/damage.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/damage.mcfunction new file mode 100644 index 00000000..76928602 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/damage.mcfunction @@ -0,0 +1,2 @@ +$damage @e[type=$(type),tag=$(tag)] $(amount) $(damage_type) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/damage ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each.mcfunction new file mode 100644 index 00000000..3bdfcf78 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each.mcfunction @@ -0,0 +1,3 @@ +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @e[type=$(type),tag=$(tag)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/for_each ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each_in_radius.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each_in_radius.mcfunction new file mode 100644 index 00000000..d6f23aba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/for_each_in_radius.mcfunction @@ -0,0 +1,17 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/for_each_in_radius +# Runs a function as every entity of a given type within radius +# of the named player. +# +# INPUT : $(player) → player name (origin) +# $(type) → entity type (e.g. "minecraft:zombie") +# $(radius) → search radius in blocks +# $(func) → function to run as each entity (at its position) +# +# EXAMPLE: +# function macroengine:world/entity/for_each_in_radius {player:"Steve",type:"minecraft:zombie",radius:10,func:"mypack:on_zombie"} +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[name=$(player),limit=1] at @s run execute as @e[type=$(type),distance=..$(radius)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/for_each_in_radius ","color":"aqua"},{"text":"$(player) r=$(radius) → ","color":"gray"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/give_effect.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/give_effect.mcfunction new file mode 100644 index 00000000..51cb4ca1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/give_effect.mcfunction @@ -0,0 +1,2 @@ +$effect give @e[type=$(type),tag=$(tag)] $(effect) $(duration) $(amplifier) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/give_effect ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(effect)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/kill_tagged.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/kill_tagged.mcfunction new file mode 100644 index 00000000..a24e70af --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/kill_tagged.mcfunction @@ -0,0 +1,2 @@ +$kill @e[type=$(type),tag=$(tag)] +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/kill_tagged ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/nearest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/nearest.mcfunction new file mode 100644 index 00000000..3efb5271 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/nearest.mcfunction @@ -0,0 +1,15 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/nearest +# Finds the nearest entity of a given type to the named player and +# runs the given function as that entity (at its position). +# If no entity of the type exists within radius, does nothing. +# +# INPUT : $(player) → player name (origin) +# $(type) → entity type (e.g. "minecraft:zombie") +# $(radius) → search radius in blocks +# $(func) → function to run as the nearest entity +# ───────────────────────────────────────────────────────────────── + +$data modify storage macroengine:engine _dispatch.func set value "$(func)" +$execute as @a[name=$(player),limit=1] at @s run execute as @e[type=$(type),sort=nearest,limit=1,distance=..$(radius)] at @s run function #macroengine:internal/dispatch +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/nearest ","color":"aqua"},{"text":"$(player) → ","color":"gray"},{"text":"$(type) r=$(radius)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/random.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/random.mcfunction new file mode 100644 index 00000000..f885c335 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/random.mcfunction @@ -0,0 +1,44 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/random +# Selects ONE random entity matching the given type and tag and +# runs the given function as that entity (at its position). +# If no matching entity exists, nothing happens. +# +# Uses /random value (available since 1.20.2) to pick a random +# index, then dispatches via sequential macroengine.rnd_idx assignment. +# This gives a true uniform distribution across matching entities. +# +# INPUT : $(type) → entity type (e.g. "minecraft:zombie") +# $(tag) → entity tag to match +# $(func) → function to run as the selected entity +# +# EXAMPLE: +# function macroengine:world/entity/random {type:"minecraft:zombie",tag:"mob.active",func:"mypack:reward"} +# ───────────────────────────────────────────────────────────────── + +# Step 1 — count all matching entities +scoreboard players set $rnd_n macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run scoreboard players add $rnd_n macroengine.tmp 1 + +# No entities → nothing to do +execute if score $rnd_n macroengine.tmp matches 0 run return 0 + +# Step 2 — assign sequential macroengine.rnd_idx to each matching entity +# (random_assign runs AS each entity to maintain counter state) +scoreboard players set $rnd_i macroengine.tmp 0 +$execute as @e[type=$(type),tag=$(tag)] run function macroengine:core/internal/world/entity/random_assign + +# Step 3 — compute max = count-1, store for the dispatch macro +scoreboard players remove $rnd_n macroengine.tmp 1 +execute store result storage macroengine:engine _rnd.max int 1 run scoreboard players get $rnd_n macroengine.tmp +$data modify storage macroengine:engine _rnd.func set value "$(func)" +$data modify storage macroengine:engine _rnd.type set value "$(type)" +$data modify storage macroengine:engine _rnd.tag set value "$(tag)" + +# Step 4 — roll /random value 0..max and run func as the winner +function macroengine:core/internal/world/entity/random_dispatch with storage macroengine:engine _rnd + +# Cleanup +data remove storage macroengine:engine _rnd + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/random ","color":"aqua"},{"text":"$(type)","color":"aqua"},{"text":" [$(tag)]","color":"gray"},{"text":" → ","color":"#555555"},{"text":"$(func)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_health.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_health.mcfunction new file mode 100644 index 00000000..2a368334 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_health.mcfunction @@ -0,0 +1,20 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/set_health +# Sets the health of entities matching type+tag by applying +# instant_health or instant_damage effects calibrated to the target amount. +# Note: direct NBT entity Health write was removed in 1.20.5. +# This implementation uses instant_health amplifier to fill HP; +# it first applies instant_damage level 255 (kills/zeros HP) then +# instant_health at the desired level to restore to target amount. +# +# amount → instant_health amplifier level (0-based; level 1 = +2 HP, level N = +2*(N+1) HP) +# To set exactly N half-hearts: amplifier = (N / 2) - 1, clamped to [0, 255]. +# +# INPUT : $(type) → entity type (e.g. "minecraft:player") +# $(tag) → entity tag filter +# $(amount) → target amplifier level for instant_health (int 0–255) +# ───────────────────────────────────────────────────────────────── + +$effect give @e[type=$(type),tag=$(tag)] minecraft:instant_damage 1 255 true +$effect give @e[type=$(type),tag=$(tag)] minecraft:instant_health 1 $(amount) true +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/set_health ","color":"aqua"},{"text":" → amplifier=$(amount) on ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_name.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_name.mcfunction new file mode 100644 index 00000000..81335df3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/set_name.mcfunction @@ -0,0 +1,26 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/entity/set_name +# Sets the display name (CustomName) on every entity matching the +# given tag. The name is read from macroengine:input name — NOT passed +# as a macro argument — to avoid quote/apostrophe injection crashes +# and to support full JSON text components on all versions. +# +# INPUT : $(tag) → entity tag to match +# macroengine:input name → JSON text component (caller sets this +# before calling this function) +# +# CALLER PATTERN: +# # Plain white text (works on all versions): +# data modify storage macroengine:input name set value '"Dragon King"' +# +# # Colored component (works on all versions): +# data modify storage macroengine:input name set value '{"text":"Dragon King","color":"red"}' +# +# function macroengine:world/entity/set_name {tag:"myboss"} +# +# NOTE: data modify storage → CustomName works on all supported +# versions without version-specific syntax differences. +# ───────────────────────────────────────────────────────────────── + +$execute as @e[tag=$(tag)] run data modify entity @s CustomName set from storage macroengine:input name +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/set_name ","color":"aqua"},{"text":"[$(tag)]","color":"gray"},{"text":" ← macroengine:input name","color":"#555555"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/summon_at_player.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/summon_at_player.mcfunction new file mode 100644 index 00000000..8602fd94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/summon_at_player.mcfunction @@ -0,0 +1,2 @@ +$execute as @a[name=$(player),limit=1] at @s run summon $(entity) ~ ~ ~ $(nbt) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/summon_at_player ","color":"aqua"},{"text":"$(player)","color":"white"},{"text":" → ","color":"#555555"},{"text":"$(entity)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_add.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_add.mcfunction new file mode 100644 index 00000000..411bf28d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_add.mcfunction @@ -0,0 +1,2 @@ +$tag @e[type=$(type),tag=$(filter)] add $(new_tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tag_add ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_remove.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_remove.mcfunction new file mode 100644 index 00000000..79f5c2a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tag_remove.mcfunction @@ -0,0 +1,2 @@ +$tag @e[type=$(type),tag=$(filter)] remove $(remove_tag) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tag_remove ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tp_to.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tp_to.mcfunction new file mode 100644 index 00000000..bc1a5320 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/entity/tp_to.mcfunction @@ -0,0 +1,2 @@ +$tp @e[type=$(type),tag=$(tag)] $(x) $(y) $(z) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"entity/tp_to ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(type)","color":"aqua"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_hollow.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_hollow.mcfunction new file mode 100644 index 00000000..cdeadecd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_hollow.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) hollow +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_hollow ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_keep.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_keep.mcfunction new file mode 100644 index 00000000..9148808d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_keep.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) keep +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_keep ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_outline.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_outline.mcfunction new file mode 100644 index 00000000..efc9dec1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_outline.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) outline +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_outline ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_replace.mcfunction new file mode 100644 index 00000000..a29ffd0d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/fill_replace.mcfunction @@ -0,0 +1,2 @@ +$fill $(x1) $(y1) $(z1) $(x2) $(y2) $(z2) $(block) replace $(replace_with) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/fill_replace ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(block)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/get_time.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/get_time.mcfunction new file mode 100644 index 00000000..86e77f77 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/get_time.mcfunction @@ -0,0 +1,16 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/get_time +# Compatible with 26.3-snapshot-5+ World Clocks (minecraft:overworld) +# +# OUTPUT: +# macroengine:output.daytime → in-day time (0-23999) +# macroengine:output.total → total world age (gametime) +# macroengine:output.day → current day number +# ───────────────────────────────────────────────────────────────── + +execute store result storage macroengine:output daytime int 1 run time of minecraft:overworld query day +execute store result storage macroengine:output total int 1 run time query gametime +execute store result storage macroengine:output day int 1 run time of minecraft:overworld query day repetition + +# Debug (optional) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/get_time ","color":"aqua"},{"text":"day=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"day","color":"green"},{"text":" daytime=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"daytime","color":"green"},{"text":" total=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"total","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/setblock_if.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/setblock_if.mcfunction new file mode 100644 index 00000000..f320beab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/setblock_if.mcfunction @@ -0,0 +1,2 @@ +$execute if block $(x) $(y) $(z) $(expected) run setblock $(x) $(y) $(z) $(new_block) $(mode) +$tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/setblock_if ","color":"aqua"},{"text":" → ","color":"#555555"},{"text":"$(mode)","color":"aqua"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/time_phase.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/time_phase.mcfunction new file mode 100644 index 00000000..6857e00a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/function/world/time_phase.mcfunction @@ -0,0 +1,39 @@ +# ───────────────────────────────────────────────────────────────── +# macroengine:world/time_phase +# Time phase detection compatible with 26.1+ World Clocks +# +# OUTPUT: +# macroengine:output.phase → "dawn" / "day" / "dusk" / "night" +# macroengine:output.daytime → raw daytime tick (0–23999) +# macroengine:output.is_day → 1b (daytime) +# macroengine:output.is_night → 1b (nighttime) +# macroengine:output.is_dawn → 1b (dawn) +# macroengine:output.is_dusk → 1b (dusk) +# ───────────────────────────────────────────────────────────────── + +# Get in-day time (26.1+ correct syntax) +execute store result score $tp_t macroengine.tmp run time of minecraft:overworld query day + +# Write raw daytime to storage +execute store result storage macroengine:output daytime int 1 run scoreboard players get $tp_t macroengine.tmp + +# Reset boolean flags +data modify storage macroengine:output is_day set value 0b +data modify storage macroengine:output is_night set value 0b +data modify storage macroengine:output is_dawn set value 0b +data modify storage macroengine:output is_dusk set value 0b + +# Set boolean values +execute if score $tp_t macroengine.tmp matches 0..12999 run data modify storage macroengine:output is_day set value 1b +execute if score $tp_t macroengine.tmp matches 13000..23999 run data modify storage macroengine:output is_night set value 1b +execute if score $tp_t macroengine.tmp matches 0..999 run data modify storage macroengine:output is_dawn set value 1b +execute if score $tp_t macroengine.tmp matches 12000..13799 run data modify storage macroengine:output is_dusk set value 1b + +# Determine phase name +execute if score $tp_t macroengine.tmp matches 0..999 run data modify storage macroengine:output phase set value "dawn" +execute if score $tp_t macroengine.tmp matches 1000..11999 run data modify storage macroengine:output phase set value "day" +execute if score $tp_t macroengine.tmp matches 12000..13799 run data modify storage macroengine:output phase set value "dusk" +execute if score $tp_t macroengine.tmp matches 13800..23999 run data modify storage macroengine:output phase set value "night" + +# Debug message (optional) +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"world/time_phase ","color":"aqua"},{"plain":true ,"storage":"macroengine:output","nbt":"phase","color":"green"},{"text":" t=","color":"gray"},{"plain":true ,"storage":"macroengine:output","nbt":"daytime","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/damage_random.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/damage_random.json new file mode 100644 index 00000000..7d18f508 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/damage_random.json @@ -0,0 +1,8 @@ +{ + "damage": { + "type": "minecraft:uniform", + "min": 0.1, + "max": 0.9 + }, + "function": "minecraft:set_damage" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_randomly.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_randomly.json new file mode 100644 index 00000000..035803b3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_randomly.json @@ -0,0 +1,3 @@ +{ + "function": "minecraft:enchant_randomly" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_30.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_30.json new file mode 100644 index 00000000..076a45c8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_30.json @@ -0,0 +1,4 @@ +{ + "levels": 30, + "function": "minecraft:enchant_with_levels" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_5.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_5.json new file mode 100644 index 00000000..1998f967 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/enchant_with_levels_5.json @@ -0,0 +1,4 @@ +{ + "levels": 5, + "function": "minecraft:enchant_with_levels" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_add.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_add.json new file mode 100644 index 00000000..77fcd1ce --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_add.json @@ -0,0 +1,6 @@ +{ + "components": { + "minecraft:enchantment_glint_override": true + }, + "function": "minecraft:set_components" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_remove.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_remove.json new file mode 100644 index 00000000..40dfd91b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/glint_remove.json @@ -0,0 +1,6 @@ +{ + "components": { + "minecraft:enchantment_glint_override": false + }, + "function": "minecraft:set_components" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/hide_tooltip.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/hide_tooltip.json new file mode 100644 index 00000000..83837358 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/hide_tooltip.json @@ -0,0 +1,8 @@ +{ + "components": { + "minecraft:tooltip_display": { + "hide_tooltip": true + } + }, + "function": "minecraft:set_components" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_add_custom.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_add_custom.json new file mode 100644 index 00000000..67aa8adb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_add_custom.json @@ -0,0 +1,12 @@ +{ + "lore": [ + { + "storage": "macroengine:input", + "nbt": "lore", + "interpret": true, + "separator": "\n" + } + ], + "mode": "append", + "function": "minecraft:set_lore" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_clear.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_clear.json new file mode 100644 index 00000000..c45899b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/lore_clear.json @@ -0,0 +1,5 @@ +{ + "lore": [], + "mode": "replace_all", + "function": "minecraft:set_lore" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/rename_to_custom.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/rename_to_custom.json new file mode 100644 index 00000000..95613f37 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/rename_to_custom.json @@ -0,0 +1,9 @@ +{ + "target": "item_name", + "name": { + "text": "Custom Item", + "italic": false, + "color": "gold" + }, + "function": "minecraft:set_name" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/repair_full.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/repair_full.json new file mode 100644 index 00000000..94ecd77d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/repair_full.json @@ -0,0 +1,4 @@ +{ + "damage": 0.0, + "function": "minecraft:set_damage" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_1.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_1.json new file mode 100644 index 00000000..271efb87 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_1.json @@ -0,0 +1,4 @@ +{ + "count": 1, + "function": "minecraft:set_count" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_64.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_64.json new file mode 100644 index 00000000..f87fe608 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_count_64.json @@ -0,0 +1,4 @@ +{ + "count": 64, + "function": "minecraft:set_count" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_custom_model_data.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_custom_model_data.json new file mode 100644 index 00000000..ecdc4731 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/set_custom_model_data.json @@ -0,0 +1,14 @@ +{ + "_comment": "macroengine: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": [ + 1.0 + ], + "flags": [], + "strings": [], + "colors": [] + } + }, + "function": "minecraft:set_components" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/strip_enchants.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/strip_enchants.json new file mode 100644 index 00000000..92f3e026 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/strip_enchants.json @@ -0,0 +1,5 @@ +{ + "enchantments": {}, + "add": false, + "function": "minecraft:set_enchantments" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/unbreakable.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/unbreakable.json new file mode 100644 index 00000000..b9241d4b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/item_modifier/unbreakable.json @@ -0,0 +1,6 @@ +{ + "components": { + "minecraft:unbreakable": {} + }, + "function": "minecraft:set_components" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/player/head.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/player/head.json new file mode 100644 index 00000000..d301a16d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/player/head.json @@ -0,0 +1,20 @@ +{ + "type": "minecraft:generic", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:item", + "name": "minecraft:player_head", + "functions": [ + { + "function": "minecraft:fill_player_head", + "entity": "this" + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/empty.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/empty.json new file mode 100644 index 00000000..673b6146 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/empty.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:empty", + "pools": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/self_drop.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/self_drop.json new file mode 100644 index 00000000..04463091 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/self_drop.json @@ -0,0 +1,14 @@ +{ + "type": "minecraft:block", + "pools": [ + { + "rolls": 1, + "entries": [ + { + "type": "minecraft:loot_table", + "value": "minecraft:blocks/stone" + } + ] + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/xp_only.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/xp_only.json new file mode 100644 index 00000000..6d5675e9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/loot_table/util/xp_only.json @@ -0,0 +1,4 @@ +{ + "type": "minecraft:entity", + "pools": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_mainhand.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_mainhand.json new file mode 100644 index 00000000..5be51425 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_mainhand.json @@ -0,0 +1,13 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "count": { + "max": 0 + } + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_offhand.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_offhand.json new file mode 100644 index 00000000..1784687a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/has_empty_offhand.json @@ -0,0 +1,13 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "count": { + "max": 0 + } + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/health_below_half.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/health_below_half.json new file mode 100644 index 00000000..4ca83b43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/health_below_half.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "scores": { + "macroengine.health": { + "max": 10 + } + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_end.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_end.json new file mode 100644 index 00000000..032c3c89 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_end.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:the_end" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_nether.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_nether.json new file mode 100644 index 00000000..59195b8a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_nether.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:the_nether" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_overworld.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_overworld.json new file mode 100644 index 00000000..cc26a420 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/in_overworld.json @@ -0,0 +1,6 @@ +{ + "predicate": { + "dimension": "minecraft:overworld" + }, + "condition": "minecraft:location_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_baby.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_baby.json new file mode 100644 index 00000000..af183d8c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_baby.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_baby": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_burning.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_burning.json new file mode 100644 index 00000000..98a92e60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_burning.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_fire": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_creative.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_creative.json new file mode 100644 index 00000000..2aeff7e1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_creative.json @@ -0,0 +1,10 @@ +{ + "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/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_daytime.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_daytime.json new file mode 100644 index 00000000..96255a76 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_daytime.json @@ -0,0 +1,9 @@ +{ + "clock": "minecraft:overworld", + "value": { + "min": 0, + "max": 12000 + }, + "period": 24000, + "condition": "minecraft:time_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_flying.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_flying.json new file mode 100644 index 00000000..e61ce244 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_flying.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_freezing.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_freezing.json new file mode 100644 index 00000000..2406d4df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_freezing.json @@ -0,0 +1,93 @@ +{ + "condition": "minecraft:any_of", + "terms": [ + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:1}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:2}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:3}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:4}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:5}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:6}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:7}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:8}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:9}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:10}" + } + }, + { + "condition": "minecraft:entity_properties", + "entity": "this", + "predicate": { + "entity_type": "minecraft:player", + "nbt": "{TicksFrozen:11}" + } + } + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_full_health.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_full_health.json new file mode 100644 index 00000000..e23a87eb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_full_health.json @@ -0,0 +1,8 @@ +{ + "entity": "this", + "predicate": { + "nbt": "{Health:20.0f}", + "entity_type": "minecraft:player" + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_gliding.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_gliding.json new file mode 100644 index 00000000..017f3353 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_gliding.json @@ -0,0 +1,14 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_flying": true + }, + "equipment": { + "chest": { + "items": "minecraft:elytra" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_bow.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_bow.json new file mode 100644 index 00000000..948cf3b8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_bow.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:bow" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_shield.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_shield.json new file mode 100644 index 00000000..9c110909 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_shield.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "offhand": { + "items": "minecraft:shield" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_sword.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_sword.json new file mode 100644 index 00000000..73533662 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_sword.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "#minecraft:swords" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_trident.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_trident.json new file mode 100644 index 00000000..a20b0d46 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_holding_trident.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "equipment": { + "mainhand": { + "items": "minecraft:trident" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_hungry.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_hungry.json new file mode 100644 index 00000000..b86cdb84 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_hungry.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "scores": { + "macroengine.food": { + "max": 19 + } + }, + "condition": "minecraft:entity_scores" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_in_water.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_in_water.json new file mode 100644 index 00000000..ee5bafb5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_in_water.json @@ -0,0 +1,11 @@ +{ + "entity": "this", + "predicate": { + "location": { + "fluid": { + "tag": "minecraft:water" + } + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_invisible.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_invisible.json new file mode 100644 index 00000000..69674df4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_invisible.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_invisible": true + } + }, + "condition": "minecraft:entity_properties" +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_on_ground.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_on_ground.json new file mode 100644 index 00000000..e5113eb9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_on_ground.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_on_ground": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_raining.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_raining.json new file mode 100644 index 00000000..443a641b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_raining.json @@ -0,0 +1,5 @@ +{ + "raining": true, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sneaking.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sneaking.json new file mode 100644 index 00000000..ee9f57d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sneaking.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sprinting.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sprinting.json new file mode 100644 index 00000000..f95b561d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_sprinting.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_survival.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_survival.json new file mode 100644 index 00000000..a34eb14f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_survival.json @@ -0,0 +1,10 @@ +{ + "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/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_swimming.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_swimming.json new file mode 100644 index 00000000..5cb87934 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_swimming.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_swimming": true + } + }, + "condition": "minecraft:entity_properties" +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_thundering.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_thundering.json new file mode 100644 index 00000000..1a1216ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/is_thundering.json @@ -0,0 +1,5 @@ +{ + "raining": true, + "thundering": true, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/weather_clear.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/weather_clear.json new file mode 100644 index 00000000..ae4f8ca0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/predicate/weather_clear.json @@ -0,0 +1,5 @@ +{ + "raining": false, + "thundering": false, + "condition": "minecraft:weather_check" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/psa.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/psa.json new file mode 100644 index 00000000..4503badc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/psa.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/qa.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/qa.json new file mode 100644 index 00000000..4503badc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/dialog/qa.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/menu.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/menu.json new file mode 100644 index 00000000..d46dc5cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/menu.json @@ -0,0 +1,4 @@ +{ + "replace": false, + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/run.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/run.json new file mode 100644 index 00000000..f6066c73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/admin/run.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/cmd/run" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_death.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_death.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_death.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_enchant.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_enchant.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_enchant.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_join.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_join.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_join.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_jump.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_jump.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_jump.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_lc.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_lc.json new file mode 100644 index 00000000..f72d209d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_lc.json @@ -0,0 +1,3 @@ +{ + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_load.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_load.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_load.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_open_gui.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_open_gui.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_open_gui.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_rc.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_rc.json new file mode 100644 index 00000000..f72d209d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_rc.json @@ -0,0 +1,3 @@ +{ + "values": [] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_respawn.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_respawn.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/events/on_respawn.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init.json new file mode 100644 index 00000000..281ca795 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine:events/on_load" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init/pre_load.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init/pre_load.json new file mode 100644 index 00000000..82523888 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/init/pre_load.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/command_block_minecart.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/command_block_minecart.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/command_block_minecart.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/dialog.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/dialog.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/dialog.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/writable_book.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/writable_book.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/input/writable_book.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/internal/dispatch.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/internal/dispatch.json new file mode 100644 index 00000000..4eb86cfb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/internal/dispatch.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/dispatch/run" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/loop.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/loop.json new file mode 100644 index 00000000..a4da387c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/function/loop.json @@ -0,0 +1,8 @@ +{ + "values": [ + "macroengine:input/writable_book", + "macroengine:input/command_block_minecart", + "macroengine:core/internal/api/cmd/freeze/tick", + "macroengine:input/private/cbm_align_tp" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/all.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/all.json new file mode 100644 index 00000000..154904f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/all.json @@ -0,0 +1,88 @@ +{ + "replace": false, + "values": [ + "#minecraft:acacia_logs", + "#minecraft:anvil", + "#minecraft:armadillo_food", + "#minecraft:arrows", + "#minecraft:axes", + "#minecraft:axolotl_food", + "#minecraft:bamboo_blocks", + "#minecraft:banners", + "#minecraft:bars", + "#minecraft:beacon_payment_items", + "#minecraft:beds", + "#minecraft:bee_food", + "#minecraft:birch_logs", + "#minecraft:boats", + "#minecraft:book_cloning_target", + "#minecraft:bookshelf_books", + "#minecraft:breaks_decorated_pots", + "#minecraft:bundles", + "#minecraft:buttons", + "#minecraft:camel_food", + "#minecraft:camel_husk_food", + "#minecraft:candles", + "#minecraft:cat_collar_dyes", + "#minecraft:cat_food", + "#minecraft:cauldron_can_remove_dye", + "#minecraft:chains", + "#minecraft:cherry_logs", + "#minecraft:chest_armor", + "#minecraft:chest_boats", + "#minecraft:chicken_food", + "#minecraft:coals", + "#minecraft:coal_ores", + "#minecraft:compasses", + "#minecraft:cluster_max_harvestables", + "#minecraft:dyes", + "#minecraft:fishes", + "#minecraft:flowers", + "#minecraft:fox_food", + "#minecraft:frog_food", + "#minecraft:goat_food", + "#minecraft:hoes", + "#minecraft:horse_food", + "#minecraft:jungle_logs", + "#minecraft:leaves", + "#minecraft:lectern_books", + "#minecraft:logs", + "#minecraft:logs_that_burn", + "#minecraft:mangrove_logs", + "#minecraft:non_flammable_wood", + "#minecraft:oak_logs", + "#minecraft:pickaxes", + "#minecraft:piglin_food", + "#minecraft:piglin_loved", + "#minecraft:piglin_repellents", + "#minecraft:planks", + "#minecraft:rails", + "#minecraft:saplings", + "#minecraft:shovels", + "#minecraft:signs", + "#minecraft:small_flowers", + "#minecraft:smelts_to_glass", + "#minecraft:soul_fire_base_blocks", + "#minecraft:spruce_logs", + "#minecraft:stone_crafting_materials", + "#minecraft:stone_tool_materials", + "#minecraft:swords", + "#macroengine:tools", + "#minecraft:trimmable_armor", + "#minecraft:trim_materials", + "#minecraft:wart_blocks", + "#minecraft:axes", + "#minecraft:wolf_food", + "#minecraft:wooden_doors", + "#minecraft:wooden_fences", + "#minecraft:wooden_slabs", + "#minecraft:wooden_stairs", + "#minecraft:wooden_trapdoors", + "#minecraft:wool", + "#minecraft:glazed_terracotta", + "#minecraft:concrete", + "#minecraft:concrete_powders", + "#minecraft:sulfur_cube_food", + "#minecraft:sulfur_cube_swallowable" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/command_blocks.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/command_blocks.json new file mode 100644 index 00000000..11ea9b4f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/command_blocks.json @@ -0,0 +1,9 @@ +{ + "replace": false, + "values": [ + "minecraft:command_block", + "minecraft:chain_command_block", + "minecraft:repeating_command_block", + "minecraft:command_block_minecart" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/dyes.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/dyes.json new file mode 100644 index 00000000..e3f7afa2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/dyes.json @@ -0,0 +1,21 @@ +{ + "replace": false, + "values": [ + "minecraft:white_dye", + "minecraft:orange_dye", + "minecraft:magenta_dye", + "minecraft:light_blue_dye", + "minecraft:yellow_dye", + "minecraft:lime_dye", + "minecraft:pink_dye", + "minecraft:gray_dye", + "minecraft:light_gray_dye", + "minecraft:cyan_dye", + "minecraft:purple_dye", + "minecraft:blue_dye", + "minecraft:brown_dye", + "minecraft:green_dye", + "minecraft:red_dye", + "minecraft:black_dye" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/tools.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/tools.json new file mode 100644 index 00000000..d4c18419 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine/tags/item/tools.json @@ -0,0 +1,16 @@ +{ + "replace": false, + "values": [ + "#minecraft:gold_tool_materials", + "#minecraft:iron_tool_materials", + "#minecraft:diamond_tool_materials", + "#minecraft:stone_tool_materials", + "#minecraft:copper_tool_materials", + "#minecraft:netherite_tool_materials", + "#minecraft:wooden_tool_materials", + "minecraft:mace", + "minecraft:trident", + "minecraft:totem_of_undying", + "#minecraft:dyes" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/core/internal/load/cleanup.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/core/internal/load/cleanup.mcfunction new file mode 100644 index 00000000..cb8ab5ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/core/internal/load/cleanup.mcfunction @@ -0,0 +1,140 @@ +schedule clear macroengine:core/lib/sync_tick + +forceload remove -30000000 1600 +forceload remove 0 0 + +scoreboard players reset @a macroengine_menu +scoreboard players reset @a macroengine_run + +scoreboard players reset $tick macroengine.tmp +scoreboard players reset $pq_depth macroengine.tmp +# $epoch intentionally preserved — cooldown expiry times depend on it + +data remove storage macroengine:engine queue +data remove storage macroengine:engine events +data remove storage macroengine:engine event_context +data remove storage macroengine:engine _event_tmp +data remove storage macroengine:engine cooldowns +data remove storage macroengine:engine throttle +data remove storage macroengine:engine players +data remove storage macroengine:engine flags +data remove storage macroengine:engine states +data remove storage macroengine:engine schedules +data remove storage macroengine:engine _input_stack +data remove storage macroengine:engine _repeat +data remove storage macroengine:engine _rng_state +data remove storage macroengine:engine _felist_input +data remove storage macroengine:engine _felist_state +data remove storage macroengine:engine _felist_current +data remove storage macroengine:engine _felist_i +data remove storage macroengine:engine log_display +scoreboard players reset #macroengine.log_count macroengine.tmp +data remove storage macroengine:engine trigger_binds +data remove storage macroengine:engine _tc_binds +data remove storage macroengine:engine _tc_current +data remove storage macroengine:engine _tc_unbind +data remove storage macroengine:engine _tc_uval +data remove storage macroengine:engine interaction_binds +data remove storage macroengine:engine _ia_iter +data remove storage macroengine:engine _ia_cur +data remove storage macroengine:engine _ia_ubinds +data remove storage macroengine:engine _ia_ufilter +data remove storage macroengine:engine _ia_ucur +data remove storage macroengine:engine teams +data remove storage macroengine:engine global +data remove storage macroengine:output result + +# rate_limit module cleanup +data remove storage macroengine:engine rate_limit + +scoreboard objectives remove macroengine.tmp +scoreboard objectives remove macroengine.time +scoreboard objectives remove macroengine_menu +scoreboard objectives remove macroengine_run +scoreboard objectives remove macroengine_action +scoreboard objectives remove macroengine.dialog_load +scoreboard objectives remove health +scoreboard objectives remove macroengine.pre_version + +scoreboard objectives remove macroengine.Flags +scoreboard objectives remove macroengine.hook_eat +scoreboard objectives remove macroengine.hook_fish +scoreboard objectives remove macroengine.state + +tag @a remove macroengine.dialog_opened +tag @a remove macroengine.dialog_closed +advancement revoke @a from macroengine:hidden/root + +scoreboard objectives remove macroengine.pid +scoreboard objectives remove macroengine.rightClick +data remove storage macroengine:engine wand_binds +data remove storage macroengine:engine _wand_iter +data remove storage macroengine:engine _wand_current +data remove storage macroengine:engine _wand_unbinds +data remove storage macroengine:engine _wand_filter_tag +data remove storage macroengine:engine _wand_cur +data remove storage macroengine:engine player_pids +data remove storage macroengine:engine _pid_seq + +# Hook module cleanup +scoreboard objectives remove macroengine.hook_online +scoreboard objectives remove macroengine.hook_deaths +scoreboard objectives remove macroengine.hook_placed +scoreboard objectives remove macroengine.hook_lvl +scoreboard objectives remove macroengine.hook_lvl_new +scoreboard objectives remove macroengine.hook_sneak +scoreboard objectives remove macroengine.hook_sprint +scoreboard objectives remove macroengine.hook_elytra +tag @a remove macroengine.hook_dead +tag @a remove macroengine.hook_sneaking +tag @a remove macroengine.hook_sprinting +tag @a remove macroengine.hook_gliding +scoreboard objectives remove macroengine.hook_tool_used +scoreboard objectives remove macroengine.hook_item_used +scoreboard objectives remove macroengine.hook_entity_killed +scoreboard objectives remove macroengine.hook_using_item +scoreboard objectives remove macroengine.hook_killed_by_arrow +scoreboard objectives remove macroengine.hook_hero_of_the_village +scoreboard objectives remove macroengine.hook_dim_changed +scoreboard objectives remove macroengine.hook_traded +scoreboard objectives remove macroengine.hook_jump +scoreboard objectives remove macroengine.hook_open_chest +scoreboard objectives remove macroengine.hook_drop +scoreboard objectives remove macroengine.hook_target_hit +data remove storage macroengine:engine hook_binds +data remove storage macroengine:engine _hook_iter +data remove storage macroengine:engine _hook_ctx +data remove storage macroengine:engine _hook_fire_event +data remove storage macroengine:engine _hook_fire_tmp +data remove storage macroengine:engine _hook_unbinds +data remove storage macroengine:engine _hook_filter_event + +# Fiber module cleanup +data remove storage macroengine:engine fibers + +# Region watch cleanup +data remove storage macroengine:engine region_watches + +# Batch module cleanup +data remove storage macroengine:engine batches + +# Once-per-player cleanup +data remove storage macroengine:engine once_per_player + +# UUID cache cleanup +data remove storage macroengine:engine _uuid_cache + +# pid init temp cleanup +data remove storage macroengine:engine _pid_init_tmp + +# Color API cleanup +# palette and gradients are intentionally preserved (pack-owned data). +# _names is rebuilt each load by systems/color/init. +# fork_warn flags are transient — cleared on clean unload. +data remove storage macroengine:engine color._names +data remove storage macroengine:engine fork_warn +data remove storage macroengine:engine fork_warn_tick + +# BUGFIX v6.0.1: macroengine.meta scoreboard (used by _rt_origin watermark check) +# was never removed on disable/cleanup, causing scoreboard pollution across reloads. +scoreboard objectives remove macroengine.meta diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/collision.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/collision.mcfunction new file mode 100644 index 00000000..c1b6ac94 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/collision.mcfunction @@ -0,0 +1,9 @@ +# macroengine_load:gate/collision +# A gate request came in while another was already pending. The original +# request keeps priority; this collision is logged instead of silently +# dropped. + +data modify storage macroengine:engine _log_add_tmp.message set value "[Gate] Collision: a gate request was dropped because one was already pending" +data modify storage macroengine:engine _log_add_tmp.level set value "WARN" +data modify storage macroengine:engine _log_add_tmp.color set value "yellow" +execute if score #macroengine.log_level macroengine.log_level matches 1.. run function macroengine:systems/log/add with storage macroengine:engine _log_add_tmp diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/no.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/no.mcfunction new file mode 100644 index 00000000..a6e0dcac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/no.mcfunction @@ -0,0 +1,13 @@ +# macroengine_load:gate/no +# Cancels the pending gated action without running it. +# Only players with macroengine.admin may call this directly (same trust +# boundary as gate/yes). + +execute unless entity @s[tag=macroengine.admin] run return 0 +execute unless data storage macroengine:engine pending_gate run return 0 + +schedule clear macroengine_load:gate/timeout + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Cancelled: ","color":"gray"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"}] + +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/request.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/request.mcfunction new file mode 100644 index 00000000..80518207 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/request.mcfunction @@ -0,0 +1,32 @@ +# macroengine_load:gate/request +# Starts a confirm/cancel gated action. Any dangerous action (ban, kick, +# disable, sandbox toggle-off, ...) should route through here instead of +# executing immediately. +# +# INPUT (macro — all four required; pass args:{} for no-arg actions): +# $(type) -> gate type, e.g. "disable", "ban", "kick", "gate_bypass" +# $(label) -> human-readable text shown in the confirm prompt +# $(action) -> function to run on confirm, e.g. "macroengine:core/disable/main" +# $(args) -> compound of macro args passed to $(action) via +# run_action_with_args, e.g. {player:"Steve",reason:"x"}. +# Pass {} for actions that take no arguments. +# +# A single global pending_gate slot is used. If a second request comes in +# while one is already pending, the new request is dropped and the +# collision is logged — the original request keeps priority. +# +# KNOWN LIMITATION (not fixed here, pre-existing): +# Callers write to storage before gate/request's own #pending check runs, +# so a second caller can still race the check under concurrent execution. +# This affects all gate types, not just this one. + +execute if data storage macroengine:engine pending_gate run return run function macroengine_load:gate/collision + +$data modify storage macroengine:engine pending_gate.type set value "$(type)" +$data modify storage macroengine:engine pending_gate.label set value "$(label)" +$data modify storage macroengine:engine pending_gate.action set value "$(action)" +$data modify storage macroengine:engine pending_gate.args set value $(args) + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Confirmation required: ","color":"yellow"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"}," ",{"text":"[Confirm]","color":"green","bold":true,"click_event":{"action":"run_command","command":"/function macroengine_load:gate/yes"}}," ",{"text":"[Cancel]","color":"red","bold":true,"click_event":{"action":"run_command","command":"/function macroengine_load:gate/no"}}," ",{"text":"(30s)","color":"gray"}] + +schedule function macroengine_load:gate/timeout 30s diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/timeout.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/timeout.mcfunction new file mode 100644 index 00000000..03b1d963 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/timeout.mcfunction @@ -0,0 +1,10 @@ +# macroengine_load:gate/timeout +# Scheduled 30s after gate/request. If the gate is still pending (nobody +# confirmed or cancelled it), auto-cancel it. If gate/yes or gate/no +# already resolved it, this call is a no-op (the schedule was cleared). + +execute unless data storage macroengine:engine pending_gate run return 0 + +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Timed out: ","color":"gray"},{"nbt":"pending_gate.label","storage":"macroengine:engine","color":"white"},{"text":" (30s, no response)","color":"gray"}] + +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/disable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/disable.mcfunction new file mode 100644 index 00000000..6a5f72fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/disable.mcfunction @@ -0,0 +1,10 @@ +# macroengine_load:gate/toggle/disable +# Disables the gate system (macroengine:engine sandbox -> 0b), which means +# dangerous commands stop requiring confirmation. Disabling the gates +# is itself gated — same confirm/cancel/30s flow as ban/kick/disable — +# since turning off the safety net is a dangerous action in its own right. +# Re-enabling (gate/toggle/enable) needs no confirmation. + +execute unless entity @s[tag=macroengine.admin] run return 0 + +function macroengine_load:gate/request {type:"gate_bypass",label:"Disable gate confirmations (dangerous commands will run immediately)",action:"macroengine:core/internal/gate/toggle/disable_apply",args:{}} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/enable.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/enable.mcfunction new file mode 100644 index 00000000..d231553e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/toggle/enable.mcfunction @@ -0,0 +1,9 @@ +# macroengine_load:gate/toggle/enable +# Re-enables the gate system (macroengine:engine sandbox -> 1b). No +# confirmation needed — turning the safety net back on is always safe. + +execute unless entity @s[tag=macroengine.admin] run return 0 + +data modify storage macroengine:engine sandbox set value 1b +data modify storage macroengine:engine config.sandbox set value 1b +tellraw @a[tag=macroengine.admin] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Gate confirmations re-enabled.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/yes.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/yes.mcfunction new file mode 100644 index 00000000..19b722e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/gate/yes.mcfunction @@ -0,0 +1,14 @@ +# macroengine_load:gate/yes +# Confirms the pending gated action and runs it. +# Only players with macroengine.admin may call this directly — vanilla target +# selectors cannot query real op/permission level, so the tag is the trust +# boundary here (same one load/other.mcfunction already uses for +# macroengine_menu/macroengine_run/macroengine_action). + +execute unless entity @s[tag=macroengine.admin] run return 0 +execute unless data storage macroengine:engine pending_gate run return 0 + +schedule clear macroengine_load:gate/timeout + +function macroengine:core/internal/gate/run_action with storage macroengine:engine pending_gate +data remove storage macroengine:engine pending_gate diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/init.mcfunction new file mode 100644 index 00000000..bfd47e43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/init.mcfunction @@ -0,0 +1 @@ +data modify storage runtoolkit:tmp seed set value [{name:"macroengine",load_fn:"macroengine_load:main",tick_fn:"macroengine.main:macroengine/tick",disable_fn:"macroengine:disable",version_score:"#runtoolkit.packs.macroengine.version"}] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/all.mcfunction new file mode 100644 index 00000000..8de623b3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/all.mcfunction @@ -0,0 +1,21 @@ +# macroengine_load:load/all — full init pipeline (no fork / rt_origin / confirm gates) + +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Starting macroEngine...","color":"gray"}] + +# forceload classic marker chunk (legacy features) +forceload add -30000000 1600 + +function macroengine_load:loader/scoreboards +function macroengine_load:loader/storages +function macroengine_load:loader/other + +# Re-apply config after storages (storages may reset defaults) +function macroengine:config + +# Load version-specific backports (new → old compatibility layer) +# Overlays override macroengine:backport/* with legacy implementations +function macroengine:backport/load + +data modify storage macroengine:engine global.loaded set value 1b + +schedule function macroengine_load:load/final 2s diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/final.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/final.mcfunction new file mode 100644 index 00000000..eb6c4222 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/final.mcfunction @@ -0,0 +1,5 @@ +data modify storage macroengine:engine global.version set value "v6.0.2" +function #load:_private/load +scoreboard players set #runtoolkit.packs.macroengine.version macroengine.meta 602 + +tellraw @a ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"macroEngine v6.0.2 loaded.","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/force.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/force.mcfunction new file mode 100644 index 00000000..2615aa65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/force.mcfunction @@ -0,0 +1,11 @@ +# macroengine_load:load/force +# Gated force reload: if the gate system is active (macroengine:engine +# sandbox:1b, the default), route through confirmation — force reload +# discards live engine state (global.loaded and everything load/all's +# "unless data" guards would otherwise preserve), so it is a dangerous +# action in the same class as ban/kick/disable. If gates were turned +# off via gate/toggle/disable, apply directly like before. + +execute if data storage macroengine:engine {sandbox:1b} run return run function macroengine_load:gate/request {type:"load_force",label:"Force reload macroengine (discards live engine state)",action:"macroengine:core/internal/load/force_apply",args:{}} + +function macroengine:core/internal/load/force_apply diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/post_load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/post_load.mcfunction new file mode 100644 index 00000000..97b7aa3b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/load/post_load.mcfunction @@ -0,0 +1,5 @@ +# Stage 4 — post_load: schedule #macroengine:init after DL finishes loading +# macroengine_load:load/all is scheduled at t+16 (from Stage 0 in macroengine_load:main). +# Firing #macroengine:init at t+20 gives 4 ticks of margin after macroengine is fully ready. +tellraw @a[tag=macroengine.debug] ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Scheduling #macroengine:init (t+20)...","color":"gray"}] +schedule function #macroengine:init 20t replace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/other.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/other.mcfunction new file mode 100644 index 00000000..81c65f09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/other.mcfunction @@ -0,0 +1,20 @@ +forceload add 0 0 + +data modify storage macroengine:input func set value "macroengine:core/lib/sync_tick" +data modify storage macroengine:input interval set value 20 +data modify storage macroengine:input key set value "sync_tick" +function macroengine:core/lib/schedule with storage macroengine:input {} +data remove storage macroengine:input func +data remove storage macroengine:input interval +data remove storage macroengine:input key + +scoreboard players enable @a[tag=macroengine.admin] macroengine_menu +scoreboard players enable @a[tag=macroengine.admin] macroengine_run +scoreboard players enable @a[tag=macroengine.admin] macroengine_action + +# Initialize tick channel config on first world load +function macroengine:core/tick/init_channels + +# Assign pid for any players already online at load time +# (on_player_join won't fire for them after a /reload) +execute as @a run function macroengine:core/internal/player/init_online diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/scoreboards.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/scoreboards.mcfunction new file mode 100644 index 00000000..0c5a254a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/scoreboards.mcfunction @@ -0,0 +1,80 @@ +# macroengine_load:loader/scoreboards +# (moved from macroengine_load:load/scoreboards in v6.0.2 — load/ vs loader/ +# separates gate/confirmation logic from the actual init routines) + +scoreboard objectives add macroengine.tmp dummy +scoreboard objectives add macroengine.meta dummy +scoreboard objectives add macroengine.time dummy +scoreboard objectives add macroengine_menu trigger +scoreboard objectives add macroengine_run trigger +scoreboard objectives add macroengine_action trigger +scoreboard objectives add macroengine.dialog_load dummy +scoreboard objectives add macroengine.pre_version dummy +scoreboard objectives add macroengine.pid dummy +scoreboard objectives add macroengine.freeze_id dummy +scoreboard objectives add macroengine.onlinePlayers dummy + +# Wand module — carrot_on_a_stick right-click tracker +scoreboard objectives add macroengine.rightClick minecraft.used:minecraft.carrot_on_a_stick + +# Hook module scoreboards +scoreboard objectives add macroengine.hook_online dummy +# BUGFIX: existing players should not re-trigger as new joins after reload +scoreboard players set @a macroengine.hook_online 1 +scoreboard objectives add macroengine.hook_deaths deathCount +# NOTE: placed_blocks is not a general statistic — must be used as dummy +scoreboard objectives add macroengine.hook_placed dummy +scoreboard objectives add macroengine.hook_lvl dummy +scoreboard objectives add macroengine.hook_lvl_new dummy +# New hook scoreboards +scoreboard objectives add macroengine.hook_sneak dummy +scoreboard objectives add macroengine.hook_sprint dummy +scoreboard objectives add macroengine.hook_elytra dummy +# block_break — item_durability_changed advancement-based +scoreboard objectives add macroengine.hook_tool_used dummy +# item_use, entity_kill advancement-based +scoreboard objectives add macroengine.hook_item_used dummy +scoreboard objectives add macroengine.hook_entity_killed dummy +# using_item, killed_by_arrow, hero_of_the_village +scoreboard objectives add macroengine.hook_using_item dummy +scoreboard objectives add macroengine.hook_killed_by_arrow dummy +scoreboard objectives add macroengine.hook_hero_of_the_village dummy + +# geo/region_watch — no scoreboard needed for enter/leave tracking (uses entity tags) + +# hook/dimension_change — changed_dimension advancement-based +scoreboard objectives add macroengine.hook_dim_changed dummy + +# hook/trade — villager_trade advancement-based +scoreboard objectives add macroengine.hook_traded dummy + +# Tick channel dispatch +scoreboard objectives add macroengine.tick dummy +scoreboard objectives add macroengine.Flags dummy + +# Player stat hooks +scoreboard objectives add macroengine.hook_jump minecraft.custom:minecraft.jump +scoreboard objectives add macroengine.hook_open_chest minecraft.custom:minecraft.open_chest +scoreboard objectives add macroengine.hook_drop minecraft.custom:minecraft.drop +scoreboard objectives add macroengine.hook_target_hit minecraft.custom:minecraft.target_hit + +# hook/eat — consume_item advancement-based +scoreboard objectives add macroengine.hook_eat dummy +# hook/fish_caught — fishing_rod_hooked advancement-based +scoreboard objectives add macroengine.hook_fish dummy + +# input/validate module — scratch scores, all on the existing macroengine.tmp +# objective rather than a new one (macroengine.Len, macroengine.DotHits, etc. all live here) + +# Log level system: 0=off 1=error 2=warn 3=info 4=debug +scoreboard objectives add macroengine.log_level dummy +execute unless score #macroengine.log_level macroengine.log_level matches 0.. run scoreboard players set #macroengine.log_level macroengine.log_level 3 + +# Config scoreboard — fast integer config values (no storage lookup needed) +scoreboard objectives add macroengine.config dummy + +# Gamerule module — scratch scoreboard for numeric range checks +scoreboard objectives add macroengine.gamerule dummy + +# State scoreboard — per-player state machine (0=idle 1=combat 2=menu ...) +scoreboard objectives add macroengine.state dummy diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/storages.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/storages.mcfunction new file mode 100644 index 00000000..f5a5d43c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/loader/storages.mcfunction @@ -0,0 +1,201 @@ +# macroengine_load:loader/storages +# Initializes macroengine:engine storage fields that do not yet exist. +# (moved from macroengine_load:load/storages in v6.0.2 — load/ vs loader/ +# separates gate/confirmation logic from the actual init routines) +# +# SAFETY DESIGN +# ------------- +# EVERY write here uses 'execute unless data storage ...' guards. +# This means: +# - Fields that already exist from a prior session are NOT overwritten. +# - Only fields missing from storage are initialized. +# - Nondeterministic overwrite behaviour is impossible in this file. +# +# Fields that are INTENTIONALLY cleared on each reload are listed with +# explicit comments explaining why. +# +# SCOREBOARD SAFETY +# ----------------- +# Epoch is preserved across reloads — cooldown expiry times depend on it. +# Tick counter is reset (irrelevant across reloads — just a monotonic counter). +# pq_depth is reset (queue state cannot survive reload safely). +# +# STORAGE VERSION GUARD +# --------------------- +# validate.mcfunction blocks a second load if global{loaded:1b} is set, +# so we only reach here when storage is either: +# (a) fresh / never initialized, or +# (b) was cleanly disabled via macroengine:disable (cleanup removed global). +# In both cases, initializing with 'unless data' guards is safe. + +execute unless score $epoch macroengine.time matches -2147483648..2147483647 run scoreboard players set $epoch macroengine.time 0 +scoreboard players set $tick macroengine.tmp 0 + +scoreboard players set $pq_depth macroengine.tmp 0 + +scoreboard players set $pb_four macroengine.tmp 1 + +execute unless data storage macroengine:engine throttle run data modify storage macroengine:engine throttle set value {} + +execute unless data storage macroengine:engine flags run data modify storage macroengine:engine flags set value {} +execute unless data storage macroengine:engine states run data modify storage macroengine:engine states set value {} + +execute unless data storage macroengine:engine permissions run data modify storage macroengine:engine permissions set value {} + +execute unless data storage macroengine:engine perm_triggers run data modify storage macroengine:engine perm_triggers set value {} +execute unless data storage macroengine:engine perm_trigger_names run data modify storage macroengine:engine perm_trigger_names set value [] + +execute unless data storage macroengine:engine trigger_binds run data modify storage macroengine:engine trigger_binds set value [] + +execute unless data storage macroengine:engine interaction_binds run data modify storage macroengine:engine interaction_binds set value {attack:[], use:[]} + +execute unless data storage macroengine:engine player_pids run data modify storage macroengine:engine player_pids set value {} +execute unless data storage macroengine:engine _pid_seq run data modify storage macroengine:engine _pid_seq set value 0 + +# UUID module init +function macroengine:core/internal/systems/uuid/init + +# once_per_player module init +execute unless data storage macroengine:engine once_per_player run data modify storage macroengine:engine once_per_player set value {} + +# Wand module init +execute unless data storage macroengine:engine wand_binds run data modify storage macroengine:engine wand_binds set value [] + +# Hook module init +execute unless data storage macroengine:engine hook_binds run data modify storage macroengine:engine hook_binds set value [] + +# lib/fiber module init +# BUGFIX: same issue as the queue note below — fibers was only ever +# cleared in cleanup.mcfunction (disable-only path, never /reload). +# A fiber record left over from before a reload would be orphaned now +# that queue is cleared below (nothing will ever resume it again), but +# clearing it explicitly here keeps the storage clean and matches what +# cleanup.mcfunction already does for the disable path. +data remove storage macroengine:engine fibers +data modify storage macroengine:engine fibers set value {} +# NOTE: fibers._pending no longer exists as of the resume_dispatch +# concurrency fix — resume targets now travel inside each queue entry +# (id/resume fields) instead of a separate shared FIFO list. + +# core/lib/process_queue module init +# BUGFIX: the header comment above ("pq_depth is reset — queue state +# cannot survive reload safely") describes intent that was never +# actually implemented. queue is only ever cleared in +# core/internal/load/cleanup.mcfunction, which is exclusively called +# from macroengine:disable — never from the /reload path (load/all.mcfunction +# does not call it). A queue entry left over from before a reload (e.g. +# a fiber resume, a delayed function/command) would silently keep +# running against whatever state exists after the reload, including +# referencing fiber ids or functions that no longer exist. Clearing it +# here actually fulfills what the comment above already claimed was +# happening. +data remove storage macroengine:engine queue + +# geo/region_watch module init +# Region watches are always cleared on reload — all packs must re-register +# their watches in the #macroengine:init function tag. This is intentional: +# region watch registrations are transient and pack-owned. +data remove storage macroengine:engine region_watches +data modify storage macroengine:engine region_watches set value [] + +# lib/batch module init +# Incomplete batches are always cleared on reload — they cannot be safely +# resumed across a reload boundary (executing context is gone). +data remove storage macroengine:engine batches +data modify storage macroengine:engine batches set value {} + +# Wand cooldown module — separate storage (avoids collision with macroengine:cooldown) +execute unless data storage macroengine:engine wand_cooldowns run data modify storage macroengine:engine wand_cooldowns set value {} + +# ───────────────────────────────────────────────────────────────── +# Security module init (v6.0.2+) +# BREAKING CHANGE: trust_players defaults to 0b — players must have +# macroengine.perm_level explicitly set. macroengine.admin tag alone gives no access. +# +# Fields (all preserved across reloads via 'unless data' guards): +# trust_players 0b = players not trusted (default, breaking) +# cmd_min_level min macroengine.perm_level to trigger $$(cmd) [3] +# sandbox_cmd_min_level stricter $$(cmd) floor when sandbox:1b [4] +# admin_min_level min level for cmd/ functions (check_all) [2] +# admin_can_override 0b = admins cannot bypass security rules +# sandbox_allowlist list of allowed command prefixes in sandbox [] +# auto_debug_tag 1b = macroengine.admin tag auto-grants macroengine.debug +# every tick (default, legacy behavior). 0b = +# admins must be given macroengine.debug explicitly +# via /function macroengine:debug/tools/admin/debug_tag/* +# (v6.0.2, 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 macroengine:debug/tools/log/enable (or disable). +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine security run data modify storage macroengine: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.2+ additions +# BREAKING CHANGE: sandbox_allowlist is now a compound {} (was list []). +# Empty compound {} = all sandbox commands blocked. +# multi_type_allowlist: compound of permitted multiCommands.type values. +# multiCommands: tracks active multi-command execution context. +# ───────────────────────────────────────────────────────────────── +# Reset security to new compound format (migration: [] → {}) +execute if data storage macroengine:engine security.sandbox_allowlist[] run data modify storage macroengine:engine security.sandbox_allowlist set value {} +execute unless data storage macroengine:engine security run data modify storage macroengine: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 macroengine:engine security.sandbox_allowlist run data modify storage macroengine:engine security.sandbox_allowlist set value {} +execute unless data storage macroengine:engine security.multi_type_allowlist run data modify storage macroengine:engine security.multi_type_allowlist set value {multi_cmd:1b,multi_cmd_adv:1b} +# Migration: packs upgraded from pre-v6.0.2 will have a security +# compound already present without auto_debug_tag — backfill it so the +# '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 macroengine:engine security.auto_debug_tag run data modify storage macroengine: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 macroengine:engine security.debug_log run data modify storage macroengine: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 macroengine:engine debug_log_pos set value {x:X,y:Y,z:Z} +# then /function macroengine:systems/log/testblock/place to (re)place the block +# at the new coordinate. +execute unless data storage macroengine:engine debug_log_pos run data modify storage macroengine:engine debug_log_pos set value {x:-4,y:-58,z:-4} + +# multiCommands context tracker (always reset on load — transient state) +data remove storage macroengine:engine multiCommands +data modify storage macroengine:engine multiCommands set value {type:"",active:0b} + +# ───────────────────────────────────────────────────────────────── +# Module toggle init (macroengine:api/toggle) +# Each module defaults to enabled (1b) on first load. +# Preserved across reloads via 'unless data' guards — admin toggles survive /reload. +# Disable a module: /function macroengine:api/toggle//false +# Enable a module: /function macroengine:api/toggle//true +# List module states: /function macroengine:api/toggle/list +# ───────────────────────────────────────────────────────────────── +execute unless data storage macroengine:engine modules.hook run data modify storage macroengine:engine modules.hook set value 1b +execute unless data storage macroengine:engine modules.interaction run data modify storage macroengine:engine modules.interaction set value 1b +execute unless data storage macroengine:engine modules.perm run data modify storage macroengine:engine modules.perm set value 1b +execute unless data storage macroengine:engine modules.wand run data modify storage macroengine:engine modules.wand set value 1b +execute unless data storage macroengine:engine modules.geo run data modify storage macroengine:engine modules.geo set value 1b + +# ───────────────────────────────────────────────────────────────── +# cb module init +# cb_queue is always cleared on reload — in-flight delayed commands +# cannot be safely resumed across a reload boundary. +# ───────────────────────────────────────────────────────────────── +data remove storage macroengine:engine cb_queue +data modify storage macroengine:engine cb_queue set value [] +data remove storage macroengine:engine _cb_last +data remove storage macroengine:engine _cb_work +data remove storage macroengine:engine _cb_entry +execute unless data storage macroengine:engine modules.cb run data modify storage macroengine:engine modules.cb set value 1b + +# ───────────────────────────────────────────────────────────────── +# Color API init +# Populates named color lookup table and initializes color namespace. +# palette and gradients are preserved across reloads (unless data guards). +# ───────────────────────────────────────────────────────────────── +function macroengine:systems/color/init diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/main.mcfunction new file mode 100644 index 00000000..bf9c69cf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_load/function/main.mcfunction @@ -0,0 +1,18 @@ +# macroengine_load:main — load entry +# Initial load runs unblocked (no confirmation gate — must not stall server +# startup). Reload data-loss is only a soft warning here; the actual +# force-reload path (macroengine_load:load/force) is gated when sandbox:1b — +# clicking the link below opens a confirm/cancel prompt instead of +# force-reiniting immediately. See macroengine_load:gate/request. + +function macroengine:config + +# Archive banner (score-controlled) +execute if score #runtoolkit.archivedpacks.macroengine macroengine.meta matches 1 run tellraw @s {"text":"[macroengine] This pack is marked archived (#runtoolkit.archivedpacks.macroengine=1).","color":"red"} + +# Already loaded → data-loss prevention notice (NOT a hard gate; does not block) +execute if data storage macroengine:engine global{loaded:1b} if data storage macroengine:engine config{reload_warn:1b} run tellraw @s ["",{"text":"[MACROENGINE] ","color":"#00AAAA","bold":true},{"text":"Reload: engine already loaded. Live storage kept. To force full re-init (requires confirmation): ","color":"yellow"},{"text":"/function macroengine_load:load/force","color":"aqua","underlined":true,"click_event":{"action":"run_command","command":"/function macroengine_load:load/force"}}] + +execute if data storage macroengine:engine global{loaded:1b} run return 0 + +schedule function macroengine_load:load/all 2s diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/attack_click_entity.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/attack_click_entity.json new file mode 100644 index 00000000..aeb1827d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/attack_click_entity.json @@ -0,0 +1,21 @@ +{ + "criteria": { + "attack_click_entity": { + "trigger": "minecraft:player_hurt_entity", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"player_action.click_entity\"]}" + }, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/attack_click_entity" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_anvil.json new file mode 100644 index 00000000..997203ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_anvil.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_anvil": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:anvil" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_anvil" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_barrel.json new file mode 100644 index 00000000..16c9ebbe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_barrel.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_barrel": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:barrel" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_barrel" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_beacon.json new file mode 100644 index 00000000..954d4f15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_beacon.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_beacon": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:beacon" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_beacon" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_blast_furnace.json new file mode 100644 index 00000000..43126cee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_blast_furnace.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_blast_furnace": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:blast_furnace" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_blast_furnace" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_brewingstand.json new file mode 100644 index 00000000..f64b4c71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_brewingstand.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_brewingstand": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:brewing_stand" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_brewingstand" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cake.json new file mode 100644 index 00000000..536993ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cake.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_cake": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:cake" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cake" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_campfire.json new file mode 100644 index 00000000..2346689d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_campfire.json @@ -0,0 +1,25 @@ +{ + "criteria": { + "interact_campfire": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:campfire", + "minecraft:soul_campfire" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_campfire" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cartopgraphy_table.json new file mode 100644 index 00000000..2ea67bef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cartopgraphy_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_cartopgraphy_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:cartography_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cartopgraphy_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cauldron.json new file mode 100644 index 00000000..f985268e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_cauldron.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_cauldron": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": "#minecraft:cauldrons" + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_cauldron" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_chest.json new file mode 100644 index 00000000..7b10b17d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_chest.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_chest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:chest" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_chest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_click_entity.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_click_entity.json new file mode 100644 index 00000000..a015d97f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_click_entity.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_click_entity": { + "trigger": "minecraft:player_interacted_with_entity", + "conditions": { + "entity": [ + { + "entity": "this", + "predicate": { + "nbt": "{Tags:[\"player_action.click_entity\"]}", + "entity_type": "minecraft:interaction" + }, + "condition": "minecraft:entity_properties" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_click_entity" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_crafting_table.json new file mode 100644 index 00000000..e668c680 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_crafting_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_crafting_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:crafting_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_crafting_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dispenser.json new file mode 100644 index 00000000..9544b0fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dispenser.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_dispenser": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:dispenser" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_dispenser" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dropper.json new file mode 100644 index 00000000..7da40c86 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_dropper.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_dropper": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:dropper" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_dropper" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_enderchest.json new file mode 100644 index 00000000..a33bf5c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_enderchest.json @@ -0,0 +1,22 @@ +{ + "criteria": { + "interact_enderchest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": "minecraft:ender_chest" + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_enderchest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_flower_pot.json new file mode 100644 index 00000000..120ac746 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_flower_pot.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_flower_pot": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:flower_pot" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_flower_pot" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_furnace.json new file mode 100644 index 00000000..b1cabb1d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_furnace.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_furnace": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:furnace" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_furnace" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_grindstone.json new file mode 100644 index 00000000..629f0145 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_grindstone.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_grindstone": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:grindstone" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_grindstone" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_hopper.json new file mode 100644 index 00000000..6d1a4ead --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_hopper.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_hopper": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:hopper" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_hopper" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_jukebox.json new file mode 100644 index 00000000..1794a116 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_jukebox.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_jukebox": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:jukebox" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_jukebox" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_lectern.json new file mode 100644 index 00000000..34a326fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_lectern.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_lectern": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:lectern" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_lectern" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_loom.json new file mode 100644 index 00000000..08196b2a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_loom.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_loom": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:loom" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_loom" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_noteblock.json new file mode 100644 index 00000000..c02e9fda --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_noteblock.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_noteblock": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:note_block" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_noteblock" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_shulker_box.json new file mode 100644 index 00000000..c96efe73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_shulker_box.json @@ -0,0 +1,40 @@ +{ + "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": "macroengine_player:core/internal/v1/interact_shulker_box" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smithing_table.json new file mode 100644 index 00000000..ac28f6f6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smithing_table.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_smithing_table": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:smithing_table" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_smithing_table" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smoker.json new file mode 100644 index 00000000..0a046180 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_smoker.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_smoker": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:smoker" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_smoker" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_stonecutter.json new file mode 100644 index 00000000..1df76ff0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_stonecutter.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_stonecutter": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:stonecutter" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_stonecutter" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_trapped_chest.json new file mode 100644 index 00000000..a24a6279 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_trapped_chest.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_trapped_chest": { + "trigger": "minecraft:default_block_use", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:trapped_chest" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_trapped_chest" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_vault.json new file mode 100644 index 00000000..6e6bc92d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/advancement/v1/interact_vault.json @@ -0,0 +1,24 @@ +{ + "criteria": { + "interact_vault": { + "trigger": "minecraft:item_used_on_block", + "conditions": { + "location": [ + { + "predicate": { + "block": { + "blocks": [ + "minecraft:vault" + ] + } + }, + "condition": "minecraft:location_check" + } + ] + } + } + }, + "rewards": { + "function": "macroengine_player:core/internal/v1/interact_vault" + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/attack_click_entity.mcfunction new file mode 100644 index 00000000..894a11a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/attack_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if entity @s[tag=player_action.click_detection] run function #macroengine_player:v1/internal/attack_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_anvil.mcfunction new file mode 100644 index 00000000..e0342027 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_anvil.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_barrel.mcfunction new file mode 100644 index 00000000..0cfee42d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_barrel.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_beacon.mcfunction new file mode 100644 index 00000000..c35cbd82 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_beacon.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..0089c20b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_blast_furnace.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_brewingstand.mcfunction new file mode 100644 index 00000000..dd0c0fca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_brewingstand.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cake.mcfunction new file mode 100644 index 00000000..2996bd65 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cake.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_campfire.mcfunction new file mode 100644 index 00000000..07fb7b5d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_campfire.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_campfire diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cartopgraphy_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cartopgraphy_table.mcfunction new file mode 100644 index 00000000..8ca7ee35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cartopgraphy_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cauldron.mcfunction new file mode 100644 index 00000000..354a3b99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_cauldron.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_chest.mcfunction new file mode 100644 index 00000000..0760d65b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_chest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_click_entity.mcfunction new file mode 100644 index 00000000..707acf29 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if entity @s[tag=player_action.click_detection] run function #macroengine_player:v1/internal/interact_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_crafting_table.mcfunction new file mode 100644 index 00000000..e0f51e43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_crafting_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dispenser.mcfunction new file mode 100644 index 00000000..54dd1f07 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dispenser.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dropper.mcfunction new file mode 100644 index 00000000..2b601f0b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_dropper.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_enderchest.mcfunction new file mode 100644 index 00000000..d9ccaa49 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_enderchest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_flower_pot.mcfunction new file mode 100644 index 00000000..d265b808 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_flower_pot.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_furnace.mcfunction new file mode 100644 index 00000000..80956036 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_furnace.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_grindstone.mcfunction new file mode 100644 index 00000000..b71acb55 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_grindstone.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_hopper.mcfunction new file mode 100644 index 00000000..7a58f91a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_hopper.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_jukebox.mcfunction new file mode 100644 index 00000000..f29a9e35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_jukebox.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_lectern.mcfunction new file mode 100644 index 00000000..9ad47f93 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_lectern.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_loom.mcfunction new file mode 100644 index 00000000..a3900bcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_loom.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_noteblock.mcfunction new file mode 100644 index 00000000..b40dc926 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_noteblock.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_shulker_box.mcfunction new file mode 100644 index 00000000..bf8ca6c3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_shulker_box.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smithing_table.mcfunction new file mode 100644 index 00000000..898f985f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smithing_table.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smoker.mcfunction new file mode 100644 index 00000000..5ce8f524 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_smoker.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_stonecutter.mcfunction new file mode 100644 index 00000000..e0b78785 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_stonecutter.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..ef9971c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_trapped_chest.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_vault.mcfunction new file mode 100644 index 00000000..bdf960b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/core/internal/v1/interact_vault.mcfunction @@ -0,0 +1,2 @@ + +function #macroengine_player:v1/internal/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/enumerate.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/enumerate.mcfunction new file mode 100644 index 00000000..41194d4e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/enumerate.mcfunction @@ -0,0 +1,7 @@ + +scoreboard players add #player_action.major load.status 0 +scoreboard players add #player_action.minor load.status 0 + +execute if score #player_action.major load.status matches ..0 run scoreboard players set #player_action.minor load.status 7 +execute if score #player_action.major load.status matches ..0 run scoreboard players set #player_action.major load.status 1 +execute if score #player_action.major load.status matches 1 if score #player_action.minor load.status matches ..7 run scoreboard players set #player_action.minor load.status 7 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/init.mcfunction new file mode 100644 index 00000000..481922a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/init.mcfunction @@ -0,0 +1,31 @@ + +schedule function macroengine_player:v1.7/tick 5t +schedule function macroengine_player:v1.7/player/click_detection/tick_entities 100t +data merge storage macroengine_player:temp {list:[], obj:{}, var:""} + +# dummy +scoreboard objectives add player_action.data dummy + +scoreboard objectives add player_action.uuid.0 dummy +scoreboard objectives add player_action.uuid.1 dummy +scoreboard objectives add player_action.uuid.2 dummy +scoreboard objectives add player_action.uuid.3 dummy + +scoreboard objectives add player_action.x dummy +scoreboard objectives add player_action.y dummy +scoreboard objectives add player_action.z dummy + +# movement +scoreboard objectives add player_action.aviate minecraft.custom:minecraft.aviate_one_cm +scoreboard objectives add player_action.climb minecraft.custom:minecraft.climb_one_cm +scoreboard objectives add player_action.fall minecraft.custom:minecraft.fall_one_cm +scoreboard objectives add player_action.fly minecraft.custom:minecraft.fly_one_cm +scoreboard objectives add player_action.walk minecraft.custom:minecraft.walk_one_cm +scoreboard objectives add player_action.jump minecraft.custom:minecraft.jump + +# other interactions +scoreboard objectives add player_action.death minecraft.custom:minecraft.deaths +scoreboard objectives add player_action.join minecraft.custom:minecraft.leave_game +scoreboard objectives add player_action.enchant minecraft.custom:minecraft.enchant_item +scoreboard objectives add player_action.use_coas minecraft.used:minecraft.carrot_on_a_stick +scoreboard objectives add player_action.use_wfoas minecraft.used:minecraft.warped_fungus_on_a_stick diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/attack_click_entity.mcfunction new file mode 100644 index 00000000..abc3bb6c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/attack_click_entity.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/attack_click_entity +function #macroengine_player:v1/left_click diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/end.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/end.mcfunction new file mode 100644 index 00000000..b63112ac --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/end.mcfunction @@ -0,0 +1,13 @@ + +# copy uuid +scoreboard players operation #uuid.0 player_action.data = @s player_action.uuid.0 +scoreboard players operation #uuid.1 player_action.data = @s player_action.uuid.1 +scoreboard players operation #uuid.2 player_action.data = @s player_action.uuid.2 +scoreboard players operation #uuid.3 player_action.data = @s player_action.uuid.3 + +# destroy entities +execute as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run tp @s ~ -300 ~ +execute as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run kill @s + +# remove tag +tag @s remove player_action.click_detection diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/interact_click_entity.mcfunction new file mode 100644 index 00000000..65776e82 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/interact_click_entity.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_click_entity +function #macroengine_player:v1/right_click diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/process.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/process.mcfunction new file mode 100644 index 00000000..4d292a42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/process.mcfunction @@ -0,0 +1,13 @@ + +# copy uuid +scoreboard players operation #uuid.0 player_action.data = @s player_action.uuid.0 +scoreboard players operation #uuid.1 player_action.data = @s player_action.uuid.1 +scoreboard players operation #uuid.2 player_action.data = @s player_action.uuid.2 +scoreboard players operation #uuid.3 player_action.data = @s player_action.uuid.3 + +# start detection +execute if entity @s[tag=!player_action.click_detection] run function macroengine_player:v1.7/player/click_detection/start + +# teleport villager +execute if entity @s[tag=!player_action.moving] as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] run tp @s ~ ~0.75 ~ +execute if entity @s[tag=player_action.moving] as @e[type=minecraft:interaction,tag=player_action.click_entity,predicate=macroengine_player:v1/equals_uuid] positioned ~ ~0.75 ~ run tp @s ^ ^ ^1.5 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start.mcfunction new file mode 100644 index 00000000..84e533ff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start.mcfunction @@ -0,0 +1,4 @@ + +tag @s add player_action.click_detection +summon minecraft:interaction ~ ~ ~ {Tags:["player_action.click_entity","player_action.new","smithed.entity","smithed.strict"]} +execute as @e[type=minecraft:interaction,tag=player_action.new] at @s run function macroengine_player:v1.7/player/click_detection/start_2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start_2.mcfunction new file mode 100644 index 00000000..e066d251 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/start_2.mcfunction @@ -0,0 +1,7 @@ + +scoreboard players operation @s player_action.uuid.0 = #uuid.0 player_action.data +scoreboard players operation @s player_action.uuid.1 = #uuid.1 player_action.data +scoreboard players operation @s player_action.uuid.2 = #uuid.2 player_action.data +scoreboard players operation @s player_action.uuid.3 = #uuid.3 player_action.data + +tag @s remove player_action.new diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick.mcfunction new file mode 100644 index 00000000..95e29c30 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick.mcfunction @@ -0,0 +1,5 @@ + +execute store result score #temp player_action.data if items entity @s weapon.mainhand *[minecraft:custom_data~{macroengine_player:{click_detection:1b}}] + +execute if score #temp player_action.data matches 0 if entity @s[tag=player_action.click_detection] run function macroengine_player:v1.7/player/click_detection/end +execute if score #temp player_action.data matches 1 run function macroengine_player:v1.7/player/click_detection/process diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities.mcfunction new file mode 100644 index 00000000..a15ef344 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities.mcfunction @@ -0,0 +1,3 @@ + +schedule function macroengine_player:v1.7/player/click_detection/tick_entities 100t +execute as @e[type=minecraft:interaction,tag=player_action.click_entity] at @s run function macroengine_player:v1.7/player/click_detection/tick_entities_2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities_2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities_2.mcfunction new file mode 100644 index 00000000..8b05b681 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/click_detection/tick_entities_2.mcfunction @@ -0,0 +1,4 @@ + +execute store result score #temp player_action.data if entity @p[distance=..10,tag=player_action.click_detection] +execute if score #temp player_action.data matches 0 run tp @s ~ -300 ~ +execute if score #temp player_action.data matches 0 run kill @s diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_anvil.mcfunction new file mode 100644 index 00000000..0d148adf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_anvil.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_anvil +function #macroengine_player:v1/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_barrel.mcfunction new file mode 100644 index 00000000..d06b117c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_barrel.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_barrel +function #macroengine_player:v1/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_beacon.mcfunction new file mode 100644 index 00000000..f3f003bf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_beacon.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_beacon +function #macroengine_player:v1/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..5a056278 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_blast_furnace.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_blast_furnace +function #macroengine_player:v1/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_brewingstand.mcfunction new file mode 100644 index 00000000..ef878311 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_brewingstand.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_brewingstand +function #macroengine_player:v1/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cake.mcfunction new file mode 100644 index 00000000..2c97db27 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cake.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cake +function #macroengine_player:v1/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_campfire.mcfunction new file mode 100644 index 00000000..2512a182 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_campfire.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_campfire +function #macroengine_player:v1/interact_campfire diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cartopgraphy_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cartopgraphy_table.mcfunction new file mode 100644 index 00000000..e25620ba --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cartopgraphy_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cartography_table +function #macroengine_player:v1/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cauldron.mcfunction new file mode 100644 index 00000000..7a19ebb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_cauldron.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_cauldron +function #macroengine_player:v1/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_chest.mcfunction new file mode 100644 index 00000000..20274263 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_chest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_chest +function #macroengine_player:v1/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_crafting_table.mcfunction new file mode 100644 index 00000000..2ea9e883 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_crafting_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_crafting_table +function #macroengine_player:v1/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dispenser.mcfunction new file mode 100644 index 00000000..6a404d8b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dispenser.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_dispenser +function #macroengine_player:v1/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dropper.mcfunction new file mode 100644 index 00000000..149af673 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_dropper.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_dropper +function #macroengine_player:v1/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_enderchest.mcfunction new file mode 100644 index 00000000..4d6f28c5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_enderchest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_enderchest +function #macroengine_player:v1/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_flower_pot.mcfunction new file mode 100644 index 00000000..aea70c16 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_flower_pot.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_flower_pot +function #macroengine_player:v1/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_furnace.mcfunction new file mode 100644 index 00000000..2404fd22 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_furnace.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_furnace +function #macroengine_player:v1/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_grindstone.mcfunction new file mode 100644 index 00000000..b240138c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_grindstone.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_grindstone +function #macroengine_player:v1/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_hopper.mcfunction new file mode 100644 index 00000000..c2543f1f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_hopper.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_hopper +function #macroengine_player:v1/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_jukebox.mcfunction new file mode 100644 index 00000000..98ae6dea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_jukebox.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_jukebox +function #macroengine_player:v1/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_lectern.mcfunction new file mode 100644 index 00000000..dc5233db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_lectern.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_lectern +function #macroengine_player:v1/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_loom.mcfunction new file mode 100644 index 00000000..b44b04a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_loom.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_loom +function #macroengine_player:v1/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_noteblock.mcfunction new file mode 100644 index 00000000..bb2e28f1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_noteblock.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_noteblock +function #macroengine_player:v1/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_shulker_box.mcfunction new file mode 100644 index 00000000..77ca3571 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_shulker_box.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_shulker_box +function #macroengine_player:v1/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smithing_table.mcfunction new file mode 100644 index 00000000..300dc7f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smithing_table.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_smithing_table +function #macroengine_player:v1/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smoker.mcfunction new file mode 100644 index 00000000..f37dee6b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_smoker.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_smoker +function #macroengine_player:v1/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_stonecutter.mcfunction new file mode 100644 index 00000000..ed4367dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_stonecutter.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_stonecutter +function #macroengine_player:v1/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..947d99cc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_trapped_chest.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_trapped_chest +function #macroengine_player:v1/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_vault.mcfunction new file mode 100644 index 00000000..ab31a2fa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/interact/interact_vault.mcfunction @@ -0,0 +1,3 @@ + +advancement revoke @s only macroengine_player:v1/interact_vault +function #macroengine_player:v1/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/is_moving.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/is_moving.mcfunction new file mode 100644 index 00000000..42361498 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/is_moving.mcfunction @@ -0,0 +1,24 @@ + +# cache position +data modify storage macroengine_player:temp list set from entity @s Pos + +# calc difference +execute store result score #x player_action.data run data get storage macroengine_player:temp list[0] 70 +scoreboard players operation #temp player_action.data = #x player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.x +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +execute store result score #y player_action.data run data get storage macroengine_player:temp list[1] 70 +scoreboard players operation #temp player_action.data = #y player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.y +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +execute store result score #z player_action.data run data get storage macroengine_player:temp list[2] 70 +scoreboard players operation #temp player_action.data = #z player_action.data +scoreboard players operation #temp player_action.data -= @s player_action.z +execute unless score #temp player_action.data matches 0 run tag @s add player_action.moving + +# save score +scoreboard players operation @s player_action.x = #x player_action.data +scoreboard players operation @s player_action.y = #y player_action.data +scoreboard players operation @s player_action.z = #z player_action.data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/process_data.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/process_data.mcfunction new file mode 100644 index 00000000..997db625 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/process_data.mcfunction @@ -0,0 +1,28 @@ + +execute if score @s player_action.fly matches 1.. run tag @s add player_action.flying +execute if score @s player_action.walk matches 1.. run tag @s add player_action.walking +execute if score @s player_action.fall matches 1.. run tag @s add player_action.falling +execute if score @s player_action.climb matches 1.. run tag @s add player_action.climbing +execute if score @s player_action.aviate matches 1.. run tag @s add player_action.elyra_flying + +execute if predicate macroengine_player:v1/swimming run tag @s add player_action.swimming +execute if predicate macroengine_player:v1/sneaking run tag @s add player_action.sneaking +execute if predicate macroengine_player:v1/sprinting run tag @s add player_action.sprinting +execute if predicate macroengine_player:v1/riding_pig run tag @s add player_action.riding_pig +execute if predicate macroengine_player:v1/riding_boat run tag @s add player_action.riding_boat +execute if predicate macroengine_player:v1/riding_mule run tag @s add player_action.riding_mule +execute if predicate macroengine_player:v1/riding_llama run tag @s add player_action.riding_llama +execute if predicate macroengine_player:v1/riding_horse run tag @s add player_action.riding_horse +execute if predicate macroengine_player:v1/riding_donkey run tag @s add player_action.riding_donkey +execute if predicate macroengine_player:v1/riding_strider run tag @s add player_action.riding_strider +execute if predicate macroengine_player:v1/riding_minecart run tag @s add player_action.riding_minecart + +execute if score @s player_action.death matches 1.. run function #macroengine_player:v1/died +execute if score @s player_action.enchant matches 1.. run function #macroengine_player:v1/enchanted +execute if score @s player_action.jump matches 1.. run function #macroengine_player:v1/jumped +execute if score @s player_action.use_coas matches 1.. run function #macroengine_player:v1/right_click +execute if score @s player_action.use_wfoas matches 1.. run function #macroengine_player:v1/right_click + +execute if score @s player_action.join matches 1.. run function #macroengine_player:v1/joined +execute unless score @s player_action.join matches 0.. run function #macroengine_player:v1/joined +execute unless score @s player_action.join matches 0.. run scoreboard players add @s player_action.join 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/remove_tags.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/remove_tags.mcfunction new file mode 100644 index 00000000..4cf3788d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/remove_tags.mcfunction @@ -0,0 +1,18 @@ + +tag @s remove player_action.moving +tag @s remove player_action.flying +tag @s remove player_action.walking +tag @s remove player_action.falling +tag @s remove player_action.climbing +tag @s remove player_action.elyra_flying +tag @s remove player_action.swimming +tag @s remove player_action.sneaking +tag @s remove player_action.sprinting +tag @s remove player_action.riding_pig +tag @s remove player_action.riding_boat +tag @s remove player_action.riding_mule +tag @s remove player_action.riding_llama +tag @s remove player_action.riding_horse +tag @s remove player_action.riding_donkey +tag @s remove player_action.riding_strider +tag @s remove player_action.riding_minecart diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/reset_scores.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/reset_scores.mcfunction new file mode 100644 index 00000000..54b543df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/reset_scores.mcfunction @@ -0,0 +1,12 @@ + +scoreboard players set @s player_action.fly 0 +scoreboard players set @s player_action.walk 0 +scoreboard players set @s player_action.fall 0 +scoreboard players set @s player_action.climb 0 +scoreboard players set @s player_action.aviate 0 +scoreboard players set @s player_action.death 0 +scoreboard players set @s player_action.enchant 0 +scoreboard players set @s player_action.jump 0 +scoreboard players set @s player_action.use_coas 0 +scoreboard players set @s player_action.use_wfoas 0 +scoreboard players set @s player_action.join 0 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/set_uuid.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/set_uuid.mcfunction new file mode 100644 index 00000000..6da870db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/set_uuid.mcfunction @@ -0,0 +1,5 @@ + +execute store result score @s player_action.uuid.0 run data get entity @s UUID[0] +execute store result score @s player_action.uuid.1 run data get entity @s UUID[1] +execute store result score @s player_action.uuid.2 run data get entity @s UUID[2] +execute store result score @s player_action.uuid.3 run data get entity @s UUID[3] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/tick.mcfunction new file mode 100644 index 00000000..0db45fbf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/player/tick.mcfunction @@ -0,0 +1,11 @@ + +function macroengine_player:v1.7/player/remove_tags + +execute unless score @s player_action.uuid.0 matches -2147483648.. run function macroengine_player:v1.7/player/set_uuid +function macroengine_player:v1.7/player/is_moving +function macroengine_player:v1.7/player/process_data +function macroengine_player:v1.7/player/click_detection/tick + +function macroengine_player:v1.7/player/reset_scores + +function #macroengine_player:v1/tick diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/resolve.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/resolve.mcfunction new file mode 100644 index 00000000..538f0a09 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/resolve.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/init diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/tick.mcfunction new file mode 100644 index 00000000..0f5347ee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/tick.mcfunction @@ -0,0 +1,4 @@ + +schedule function macroengine_player:v1.7/tick 1t + +execute as @a at @s run function macroengine_player:v1.7/player/tick diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/attack_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/attack_click_entity.mcfunction new file mode 100644 index 00000000..570148c9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/attack_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/click_detection/attack_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_anvil.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_anvil.mcfunction new file mode 100644 index 00000000..2844ccca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_anvil.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_anvil diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_barrel.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_barrel.mcfunction new file mode 100644 index 00000000..7a486fc0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_barrel.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_barrel diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_beacon.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_beacon.mcfunction new file mode 100644 index 00000000..01a8d4de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_beacon.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_beacon diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_blast_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_blast_furnace.mcfunction new file mode 100644 index 00000000..98711c2f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_blast_furnace.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_blast_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_brewingstand.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_brewingstand.mcfunction new file mode 100644 index 00000000..a90eec80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_brewingstand.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_brewingstand diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cake.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cake.mcfunction new file mode 100644 index 00000000..65d60963 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cake.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cake diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_campfire.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_campfire.mcfunction new file mode 100644 index 00000000..58b246c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_campfire.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cartography_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cartography_table.mcfunction new file mode 100644 index 00000000..14202b8f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cartography_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cartopgraphy_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cauldron.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cauldron.mcfunction new file mode 100644 index 00000000..eaf552bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_cauldron.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_cauldron diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_chest.mcfunction new file mode 100644 index 00000000..dd3898f9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_chest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_click_entity.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_click_entity.mcfunction new file mode 100644 index 00000000..bc9e49c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_click_entity.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/click_detection/interact_click_entity diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_crafting_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_crafting_table.mcfunction new file mode 100644 index 00000000..3e10b53c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_crafting_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_crafting_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dispenser.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dispenser.mcfunction new file mode 100644 index 00000000..58b246c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dispenser.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dispenser diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dropper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dropper.mcfunction new file mode 100644 index 00000000..17c6ff55 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_dropper.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_dropper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_enderchest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_enderchest.mcfunction new file mode 100644 index 00000000..a31d07d4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_enderchest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_enderchest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_flower_pot.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_flower_pot.mcfunction new file mode 100644 index 00000000..17f940b0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_flower_pot.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_flower_pot diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_furnace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_furnace.mcfunction new file mode 100644 index 00000000..e9c1362f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_furnace.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_furnace diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_grindstone.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_grindstone.mcfunction new file mode 100644 index 00000000..5fca9d84 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_grindstone.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_grindstone diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_hopper.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_hopper.mcfunction new file mode 100644 index 00000000..e60f6f02 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_hopper.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_hopper diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_jukebox.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_jukebox.mcfunction new file mode 100644 index 00000000..ffef7828 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_jukebox.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_jukebox diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_lectern.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_lectern.mcfunction new file mode 100644 index 00000000..33398655 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_lectern.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_lectern diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_loom.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_loom.mcfunction new file mode 100644 index 00000000..6184ee90 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_loom.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_loom diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_noteblock.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_noteblock.mcfunction new file mode 100644 index 00000000..d911c930 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_noteblock.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_noteblock diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_shulker_box.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_shulker_box.mcfunction new file mode 100644 index 00000000..9f324ac7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_shulker_box.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_shulker_box diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smithing_table.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smithing_table.mcfunction new file mode 100644 index 00000000..669c56ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smithing_table.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_smithing_table diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smoker.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smoker.mcfunction new file mode 100644 index 00000000..aaf00fbb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_smoker.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_smoker diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_stonecutter.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_stonecutter.mcfunction new file mode 100644 index 00000000..31261140 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_stonecutter.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_stonecutter diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_trapped_chest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_trapped_chest.mcfunction new file mode 100644 index 00000000..99d0afda --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_trapped_chest.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_trapped_chest diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_vault.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_vault.mcfunction new file mode 100644 index 00000000..fabd5310 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/function/v1.7/versioning/interact_vault.mcfunction @@ -0,0 +1,2 @@ + +execute if predicate macroengine_player:v1.7/is_correct_version run function macroengine_player:v1.7/player/interact/interact_vault diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1.7/is_correct_version.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1.7/is_correct_version.json new file mode 100644 index 00000000..573f99a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1.7/is_correct_version.json @@ -0,0 +1,53 @@ +{ + "terms": [ + { + "value": 1, + "range": { + "min": { + "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" + }, + "score": "load.status", + "scale": 1 + } + }, + "condition": "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 + } + }, + "condition": "minecraft:value_check" + } + ], + "condition": "minecraft:all_of" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/equals_uuid.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/equals_uuid.json new file mode 100644 index 00000000..56b67aff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/equals_uuid.json @@ -0,0 +1,109 @@ +{ + "terms": [ + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.0" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.0" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.1" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.1" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.2" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" + }, + "max": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.2" + }, + "score": "player_action.data" + } + }, + "condition": "minecraft:value_check" + }, + { + "value": { + "type": "minecraft:score", + "target": "this", + "score": "player_action.uuid.3" + }, + "range": { + "min": { + "type": "minecraft:score", + "target": { + "type": "minecraft:fixed", + "name": "#uuid.3" + }, + "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/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_boat.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_boat.json new file mode 100644 index 00000000..762e4a7c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_boat.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "#minecraft:boat" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_donkey.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_donkey.json new file mode 100644 index 00000000..5a312abb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_donkey.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:donkey" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_horse.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_horse.json new file mode 100644 index 00000000..567b5356 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_horse.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:horse" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_llama.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_llama.json new file mode 100644 index 00000000..e6f9fc2b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_llama.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:llama" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_minecart.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_minecart.json new file mode 100644 index 00000000..78e92a10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_minecart.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:minecart" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_mule.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_mule.json new file mode 100644 index 00000000..02f33a8f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_mule.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:mule" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_pig.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_pig.json new file mode 100644 index 00000000..abd827d9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_pig.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:pig" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_strider.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_strider.json new file mode 100644 index 00000000..9ee036a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/riding_strider.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "vehicle": { + "entity_type": "minecraft:strider" + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sneaking.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sneaking.json new file mode 100644 index 00000000..ee9f57d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sneaking.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sneaking": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sprinting.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sprinting.json new file mode 100644 index 00000000..f95b561d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/sprinting.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_sprinting": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/swimming.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/swimming.json new file mode 100644 index 00000000..2f6cd2dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/predicate/v1/swimming.json @@ -0,0 +1,9 @@ +{ + "entity": "this", + "predicate": { + "flags": { + "is_swimming": true + } + }, + "condition": "minecraft:entity_properties" +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/enumerate.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/enumerate.json new file mode 100644 index 00000000..7be3e5d5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/enumerate.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/enumerate" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/load.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/load.json new file mode 100644 index 00000000..7853c556 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/load.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:enumerate", + "#macroengine_player:resolve" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/resolve.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/resolve.json new file mode 100644 index 00000000..bad4939c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/resolve.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/resolve" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/died.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/died.json new file mode 100644 index 00000000..e76b4a1b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/died.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_player_death" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/enchanted.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/enchanted.json new file mode 100644 index 00000000..8b764af6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/enchanted.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_enchant" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_anvil.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_anvil.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_barrel.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_barrel.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_beacon.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_beacon.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_blast_furnace.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_blast_furnace.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_block.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_block.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_block.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_brewingstand.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_brewingstand.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cake.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cake.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_campfire.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_campfire.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cartopgraphy_table.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cartopgraphy_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cauldron.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_cauldron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_chest.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_chest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_crafting_table.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_crafting_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dispenser.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dispenser.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dropper.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_dropper.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_enderchest.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_enderchest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_flower_pot.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_flower_pot.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_furnace.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_furnace.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_grindstone.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_grindstone.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_hopper.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_hopper.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_jukebox.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_jukebox.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_lectern.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_lectern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_loom.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_loom.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_noteblock.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_noteblock.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_shulker_box.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_shulker_box.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smithing_table.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smithing_table.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smoker.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_smoker.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_stonecutter.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_stonecutter.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_trapped_chest.json new file mode 100644 index 00000000..ec94d6c7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_trapped_chest.json @@ -0,0 +1,6 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block", + "#macroengine_player:v1/open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_vault.json new file mode 100644 index 00000000..f3b8851e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/interact_vault.json @@ -0,0 +1,5 @@ +{ + "values": [ + "#macroengine_player:v1/interact_block" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/attack_click_entity.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/attack_click_entity.json new file mode 100644 index 00000000..1d63139f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/attack_click_entity.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/attack_click_entity" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_anvil.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_anvil.json new file mode 100644 index 00000000..c281d723 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_anvil.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_anvil" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_barrel.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_barrel.json new file mode 100644 index 00000000..69cbcb2f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_barrel.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_barrel" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_beacon.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_beacon.json new file mode 100644 index 00000000..659cddec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_beacon.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_beacon" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_blast_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_blast_furnace.json new file mode 100644 index 00000000..e137c233 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_blast_furnace.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_blast_furnace" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_brewingstand.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_brewingstand.json new file mode 100644 index 00000000..7b9ef749 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_brewingstand.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_brewingstand" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cake.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cake.json new file mode 100644 index 00000000..6482dca9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cake.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cake" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_campfire.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_campfire.json new file mode 100644 index 00000000..36f302dd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_campfire.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_campfire" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cartopgraphy_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cartopgraphy_table.json new file mode 100644 index 00000000..5628b839 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cartopgraphy_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cartography_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cauldron.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cauldron.json new file mode 100644 index 00000000..30f706e8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_cauldron.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_cauldron" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_chest.json new file mode 100644 index 00000000..4e32fa62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_chest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_chest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_click_entity.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_click_entity.json new file mode 100644 index 00000000..72ea9bde --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_click_entity.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_click_entity" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_crafting_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_crafting_table.json new file mode 100644 index 00000000..1f9c0ee0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_crafting_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_crafting_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dispenser.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dispenser.json new file mode 100644 index 00000000..bcdc9d9a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dispenser.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_dispenser" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dropper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dropper.json new file mode 100644 index 00000000..be44f954 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_dropper.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_dropper" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_enderchest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_enderchest.json new file mode 100644 index 00000000..1dc055db --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_enderchest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_enderchest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_flower_pot.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_flower_pot.json new file mode 100644 index 00000000..1d0fa7cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_flower_pot.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_flower_pot" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_furnace.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_furnace.json new file mode 100644 index 00000000..4810e497 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_furnace.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_furnace" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_grindstone.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_grindstone.json new file mode 100644 index 00000000..db954f7e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_grindstone.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_grindstone" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_hopper.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_hopper.json new file mode 100644 index 00000000..ddc7ac18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_hopper.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_hopper" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_jukebox.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_jukebox.json new file mode 100644 index 00000000..cdca75a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_jukebox.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_jukebox" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_lectern.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_lectern.json new file mode 100644 index 00000000..c4018916 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_lectern.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_lectern" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_loom.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_loom.json new file mode 100644 index 00000000..6365bf60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_loom.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_loom" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_noteblock.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_noteblock.json new file mode 100644 index 00000000..3091aa2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_noteblock.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_noteblock" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_shulker_box.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_shulker_box.json new file mode 100644 index 00000000..b13dfc2c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_shulker_box.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_shulker_box" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smithing_table.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smithing_table.json new file mode 100644 index 00000000..4f8d633f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smithing_table.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_smithing_table" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smoker.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smoker.json new file mode 100644 index 00000000..f34c2856 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_smoker.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_smoker" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_stonecutter.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_stonecutter.json new file mode 100644 index 00000000..3de4f1c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_stonecutter.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_stonecutter" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_trapped_chest.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_trapped_chest.json new file mode 100644 index 00000000..4a42bd70 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_trapped_chest.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_trapped_chest" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_vault.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_vault.json new file mode 100644 index 00000000..feef9209 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/internal/interact_vault.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_player:v1.7/versioning/interact_vault" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/joined.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/joined.json new file mode 100644 index 00000000..4648fcb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/joined.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_player_join" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/jumped.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/jumped.json new file mode 100644 index 00000000..f2a7fa40 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/jumped.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_jump" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/left_click.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/left_click.json new file mode 100644 index 00000000..563761fe --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/left_click.json @@ -0,0 +1,3 @@ +{ + "values": ["macroengine:core/internal/systems/hook/on_lc"] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/open_gui.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/open_gui.json new file mode 100644 index 00000000..c4b12683 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/open_gui.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine:core/internal/systems/hook/on_open_gui" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/right_click.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/right_click.json new file mode 100644 index 00000000..65c67810 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/right_click.json @@ -0,0 +1,3 @@ +{ + "values": ["macroengine:core/internal/systems/hook/on_rc"] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/tick.json b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/tick.json new file mode 100644 index 00000000..86dde3df --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_player/tags/function/v1/tick.json @@ -0,0 +1,3 @@ +{ + "values": [] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/debug/toggle_load_message.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/debug/toggle_load_message.mcfunction new file mode 100644 index 00000000..adb3b83c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/debug/toggle_load_message.mcfunction @@ -0,0 +1,7 @@ +# Toggle the load message +scoreboard players add #StringLib.ShowLoadMessage StringLib 1 +execute unless score #StringLib.ShowLoadMessage StringLib matches 1 run scoreboard players set #StringLib.ShowLoadMessage StringLib 0 + +# Tellraw +execute if score #StringLib.ShowLoadMessage StringLib matches 0 run tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Disabled the load message"] +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Enabled the load message"] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/uninstall.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/uninstall.mcfunction new file mode 100644 index 00000000..716c45a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/uninstall.mcfunction @@ -0,0 +1,49 @@ +# Check if it's installed +scoreboard objectives add StringLib.Uninstall dummy +execute if score #StringLib.Init StringLib matches 1 run scoreboard players set #StringLib.Init StringLib.Uninstall 1 +execute unless score #StringLib.Init StringLib.Uninstall matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},{"text":"⚠ Could not remove StringLib.\nIs it installed?","color":"red"}] +execute unless score #StringLib.Init StringLib.Uninstall matches 1 run return run scoreboard objectives remove StringLib.Uninstall +scoreboard objectives remove StringLib.Uninstall + +# Tellraw +tellraw @s ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Uninstalled StringLib (v0.2.0)"] + +# Remove scoreboards & data storages +scoreboard objectives remove StringLib + +scoreboard players reset #StringLib.Init +scoreboard players reset #StringLib.ShowLoadMessage +scoreboard players reset #StringLib.c-1 +scoreboard players reset #StringLib.c100 +scoreboard players reset #StringLib.StringsTotal +scoreboard players reset #StringLib.CharsLeft +scoreboard players reset #StringLib.CharsTotal +scoreboard players reset #StringLib.ConcatsLeft +scoreboard players reset #StringLib.SuccessCheck +scoreboard players reset #StringLib.FindLength +scoreboard players reset #StringLib.FindAmount +scoreboard players reset #StringLib.KeepEmpty +scoreboard players reset #StringLib.SeparatorLength +scoreboard players reset #StringLib.Max +scoreboard players reset #StringLib.SplitsLeft +scoreboard players reset #StringLib.Index +scoreboard players reset #StringLib.FoundNothing +scoreboard players reset #StringLib.ReturnValue +scoreboard players reset #StringLib.CheckString.CharsLeft +scoreboard players reset #StringLib.CheckString.IsFindLength + +data remove storage macroengine_string:zprivate data +data remove storage macroengine_string:input concat +data remove storage macroengine_string:input find +data remove storage macroengine_string:input replace +data remove storage macroengine_string:input insert +data remove storage macroengine_string:input split +data remove storage macroengine_string:output concat +data remove storage macroengine_string:output to_lowercase +data remove storage macroengine_string:output to_uppercase +data remove storage macroengine_string:output to_number +data remove storage macroengine_string:output to_string +data remove storage macroengine_string:output find +data remove storage macroengine_string:output replace +data remove storage macroengine_string:output insert +data remove storage macroengine_string:output split \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/concat.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/concat.mcfunction new file mode 100644 index 00000000..e91daf5b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/concat.mcfunction @@ -0,0 +1,24 @@ +############################################################################ +## HOW TO USE ## +############################################################################ +## 1. Set the 'macroengine_string:input concat' data storage to a list of strings ## +## 2. Run this function ## +## ## +## Output: A single combined string ## +## Example: ["hello","world"] => "helloworld" ## +## ## +## Return value: 1 if concat was successful, fail if it wasn't ## +## ## +## The output is found in the 'macroengine_string:output concat' data storage ## +############################################################################ + +# Setup (Get how many times it needs to concatenate & prepare the starting string) +execute store result score #StringLib.StringsTotal StringLib if data storage macroengine_string:input concat[] +execute if score #StringLib.StringsTotal StringLib matches 3.. run return run function macroengine_string:zprivate/concat/main +execute unless score #StringLib.StringsTotal StringLib matches 2 run return fail + +# Only 2 strings: Combine +data modify storage macroengine_string:temp data.S1 set from storage macroengine_string:input concat[1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:input concat[0] +function macroengine_string:zprivate/concat/combine_small with storage macroengine_string:temp data +data remove storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/find.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/find.mcfunction new file mode 100644 index 00000000..3ecee91c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/find.mcfunction @@ -0,0 +1,62 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input find' data storage: ## +## - String: Original string ## +## - Find: String you want to search for ## +## - n: How many instances you are looking for ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## 2. Run this function ## +## ## +## Output: List of all start indices for every instances of the string ([-1] if nothing is found) ## +## Example: ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: 1 ## +## => Output: [2] ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: Unset ## +## => Output: [2,3,9] ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - n: -2 ## +## => Output: [9,3] ## +## ## +## Return value: Number of instances found, or fail ## +## ## +## The output is found in the 'macroengine_string:output find' data storage ## +########################################################################################################## + +# Search for 'Find' inside 'String' (FindAmount is altered in the functions, so the order is very important) +data modify storage macroengine_string:temp data.String set from storage macroengine_string:input find.String +execute store result score #StringLib.FindLength StringLib run data get storage macroengine_string:input find.Find +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:temp data.String +scoreboard players operation #StringLib.CharsTotal StringLib -= #StringLib.FindLength StringLib +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input find.n + +execute unless score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players set #StringLib.Index StringLib 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players operation #StringLib.Index StringLib = #StringLib.CharsTotal StringLib + +data modify storage macroengine_string:output find set value [] + +execute if score #StringLib.FindAmount StringLib matches -1 run data modify storage macroengine_string:output find append value -1 +execute if score #StringLib.FindAmount StringLib matches -1 run function macroengine_string:zprivate/find/reversed/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches ..-2 run function macroengine_string:zprivate/find/reversed/main + +execute if score #StringLib.FindAmount StringLib matches 1 run data modify storage macroengine_string:output find append value -1 +execute if score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/find/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches 0.. unless score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/find/main + +scoreboard players set #StringLib.FoundNothing StringLib 0 + +# Reset +data remove storage macroengine_string:temp data + +# Return Values +execute if data storage macroengine_string:output {find:[-1]} run return fail +return run execute if data storage macroengine_string:output find[] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/insert.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/insert.mcfunction new file mode 100644 index 00000000..9382937b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/insert.mcfunction @@ -0,0 +1,25 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input insert' data storage: ## +## - String: Original string ## +## - Insertion: String you want to insert ## +## - Index: Position for the Insertion ## +## 2. Run this function with the 'macroengine_string:input insert' data storage ## +## ## +## Output: A single combined string ## +## Example: ## +## - String: "Hello!" ## +## - Insertion: " World" ## +## - Index: 5 ## +## => Output: "Hello World!" ## +## ## +## The output is found in the 'macroengine_string:output insert' data storage ## +########################################################################################################## + +# Insert +$data modify storage macroengine_string:temp data.S1 set string storage macroengine_string:input insert.String 0 $(Index) +$data modify storage macroengine_string:temp data.S2 set string storage macroengine_string:input insert.String $(Index) +data modify storage macroengine_string:temp data.I set from storage macroengine_string:input insert.Insertion +function macroengine_string:zprivate/insert/main with storage macroengine_string:temp data +data remove storage macroengine_string:temp data \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/replace.mcfunction new file mode 100644 index 00000000..842f2c2d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/replace.mcfunction @@ -0,0 +1,86 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Set the following data in the 'macroengine_string:input replace' data storage: ## +## - String: Original string ## +## - Find: String you want to replace ## +## - Replace: What you replace it with ## +## - n: How many instances you want to replace ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## 2. Run this function ## +## ## +## Output: String with all the 'Find' instances replaced by 'Replace' ## +## Example: ## +## - String: "Hello World!" ## +## - Find: "World" ## +## - Replace: "Everyone" ## +## - n: 1 ## +## => Output: "Hello Everyone!" ## +## ## +## - String: "15Hello 15World!" ## +## - Find: "15" ## +## - Replace: "" ## +## - n: Unset ## +## => Output: "Hello World!" ## +## ## +## - String: "Hello World!" ## +## - Find: "l" ## +## - Replace: "" ## +## - n: -1 ## +## => Output: "Hello Word!" ## +## ## +## Return value: Number of replacements made, or fail ## +## ## +## The output is found in the 'macroengine_string:output replace' data storage ## +########################################################################################################## + +# Setup +scoreboard players set #StringLib.ReturnValue StringLib 0 + +data modify storage macroengine_string:temp data.String set from storage macroengine_string:input replace.String +execute store result score #StringLib.FindLength StringLib run data get storage macroengine_string:input replace.Find +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:temp data.String +scoreboard players operation #StringLib.CharsTotal StringLib -= #StringLib.FindLength StringLib +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input replace.n +execute if score #StringLib.FindAmount StringLib matches 0 run scoreboard players set #StringLib.FindAmount StringLib 2147483647 + +execute unless score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players set #StringLib.Index StringLib 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run scoreboard players operation #StringLib.Index StringLib = #StringLib.CharsTotal StringLib + +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat +data modify storage macroengine_string:input concat set value [] + +# Run 'Find' and add every character to 'macroengine_string:input concat' +execute if score #StringLib.FindAmount StringLib matches 1 run function macroengine_string:zprivate/replace/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches 2.. run function macroengine_string:zprivate/replace/main + +execute if score #StringLib.FindAmount StringLib matches -1 run function macroengine_string:zprivate/replace/reversed/check_word_start_loop +execute if score #StringLib.FindAmount StringLib matches ..-2 run function macroengine_string:zprivate/replace/reversed/main + +scoreboard players set #StringLib.FoundNothing StringLib 0 + +# Combine the characters again +execute if score #StringLib.FindAmount StringLib matches 0.. run data modify storage macroengine_string:input concat append string storage macroengine_string:temp data.CheckString.String 1 +execute if score #StringLib.FindAmount StringLib matches ..-1 run data modify storage macroengine_string:input concat prepend string storage macroengine_string:temp data.CheckString.String 0 -1 + +execute store success score #StringLib.SuccessCheck StringLib if data storage macroengine_string:input concat[1] + +execute if score #StringLib.SuccessCheck StringLib matches 1 run function macroengine_string:util/concat +execute if score #StringLib.SuccessCheck StringLib matches 1 run data modify storage macroengine_string:output replace set from storage macroengine_string:output concat +execute if score #StringLib.SuccessCheck StringLib matches 0 run data modify storage macroengine_string:output replace set from storage macroengine_string:input replace.String + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data +data remove storage macroengine_string:temp data2 + +# Return Values +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players get #StringLib.ReturnValue StringLib +return fail \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/split.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/split.mcfunction new file mode 100644 index 00000000..a2a24175 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/split.mcfunction @@ -0,0 +1,109 @@ +################################################################################## +## HOW TO USE ## +################################################################################## +## 1. Set the following data in the 'macroengine_string:input split' data storage: ## +## - String: Original string ## +## - Separator: String that splits the original into multiple ## +## - Default: " " ## +## - "": Split each character ## +## - n: Up until which instance of the separator it should split ## +## - Unset or 0: All ## +## - Positive: First n ## +## - Negative: Last -n ## +## - KeepEmpty: Boolean for whether to keep empty Strings in the output list ## +## - Unset or 0b: Remove ## +## - 1b: Keep ## +## ## +## 2. Run this function ## +## ## +## Output: List of Strings, separated by the Separator ## +## Example: ## +## - String: "Hello World!" ## +## - Separator: " " ## +## - n: 1 ## +## - KeepEmpty: Unset ## +## => Output: ["Hello", "World!"] ## +## ## +## - String: "Test! HelloTestWorld!" ## +## - Separator: "Test" ## +## - n: -1 ## +## - KeepEmpty: Unset ## +## => Output: ["Test! Hello", "World!"] ## +## ## +## - String: " Hello World! " ## +## - Separator: " " ## +## - n: Unset ## +## - KeepEmpty: 1b ## +## => Output: ["", "Hello", "", "", "", "World!", ""] ## +## ## +## ## +## Return value: Number of elements in the output list, or fail ## +## ## +## The output is found in the 'macroengine_string:output split' data storage ## +################################################################################## +# Potential optimization: Detect if the current instance of the seperator came DIRECTLY after the previous one. If yes, and if KeepEmpty is 0b, ignore it and don't run the macro +# => It's probably best to set up a recursive loop that continues the loop from main, but skips everything for as long as the separators are after each other. So it checks if the *next* one is directly after the current one +# ALSO OPTIMIZE THE "SPLIT EVERY CHARACTER". CAN BE HEAVILY OPTIMIZED TO PREVENT LOOPING + +# Setup +data modify storage macroengine_string:output split set value [] +execute unless data storage macroengine_string:input split.Separator run data modify storage macroengine_string:temp data.Separator set value " " +data modify storage macroengine_string:temp data.Separator set from storage macroengine_string:input split.Separator + + # Reset temporary storage & return fail if input string is empty +execute store result score #StringLib.SeparatorLength StringLib run data get storage macroengine_string:temp data.Separator +execute store result score #StringLib.CharsTotal StringLib run data get storage macroengine_string:input split.String +execute if score #StringLib.CharsTotal StringLib matches 0 run data modify storage macroengine_string:output split set value [""] +execute if score #StringLib.CharsTotal StringLib matches 0 run data remove storage macroengine_string:temp data +execute if score #StringLib.CharsTotal StringLib matches 0 run return fail + +# If separator is empty string, split each character +execute if score #StringLib.SeparatorLength StringLib matches 0 run return run function macroengine_string:zprivate/split/split_chars/setup + +# Find all instances of the separator +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input find +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output find + +data modify storage macroengine_string:input find.String set from storage macroengine_string:input split.String +data modify storage macroengine_string:input find.Find set from storage macroengine_string:temp data.Separator +data remove storage macroengine_string:input find.n +data modify storage macroengine_string:input find.n set from storage macroengine_string:input split.n +function macroengine_string:util/find + +# Setup +execute store result score #StringLib.KeepEmpty StringLib run data get storage macroengine_string:input split.KeepEmpty + + # Reset temporary storage & return fail if no separator was found +execute if data storage macroengine_string:output {find:[-1]} run return run function macroengine_string:zprivate/split/fail + +# Split +execute store result score #StringLib.FindAmount StringLib run data get storage macroengine_string:input split.n + + # Split the part in front of every instance of the separator (Do the first iteration here) +execute store result score #StringLib.SplitsLeft StringLib if data storage macroengine_string:output find[] + +data modify storage macroengine_string:temp data.Min set value 0 +execute if score #StringLib.FindLength StringLib matches 0.. store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[0] +execute if score #StringLib.FindLength StringLib matches 0.. run function macroengine_string:zprivate/split/main with storage macroengine_string:temp data +execute if score #StringLib.FindLength StringLib matches ..-1 store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[-1] +execute if score #StringLib.FindLength StringLib matches ..-1 run function macroengine_string:zprivate/split/reversed/main with storage macroengine_string:temp data + + # Append a "" if KeepEmpty is 1b and there's a trailing separator +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players operation #StringLib.Max StringLib += #StringLib.SeparatorLength StringLib +execute if score #StringLib.KeepEmpty StringLib matches 1 if score #StringLib.Max StringLib = #StringLib.CharsTotal StringLib run data modify storage macroengine_string:output split append value "" + + # Append the part after the last separator +execute unless score #StringLib.Max StringLib = #StringLib.CharsTotal StringLib run function macroengine_string:zprivate/split/last_segment with storage macroengine_string:temp data + +function macroengine_string:zprivate/split/setup with storage macroengine_string:temp data + +# Reset +data modify storage macroengine_string:input find set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output find set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input find +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output find +data remove storage macroengine_string:temp data2 +data remove storage macroengine_string:temp data + +# Return Values +return run execute if data storage macroengine_string:output split[] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/fast.mcfunction new file mode 100644 index 00000000..6abe7e1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/fast.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to lowercase ## +## Note: This function only covers the letters A-Z, but is noticeably faster in return ## +## ## +## Output: Lowercase version of your input ## +## Example: "ABC" => "abc" ## +## ## +## The output is found in the 'macroengine_string:output to_lowercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_lowercase/main_fast with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_lowercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/full.mcfunction new file mode 100644 index 00000000..f6538dbf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_lowercase/full.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to lowercase ## +## Note: This function will cover the entire unicode range of letters, but is also noticeably slower ## +## ## +## Output: Lowercase version of your input ## +## Example: "ABC" => "abc" ## +## ## +## The output is found in the 'macroengine_string:output to_lowercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_lowercase/main_full with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_lowercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_number.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_number.mcfunction new file mode 100644 index 00000000..29fa4568 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_number.mcfunction @@ -0,0 +1,12 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'Input' macro variable set to what you want to convert to a number ## +## ## +## Output: Numeric version of your input ## +## Example: "500.25" => 500.25 ## +## ## +## The output is found in the 'macroengine_string:output to_number' data storage ## +########################################################################################################## + +$data modify storage macroengine_string:output to_number set value $(Input) \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_string.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_string.mcfunction new file mode 100644 index 00000000..9f2ce7c4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_string.mcfunction @@ -0,0 +1,14 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'Input' macro variable set to what you want to convert to a string ## +## ## +## Output: Stringified version of your input ## +## Example: 123 => "123" ## +## ## +## Note: In most cases, using 'data modify storage ... set string storage ...' works and is preferable ## +## ## +## The output is found in the 'macroengine_string:output to_string' data storage ## +########################################################################################################## + +$data modify storage macroengine_string:output to_string set value "$(Input)" \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/fast.mcfunction new file mode 100644 index 00000000..80eb347d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/fast.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to uppercase ## +## Note: This function only covers the letters A-Z, but is noticeably faster in return ## +## ## +## Output: Uppercase version of your input ## +## Example: "abc" => "ABC" ## +## ## +## The output is found in the 'macroengine_string:output to_uppercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_uppercase/main_fast with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_uppercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/full.mcfunction new file mode 100644 index 00000000..1ba08239 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/util/to_uppercase/full.mcfunction @@ -0,0 +1,35 @@ +########################################################################################################## +## HOW TO USE ## +########################################################################################################## +## 1. Run this function with the 'String' macro variable set to what you want to convert to uppercase ## +## Note: This function will cover the entire unicode range of letters, but is also noticeably slower ## +## ## +## Output: Uppercase version of your input ## +## Example: "abc" => "ABC" ## +## ## +## The output is found in the 'macroengine_string:output to_uppercase' data storage ## +########################################################################################################## + +# Setup +$data modify storage macroengine_string:temp data.Input set value "$(String)" +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:temp data.Input +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 + +# Capitalize each character +function macroengine_string:zprivate/to_uppercase/main_full with storage macroengine_string:temp data + +# Combine the characters again +data modify storage macroengine_string:temp data2.PrevInput set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data2.PrevOutput set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data.CharList +function macroengine_string:util/concat +data modify storage macroengine_string:output to_uppercase set from storage macroengine_string:output concat + +data modify storage macroengine_string:input concat set from storage macroengine_string:temp data2.PrevInput +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data2.PrevOutput +execute unless data storage macroengine_string:temp data2.PrevInput run data remove storage macroengine_string:input concat +execute unless data storage macroengine_string:temp data2.PrevOutput run data remove storage macroengine_string:output concat + +# Reset +data remove storage macroengine_string:temp data2 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_large.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_large.mcfunction new file mode 100644 index 00000000..20167cf2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_large.mcfunction @@ -0,0 +1,9 @@ +# Combine up to 100 strings at once (Size=100 adds 100 to the current result, so it's 101 afterwards) +$function macroengine_string:zprivate/concat/s/$(Size) + +# Next loop +execute if score #StringLib.ConcatsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.ConcatsLeft StringLib 1 +execute if score #StringLib.ConcatsLeft StringLib matches 1 store result storage macroengine_string:temp data.Size byte 1 run scoreboard players get #StringLib.StringsTotal StringLib +execute if score #StringLib.ConcatsLeft StringLib matches 2.. run data modify storage macroengine_string:temp data.Size set value 100b +function macroengine_string:zprivate/concat/combine_large with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_small.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_small.mcfunction new file mode 100644 index 00000000..b7e59d19 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/combine_small.mcfunction @@ -0,0 +1,2 @@ +# Add the two strings together +$data modify storage macroengine_string:output concat set value "$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/main.mcfunction new file mode 100644 index 00000000..3e96b5c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/main.mcfunction @@ -0,0 +1,20 @@ +# Setup (Get how many times it needs to concatenate & prepare the starting string) +scoreboard players remove #StringLib.StringsTotal StringLib 1 +scoreboard players operation #StringLib.ConcatsLeft StringLib = #StringLib.StringsTotal StringLib +scoreboard players operation #StringLib.ConcatsLeft StringLib /= #StringLib.c100 StringLib +scoreboard players operation #StringLib.StringsTotal StringLib %= #StringLib.c100 StringLib +execute unless score #StringLib.StringsTotal StringLib matches 0 run scoreboard players add #StringLib.ConcatsLeft StringLib 1 +execute if score #StringLib.StringsTotal StringLib matches 0 run scoreboard players set #StringLib.StringsTotal StringLib 100 + +execute if score #StringLib.ConcatsLeft StringLib matches 1 store result storage macroengine_string:temp data.Size byte 1 run scoreboard players get #StringLib.StringsTotal StringLib +execute if score #StringLib.ConcatsLeft StringLib matches 2.. run data modify storage macroengine_string:temp data.Size set value 100b + +data modify storage macroengine_string:temp data.StringList set from storage macroengine_string:input concat +data modify storage macroengine_string:temp data.S1 set from storage macroengine_string:temp data.StringList[-1] + +# Concatenate the strings +function macroengine_string:zprivate/concat/combine_large with storage macroengine_string:temp data +data modify storage macroengine_string:output concat set from storage macroengine_string:temp data.S1 + +# Reset +data remove storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1.mcfunction new file mode 100644 index 00000000..9288a97b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1.mcfunction @@ -0,0 +1,3 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/1c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10.mcfunction new file mode 100644 index 00000000..909444b1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10.mcfunction @@ -0,0 +1,21 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/10c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100.mcfunction new file mode 100644 index 00000000..55cb3488 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100.mcfunction @@ -0,0 +1,201 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S100 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S101 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/100c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100c.mcfunction new file mode 100644 index 00000000..48639311 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/100c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S101)$(S100)$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10c.mcfunction new file mode 100644 index 00000000..69660f38 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/10c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11.mcfunction new file mode 100644 index 00000000..0dbe0755 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11.mcfunction @@ -0,0 +1,23 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/11c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11c.mcfunction new file mode 100644 index 00000000..9b7718a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/11c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12.mcfunction new file mode 100644 index 00000000..3fadc565 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12.mcfunction @@ -0,0 +1,25 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/12c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12c.mcfunction new file mode 100644 index 00000000..4b5280ef --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/12c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13.mcfunction new file mode 100644 index 00000000..77c0a52b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13.mcfunction @@ -0,0 +1,27 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/13c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13c.mcfunction new file mode 100644 index 00000000..d6f85f62 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/13c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14.mcfunction new file mode 100644 index 00000000..4165d815 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14.mcfunction @@ -0,0 +1,29 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/14c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14c.mcfunction new file mode 100644 index 00000000..da973dcc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/14c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15.mcfunction new file mode 100644 index 00000000..5a8414c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15.mcfunction @@ -0,0 +1,31 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/15c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15c.mcfunction new file mode 100644 index 00000000..4f77e128 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/15c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16.mcfunction new file mode 100644 index 00000000..984cb72c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16.mcfunction @@ -0,0 +1,33 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/16c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16c.mcfunction new file mode 100644 index 00000000..2c1f8c13 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/16c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17.mcfunction new file mode 100644 index 00000000..0e416527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17.mcfunction @@ -0,0 +1,35 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/17c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17c.mcfunction new file mode 100644 index 00000000..f78e12a3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/17c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18.mcfunction new file mode 100644 index 00000000..c67d4999 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18.mcfunction @@ -0,0 +1,37 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/18c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18c.mcfunction new file mode 100644 index 00000000..b921c89f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/18c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19.mcfunction new file mode 100644 index 00000000..e7326263 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19.mcfunction @@ -0,0 +1,39 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/19c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19c.mcfunction new file mode 100644 index 00000000..6340acd9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/19c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1c.mcfunction new file mode 100644 index 00000000..447f1aa6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/1c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2.mcfunction new file mode 100644 index 00000000..bdc7c63f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2.mcfunction @@ -0,0 +1,5 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/2c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20.mcfunction new file mode 100644 index 00000000..352a8348 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20.mcfunction @@ -0,0 +1,41 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/20c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20c.mcfunction new file mode 100644 index 00000000..7ae41d97 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/20c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21.mcfunction new file mode 100644 index 00000000..2685ef18 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21.mcfunction @@ -0,0 +1,43 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/21c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21c.mcfunction new file mode 100644 index 00000000..7f325d47 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/21c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22.mcfunction new file mode 100644 index 00000000..b236adff --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22.mcfunction @@ -0,0 +1,45 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/22c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22c.mcfunction new file mode 100644 index 00000000..3ffa1402 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/22c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23.mcfunction new file mode 100644 index 00000000..61ed3809 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23.mcfunction @@ -0,0 +1,47 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/23c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23c.mcfunction new file mode 100644 index 00000000..081ce536 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/23c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24.mcfunction new file mode 100644 index 00000000..8278e88f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24.mcfunction @@ -0,0 +1,49 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/24c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24c.mcfunction new file mode 100644 index 00000000..f3efeb0b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/24c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25.mcfunction new file mode 100644 index 00000000..a59e9c6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25.mcfunction @@ -0,0 +1,51 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/25c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25c.mcfunction new file mode 100644 index 00000000..7776c672 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/25c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26.mcfunction new file mode 100644 index 00000000..c30e1bf7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26.mcfunction @@ -0,0 +1,53 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/26c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26c.mcfunction new file mode 100644 index 00000000..09c78f83 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/26c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27.mcfunction new file mode 100644 index 00000000..a71acbcf --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27.mcfunction @@ -0,0 +1,55 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/27c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27c.mcfunction new file mode 100644 index 00000000..0991dc10 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/27c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28.mcfunction new file mode 100644 index 00000000..c9a1ce3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28.mcfunction @@ -0,0 +1,57 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/28c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28c.mcfunction new file mode 100644 index 00000000..525948bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/28c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29.mcfunction new file mode 100644 index 00000000..6d384b31 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29.mcfunction @@ -0,0 +1,59 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/29c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29c.mcfunction new file mode 100644 index 00000000..35c7477f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/29c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2c.mcfunction new file mode 100644 index 00000000..12699bb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/2c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3.mcfunction new file mode 100644 index 00000000..fb2e5304 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3.mcfunction @@ -0,0 +1,7 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/3c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30.mcfunction new file mode 100644 index 00000000..8a836314 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30.mcfunction @@ -0,0 +1,61 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/30c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30c.mcfunction new file mode 100644 index 00000000..2ff6ae8f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/30c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31.mcfunction new file mode 100644 index 00000000..44eefa71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31.mcfunction @@ -0,0 +1,63 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/31c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31c.mcfunction new file mode 100644 index 00000000..2a234c15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/31c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32.mcfunction new file mode 100644 index 00000000..9117880b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32.mcfunction @@ -0,0 +1,65 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/32c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32c.mcfunction new file mode 100644 index 00000000..89b6b051 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/32c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33.mcfunction new file mode 100644 index 00000000..756d3d98 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33.mcfunction @@ -0,0 +1,67 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/33c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33c.mcfunction new file mode 100644 index 00000000..024d12ca --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/33c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34.mcfunction new file mode 100644 index 00000000..e1ff1522 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34.mcfunction @@ -0,0 +1,69 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/34c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34c.mcfunction new file mode 100644 index 00000000..12d57ef1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/34c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35.mcfunction new file mode 100644 index 00000000..a8a020b3 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35.mcfunction @@ -0,0 +1,71 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/35c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35c.mcfunction new file mode 100644 index 00000000..2421724a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/35c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36.mcfunction new file mode 100644 index 00000000..985d8781 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36.mcfunction @@ -0,0 +1,73 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/36c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36c.mcfunction new file mode 100644 index 00000000..a9b5859f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/36c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37.mcfunction new file mode 100644 index 00000000..2e9bc0da --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37.mcfunction @@ -0,0 +1,75 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/37c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37c.mcfunction new file mode 100644 index 00000000..2f8a8496 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/37c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38.mcfunction new file mode 100644 index 00000000..4fa96334 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38.mcfunction @@ -0,0 +1,77 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/38c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38c.mcfunction new file mode 100644 index 00000000..be5db57f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/38c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39.mcfunction new file mode 100644 index 00000000..52c5b375 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39.mcfunction @@ -0,0 +1,79 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/39c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39c.mcfunction new file mode 100644 index 00000000..361c8c99 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/39c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3c.mcfunction new file mode 100644 index 00000000..31dd0e42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/3c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4.mcfunction new file mode 100644 index 00000000..769d2c8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4.mcfunction @@ -0,0 +1,9 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/4c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40.mcfunction new file mode 100644 index 00000000..ea036a4c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40.mcfunction @@ -0,0 +1,81 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/40c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40c.mcfunction new file mode 100644 index 00000000..bb9ce9d7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/40c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41.mcfunction new file mode 100644 index 00000000..a6b310a0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41.mcfunction @@ -0,0 +1,83 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/41c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41c.mcfunction new file mode 100644 index 00000000..e9c03673 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/41c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42.mcfunction new file mode 100644 index 00000000..1ff5b153 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42.mcfunction @@ -0,0 +1,85 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/42c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42c.mcfunction new file mode 100644 index 00000000..3539110d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/42c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43.mcfunction new file mode 100644 index 00000000..9ff75aa6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43.mcfunction @@ -0,0 +1,87 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/43c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43c.mcfunction new file mode 100644 index 00000000..7fd061a2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/43c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44.mcfunction new file mode 100644 index 00000000..b6365f64 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44.mcfunction @@ -0,0 +1,89 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/44c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44c.mcfunction new file mode 100644 index 00000000..9f64dd42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/44c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45.mcfunction new file mode 100644 index 00000000..0dc812b7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45.mcfunction @@ -0,0 +1,91 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/45c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45c.mcfunction new file mode 100644 index 00000000..22d4717e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/45c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46.mcfunction new file mode 100644 index 00000000..c928bd3c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46.mcfunction @@ -0,0 +1,93 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/46c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46c.mcfunction new file mode 100644 index 00000000..5e365e81 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/46c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47.mcfunction new file mode 100644 index 00000000..c42abfb9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47.mcfunction @@ -0,0 +1,95 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/47c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47c.mcfunction new file mode 100644 index 00000000..b3236906 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/47c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48.mcfunction new file mode 100644 index 00000000..1c34f126 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48.mcfunction @@ -0,0 +1,97 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/48c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48c.mcfunction new file mode 100644 index 00000000..dd776b35 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/48c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49.mcfunction new file mode 100644 index 00000000..f2b24b9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49.mcfunction @@ -0,0 +1,99 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/49c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49c.mcfunction new file mode 100644 index 00000000..943abbfd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/49c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4c.mcfunction new file mode 100644 index 00000000..68b3cad4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/4c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5.mcfunction new file mode 100644 index 00000000..f14c4f0e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5.mcfunction @@ -0,0 +1,11 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/5c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50.mcfunction new file mode 100644 index 00000000..b185caf5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50.mcfunction @@ -0,0 +1,101 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/50c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50c.mcfunction new file mode 100644 index 00000000..b80ddfd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/50c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51.mcfunction new file mode 100644 index 00000000..7a25746e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51.mcfunction @@ -0,0 +1,103 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/51c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51c.mcfunction new file mode 100644 index 00000000..530bd3fb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/51c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52.mcfunction new file mode 100644 index 00000000..4095e59d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52.mcfunction @@ -0,0 +1,105 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/52c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52c.mcfunction new file mode 100644 index 00000000..618db554 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/52c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53.mcfunction new file mode 100644 index 00000000..53b9a639 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53.mcfunction @@ -0,0 +1,107 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/53c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53c.mcfunction new file mode 100644 index 00000000..8fd294c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/53c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54.mcfunction new file mode 100644 index 00000000..66725ab5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54.mcfunction @@ -0,0 +1,109 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/54c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54c.mcfunction new file mode 100644 index 00000000..347a877a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/54c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55.mcfunction new file mode 100644 index 00000000..d8b504f0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55.mcfunction @@ -0,0 +1,111 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/55c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55c.mcfunction new file mode 100644 index 00000000..168a675d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/55c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56.mcfunction new file mode 100644 index 00000000..666a86bc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56.mcfunction @@ -0,0 +1,113 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/56c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56c.mcfunction new file mode 100644 index 00000000..0d5cf384 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/56c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57.mcfunction new file mode 100644 index 00000000..a49eeb2e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57.mcfunction @@ -0,0 +1,115 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/57c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57c.mcfunction new file mode 100644 index 00000000..2860b4a7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/57c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58.mcfunction new file mode 100644 index 00000000..5cb1d9dc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58.mcfunction @@ -0,0 +1,117 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/58c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58c.mcfunction new file mode 100644 index 00000000..e7ef98a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/58c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59.mcfunction new file mode 100644 index 00000000..7b0e3762 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59.mcfunction @@ -0,0 +1,119 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/59c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59c.mcfunction new file mode 100644 index 00000000..d9f89363 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/59c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5c.mcfunction new file mode 100644 index 00000000..29686e51 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/5c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6.mcfunction new file mode 100644 index 00000000..16a1cd0f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6.mcfunction @@ -0,0 +1,13 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/6c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60.mcfunction new file mode 100644 index 00000000..0e312013 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60.mcfunction @@ -0,0 +1,121 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/60c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60c.mcfunction new file mode 100644 index 00000000..80225e92 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/60c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61.mcfunction new file mode 100644 index 00000000..88899d84 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61.mcfunction @@ -0,0 +1,123 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/61c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61c.mcfunction new file mode 100644 index 00000000..7e889a60 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/61c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62.mcfunction new file mode 100644 index 00000000..0f0008e7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62.mcfunction @@ -0,0 +1,125 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/62c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62c.mcfunction new file mode 100644 index 00000000..8b5d6ef7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/62c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63.mcfunction new file mode 100644 index 00000000..f82117b0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63.mcfunction @@ -0,0 +1,127 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/63c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63c.mcfunction new file mode 100644 index 00000000..e0589fa4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/63c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64.mcfunction new file mode 100644 index 00000000..28d81eb7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64.mcfunction @@ -0,0 +1,129 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/64c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64c.mcfunction new file mode 100644 index 00000000..c11623f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/64c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65.mcfunction new file mode 100644 index 00000000..69b6af9a --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65.mcfunction @@ -0,0 +1,131 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/65c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65c.mcfunction new file mode 100644 index 00000000..9363570e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/65c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66.mcfunction new file mode 100644 index 00000000..3385f1e6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66.mcfunction @@ -0,0 +1,133 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/66c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66c.mcfunction new file mode 100644 index 00000000..6f080b02 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/66c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67.mcfunction new file mode 100644 index 00000000..0999ff15 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67.mcfunction @@ -0,0 +1,135 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/67c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67c.mcfunction new file mode 100644 index 00000000..8d014bd6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/67c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68.mcfunction new file mode 100644 index 00000000..cc312e8e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68.mcfunction @@ -0,0 +1,137 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/68c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68c.mcfunction new file mode 100644 index 00000000..e1041fee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/68c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69.mcfunction new file mode 100644 index 00000000..720f93bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69.mcfunction @@ -0,0 +1,139 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/69c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69c.mcfunction new file mode 100644 index 00000000..c19550a1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/69c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6c.mcfunction new file mode 100644 index 00000000..77b28204 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/6c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7.mcfunction new file mode 100644 index 00000000..29fc91e7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7.mcfunction @@ -0,0 +1,15 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/7c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70.mcfunction new file mode 100644 index 00000000..79db5ad9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70.mcfunction @@ -0,0 +1,141 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/70c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70c.mcfunction new file mode 100644 index 00000000..8608a0cb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/70c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71.mcfunction new file mode 100644 index 00000000..994f01f5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71.mcfunction @@ -0,0 +1,143 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/71c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71c.mcfunction new file mode 100644 index 00000000..292d8faa --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/71c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72.mcfunction new file mode 100644 index 00000000..367ba32d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72.mcfunction @@ -0,0 +1,145 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/72c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72c.mcfunction new file mode 100644 index 00000000..cc19ce43 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/72c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73.mcfunction new file mode 100644 index 00000000..511a0205 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73.mcfunction @@ -0,0 +1,147 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/73c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73c.mcfunction new file mode 100644 index 00000000..0f673140 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/73c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74.mcfunction new file mode 100644 index 00000000..aeb2462f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74.mcfunction @@ -0,0 +1,149 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/74c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74c.mcfunction new file mode 100644 index 00000000..4196f08b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/74c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75.mcfunction new file mode 100644 index 00000000..c9b5e476 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75.mcfunction @@ -0,0 +1,151 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/75c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75c.mcfunction new file mode 100644 index 00000000..9cb7f8c6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/75c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76.mcfunction new file mode 100644 index 00000000..c9cb5898 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76.mcfunction @@ -0,0 +1,153 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/76c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76c.mcfunction new file mode 100644 index 00000000..85cf6aee --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/76c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77.mcfunction new file mode 100644 index 00000000..4c217322 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77.mcfunction @@ -0,0 +1,155 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/77c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77c.mcfunction new file mode 100644 index 00000000..3d70b209 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/77c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78.mcfunction new file mode 100644 index 00000000..196f188e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78.mcfunction @@ -0,0 +1,157 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/78c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78c.mcfunction new file mode 100644 index 00000000..244f5bed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/78c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79.mcfunction new file mode 100644 index 00000000..d6d9b665 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79.mcfunction @@ -0,0 +1,159 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/79c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79c.mcfunction new file mode 100644 index 00000000..c8ea7994 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/79c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7c.mcfunction new file mode 100644 index 00000000..5b4257c8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/7c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8.mcfunction new file mode 100644 index 00000000..d83cf5ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8.mcfunction @@ -0,0 +1,17 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/8c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80.mcfunction new file mode 100644 index 00000000..62975b08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80.mcfunction @@ -0,0 +1,161 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/80c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80c.mcfunction new file mode 100644 index 00000000..03d0fe08 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/80c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81.mcfunction new file mode 100644 index 00000000..007044e5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81.mcfunction @@ -0,0 +1,163 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/81c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81c.mcfunction new file mode 100644 index 00000000..a4e9ce9f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/81c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82.mcfunction new file mode 100644 index 00000000..f852d732 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82.mcfunction @@ -0,0 +1,165 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/82c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82c.mcfunction new file mode 100644 index 00000000..006acea1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/82c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83.mcfunction new file mode 100644 index 00000000..98a68713 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83.mcfunction @@ -0,0 +1,167 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/83c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83c.mcfunction new file mode 100644 index 00000000..4ca28113 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/83c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84.mcfunction new file mode 100644 index 00000000..4be11896 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84.mcfunction @@ -0,0 +1,169 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/84c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84c.mcfunction new file mode 100644 index 00000000..1ef51a71 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/84c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85.mcfunction new file mode 100644 index 00000000..cf7c8bc7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85.mcfunction @@ -0,0 +1,171 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/85c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85c.mcfunction new file mode 100644 index 00000000..d5481de1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/85c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86.mcfunction new file mode 100644 index 00000000..9ec7c851 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86.mcfunction @@ -0,0 +1,173 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/86c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86c.mcfunction new file mode 100644 index 00000000..979c3b0c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/86c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87.mcfunction new file mode 100644 index 00000000..4151360e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87.mcfunction @@ -0,0 +1,175 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/87c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87c.mcfunction new file mode 100644 index 00000000..4fb9e259 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/87c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88.mcfunction new file mode 100644 index 00000000..219d9417 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88.mcfunction @@ -0,0 +1,177 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/88c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88c.mcfunction new file mode 100644 index 00000000..a3390d04 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/88c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89.mcfunction new file mode 100644 index 00000000..b12b2220 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89.mcfunction @@ -0,0 +1,179 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/89c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89c.mcfunction new file mode 100644 index 00000000..ee73320e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/89c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8c.mcfunction new file mode 100644 index 00000000..8d8b8be9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/8c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9.mcfunction new file mode 100644 index 00000000..4bc70bf5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9.mcfunction @@ -0,0 +1,19 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/9c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90.mcfunction new file mode 100644 index 00000000..dc15deb5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90.mcfunction @@ -0,0 +1,181 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/90c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90c.mcfunction new file mode 100644 index 00000000..af8bdab5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/90c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91.mcfunction new file mode 100644 index 00000000..073799ae --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91.mcfunction @@ -0,0 +1,183 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/91c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91c.mcfunction new file mode 100644 index 00000000..5570fcb2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/91c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92.mcfunction new file mode 100644 index 00000000..bfc504de --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92.mcfunction @@ -0,0 +1,185 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/92c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92c.mcfunction new file mode 100644 index 00000000..c65131a9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/92c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93.mcfunction new file mode 100644 index 00000000..6729e477 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93.mcfunction @@ -0,0 +1,187 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/93c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93c.mcfunction new file mode 100644 index 00000000..97aea0ed --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/93c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94.mcfunction new file mode 100644 index 00000000..cc2a190e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94.mcfunction @@ -0,0 +1,189 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/94c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94c.mcfunction new file mode 100644 index 00000000..de76601c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/94c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95.mcfunction new file mode 100644 index 00000000..c0424c6f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95.mcfunction @@ -0,0 +1,191 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/95c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95c.mcfunction new file mode 100644 index 00000000..d1e55cb6 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/95c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96.mcfunction new file mode 100644 index 00000000..67b1b8b9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96.mcfunction @@ -0,0 +1,193 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/96c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96c.mcfunction new file mode 100644 index 00000000..66f18f42 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/96c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97.mcfunction new file mode 100644 index 00000000..370b5623 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97.mcfunction @@ -0,0 +1,195 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/97c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97c.mcfunction new file mode 100644 index 00000000..d08ee69c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/97c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98.mcfunction new file mode 100644 index 00000000..e414ace5 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98.mcfunction @@ -0,0 +1,197 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/98c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98c.mcfunction new file mode 100644 index 00000000..69cd8be7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/98c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99.mcfunction new file mode 100644 index 00000000..f0d27977 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99.mcfunction @@ -0,0 +1,199 @@ +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S2 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S3 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S4 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S5 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S6 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S7 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S8 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S9 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S10 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S11 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S12 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S13 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S14 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S15 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S16 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S17 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S18 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S19 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S20 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S21 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S22 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S23 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S24 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S25 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S26 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S27 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S28 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S29 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S30 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S31 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S32 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S33 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S34 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S35 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S36 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S37 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S38 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S39 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S40 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S41 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S42 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S43 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S44 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S45 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S46 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S47 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S48 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S49 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S50 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S51 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S52 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S53 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S54 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S55 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S56 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S57 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S58 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S59 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S60 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S61 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S62 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S63 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S64 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S65 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S66 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S67 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S68 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S69 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S70 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S71 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S72 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S73 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S74 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S75 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S76 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S77 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S78 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S79 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S80 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S81 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S82 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S83 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S84 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S85 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S86 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S87 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S88 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S89 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S90 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S91 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S92 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S93 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S94 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S95 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S96 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S97 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S98 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S99 set from storage macroengine_string:temp data.StringList[-1] +data remove storage macroengine_string:temp data.StringList[-1] +data modify storage macroengine_string:temp data.S100 set from storage macroengine_string:temp data.StringList[-1] +function macroengine_string:zprivate/concat/s/99c with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99c.mcfunction new file mode 100644 index 00000000..436ee58e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/99c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S100)$(S99)$(S98)$(S97)$(S96)$(S95)$(S94)$(S93)$(S92)$(S91)$(S90)$(S89)$(S88)$(S87)$(S86)$(S85)$(S84)$(S83)$(S82)$(S81)$(S80)$(S79)$(S78)$(S77)$(S76)$(S75)$(S74)$(S73)$(S72)$(S71)$(S70)$(S69)$(S68)$(S67)$(S66)$(S65)$(S64)$(S63)$(S62)$(S61)$(S60)$(S59)$(S58)$(S57)$(S56)$(S55)$(S54)$(S53)$(S52)$(S51)$(S50)$(S49)$(S48)$(S47)$(S46)$(S45)$(S44)$(S43)$(S42)$(S41)$(S40)$(S39)$(S38)$(S37)$(S36)$(S35)$(S34)$(S33)$(S32)$(S31)$(S30)$(S29)$(S28)$(S27)$(S26)$(S25)$(S24)$(S23)$(S22)$(S21)$(S20)$(S19)$(S18)$(S17)$(S16)$(S15)$(S14)$(S13)$(S12)$(S11)$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9c.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9c.mcfunction new file mode 100644 index 00000000..9bb190f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/concat/s/9c.mcfunction @@ -0,0 +1 @@ +$data modify storage macroengine_string:temp data.S1 set value "$(S10)$(S9)$(S8)$(S7)$(S6)$(S5)$(S4)$(S3)$(S2)$(S1)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest.mcfunction new file mode 100644 index 00000000..4809b527 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest.mcfunction @@ -0,0 +1,12 @@ +# Check if 'Find' is located at that position (First character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input find.Find 1 + +function macroengine_string:zprivate/find/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 1 run return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest_loop.mcfunction new file mode 100644 index 00000000..fbd797ad --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_rest_loop.mcfunction @@ -0,0 +1,11 @@ +# Compare characters +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.CheckString.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.CheckString.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players set #StringLib.SuccessCheck StringLib 0 + +# Next Loop (If the main string runs out, return 0. If the Find string runs out, return 1) +execute if score #StringLib.CheckString.CharsLeft StringLib matches 1 store result score #StringLib.SuccessCheck StringLib run return run scoreboard players get #StringLib.CheckString.IsFindLength StringLib +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.CheckString.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:temp data.CheckString.Find 1 +function macroengine_string:zprivate/find/check_word_rest_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_start_loop.mcfunction new file mode 100644 index 00000000..4128da14 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if first character matches +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:input find.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 1 store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players remove #StringLib.Index StringLib 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 2.. if function macroengine_string:zprivate/find/check_word_rest store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players remove #StringLib.Index StringLib 1 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +function macroengine_string:zprivate/find/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/main.mcfunction new file mode 100644 index 00000000..ede4c6af --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/main.mcfunction @@ -0,0 +1,15 @@ +# Setup +data modify storage macroengine_string:output find append value -1 +function macroengine_string:zprivate/find/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the first letter matches. >= this time because it removed 1 from the index) +execute if score #StringLib.FoundNothing StringLib matches 1 run return run execute if data storage macroengine_string:output find[1] run data remove storage macroengine_string:output find[-1] +execute if score #StringLib.FindAmount StringLib matches 1 run return 0 +execute if score #StringLib.Index StringLib >= #StringLib.CharsTotal StringLib run return 0 + +scoreboard players remove #StringLib.FindAmount StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +scoreboard players operation #StringLib.Index StringLib += #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 1 +function macroengine_string:zprivate/find/main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest.mcfunction new file mode 100644 index 00000000..7bba878e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest.mcfunction @@ -0,0 +1,12 @@ +# Check if 'Find' is located at that position (Last character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input find.Find 0 -1 + +function macroengine_string:zprivate/find/reversed/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 1 run return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest_loop.mcfunction new file mode 100644 index 00000000..f1e00565 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_rest_loop.mcfunction @@ -0,0 +1,11 @@ +# Compare characters +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.CheckString.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.CheckString.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 1 run return run scoreboard players set #StringLib.SuccessCheck StringLib 0 + +# Next Loop (If the main string runs out, return 0. If the Find string runs out, return 1) +execute if score #StringLib.CheckString.CharsLeft StringLib matches 1 store result score #StringLib.SuccessCheck StringLib run return run scoreboard players get #StringLib.CheckString.IsFindLength StringLib +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:temp data.CheckString.Find 0 -1 +function macroengine_string:zprivate/find/reversed/check_word_rest_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_start_loop.mcfunction new file mode 100644 index 00000000..8b52bc5e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if last character matches +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:input find.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 1 store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players get #StringLib.Index StringLib +execute if score #StringLib.SuccessCheck StringLib matches 0 if score #StringLib.FindLength StringLib matches 2.. if function macroengine_string:zprivate/find/reversed/check_word_rest store result storage macroengine_string:output find[-1] int 1 run return run scoreboard players get #StringLib.Index StringLib + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib matches 0 run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players remove #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +function macroengine_string:zprivate/find/reversed/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/main.mcfunction new file mode 100644 index 00000000..7d6c9f06 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/find/reversed/main.mcfunction @@ -0,0 +1,14 @@ +# Setup +data modify storage macroengine_string:output find append value -1 +function macroengine_string:zprivate/find/reversed/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the last letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return run execute if data storage macroengine_string:output find[1] run data remove storage macroengine_string:output find[-1] +execute if score #StringLib.FindAmount StringLib matches -1 run return 0 +execute if score #StringLib.Index StringLib < #StringLib.FindLength StringLib run return 0 + +scoreboard players add #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib -= #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +function macroengine_string:zprivate/find/reversed/main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/init.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/init.mcfunction new file mode 100644 index 00000000..a4b6405f --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/init.mcfunction @@ -0,0 +1,15 @@ +# Init +scoreboard players set #StringLib.Init StringLib 1 +execute unless score #StringLib.ShowLoadMessage StringLib matches 0 run scoreboard players set #StringLib.ShowLoadMessage StringLib 1 + +scoreboard players set #StringLib.c-1 StringLib -1 +scoreboard players set #StringLib.c100 StringLib 100 + +data modify storage macroengine_string:zprivate data.CharMap.Fast set value [{u:"A",l:"a"},{u:"B",l:"b"},{u:"C",l:"c"},{u:"D",l:"d"},{u:"E",l:"e"},{u:"F",l:"f"},{u:"G",l:"g"},{u:"H",l:"h"},{u:"I",l:"i"},{u:"J",l:"j"},{u:"K",l:"k"},{u:"L",l:"l"},{u:"M",l:"m"},{u:"N",l:"n"},{u:"O",l:"o"},{u:"P",l:"p"},{u:"Q",l:"q"},{u:"R",l:"r"},{u:"S",l:"s"},{u:"T",l:"t"},{u:"U",l:"u"},{u:"V",l:"v"},{u:"W",l:"w"},{u:"X",l:"x"},{u:"Y",l:"y"},{u:"Z",l:"z"}] + +data modify storage macroengine_string:zprivate data.CharMap.Full set value [{u:"A",l:"a"},{u:"B",l:"b"},{u:"C",l:"c"},{u:"D",l:"d"},{u:"E",l:"e"},{u:"F",l:"f"},{u:"G",l:"g"},{u:"H",l:"h"},{u:"I",l:"i"},{u:"J",l:"j"},{u:"K",l:"k"},{u:"L",l:"l"},{u:"M",l:"m"},{u:"N",l:"n"},{u:"O",l:"o"},{u:"P",l:"p"},{u:"Q",l:"q"},{u:"R",l:"r"},{u:"S",l:"s"},{u:"T",l:"t"},{u:"U",l:"u"},{u:"V",l:"v"},{u:"W",l:"w"},{u:"X",l:"x"},{u:"Y",l:"y"},{u:"Z",l:"z"},{u:"À",l:"à"},{u:"Á",l:"á"},{u:"Â",l:"â"},{u:"Ã",l:"ã"},{u:"Ä",l:"ä"},{u:"Å",l:"å"},{u:"Æ",l:"æ"},{u:"Ç",l:"ç"},{u:"È",l:"è"},{u:"É",l:"é"},{u:"Ê",l:"ê"},{u:"Ë",l:"ë"},{u:"Ì",l:"ì"},{u:"Í",l:"í"},{u:"Î",l:"î"},{u:"Ï",l:"ï"},{u:"Ð",l:"ð"},{u:"Ñ",l:"ñ"},{u:"Ò",l:"ò"},{u:"Ó",l:"ó"},{u:"Ô",l:"ô"},{u:"Õ",l:"õ"},{u:"Ö",l:"ö"},{u:"Ø",l:"ø"},{u:"Ù",l:"ù"},{u:"Ú",l:"ú"},{u:"Û",l:"û"},{u:"Ü",l:"ü"},{u:"Ý",l:"ý"},{u:"Þ",l:"þ"},{u:"Ā",l:"ā"},{u:"Ă",l:"ă"},{u:"Ą",l:"ą"},{u:"Ć",l:"ć"},{u:"Ĉ",l:"ĉ"},{u:"Ċ",l:"ċ"},{u:"Č",l:"č"},{u:"Ď",l:"ď"},{u:"Đ",l:"đ"},{u:"Ē",l:"ē"},{u:"Ĕ",l:"ĕ"},{u:"Ė",l:"ė"},{u:"Ę",l:"ę"},{u:"Ě",l:"ě"},{u:"Ĝ",l:"ĝ"},{u:"Ğ",l:"ğ"},{u:"Ġ",l:"ġ"},{u:"Ģ",l:"ģ"},{u:"Ĥ",l:"ĥ"},{u:"Ħ",l:"ħ"},{u:"Ĩ",l:"ĩ"},{u:"Ī",l:"ī"},{u:"Ĭ",l:"ĭ"},{u:"Į",l:"į"},{u:"İ",l:"i"},{u:"IJ",l:"ij"},{u:"Ĵ",l:"ĵ"},{u:"Ķ",l:"ķ"},{u:"Ĺ",l:"ĺ"},{u:"Ļ",l:"ļ"},{u:"Ľ",l:"ľ"},{u:"Ŀ",l:"ŀ"},{u:"Ł",l:"ł"},{u:"Ń",l:"ń"},{u:"Ņ",l:"ņ"},{u:"Ň",l:"ň"},{u:"Ŋ",l:"ŋ"},{u:"Ō",l:"ō"},{u:"Ŏ",l:"ŏ"},{u:"Ő",l:"ő"},{u:"Œ",l:"œ"},{u:"Ŕ",l:"ŕ"},{u:"Ŗ",l:"ŗ"},{u:"Ř",l:"ř"},{u:"Ś",l:"ś"},{u:"Ŝ",l:"ŝ"},{u:"Ş",l:"ş"},{u:"Š",l:"š"},{u:"Ţ",l:"ţ"},{u:"Ť",l:"ť"},{u:"Ŧ",l:"ŧ"},{u:"Ũ",l:"ũ"},{u:"Ū",l:"ū"},{u:"Ŭ",l:"ŭ"},{u:"Ů",l:"ů"},{u:"Ű",l:"ű"},{u:"Ų",l:"ų"},{u:"Ŵ",l:"ŵ"},{u:"Ŷ",l:"ŷ"},{u:"Ÿ",l:"ÿ"},{u:"Ź",l:"ź"},{u:"Ż",l:"ż"},{u:"Ž",l:"ž"},{u:"Ɓ",l:"ɓ"},{u:"Ƃ",l:"ƃ"},{u:"Ƅ",l:"ƅ"},{u:"Ɔ",l:"ɔ"},{u:"Ƈ",l:"ƈ"},{u:"Ɖ",l:"ɖ"},{u:"Ɗ",l:"ɗ"},{u:"Ƌ",l:"ƌ"},{u:"Ǝ",l:"ǝ"},{u:"Ə",l:"ə"},{u:"Ɛ",l:"ɛ"},{u:"Ƒ",l:"ƒ"},{u:"Ɠ",l:"ɠ"},{u:"Ɣ",l:"ɣ"},{u:"Ɩ",l:"ɩ"},{u:"Ɨ",l:"ɨ"},{u:"Ƙ",l:"ƙ"},{u:"Ɯ",l:"ɯ"},{u:"Ɲ",l:"ɲ"},{u:"Ɵ",l:"ɵ"},{u:"Ơ",l:"ơ"},{u:"Ƣ",l:"ƣ"},{u:"Ƥ",l:"ƥ"},{u:"Ʀ",l:"ʀ"},{u:"Ƨ",l:"ƨ"},{u:"Ʃ",l:"ʃ"},{u:"Ƭ",l:"ƭ"},{u:"Ʈ",l:"ʈ"},{u:"Ư",l:"ư"},{u:"Ʊ",l:"ʊ"},{u:"Ʋ",l:"ʋ"},{u:"Ƴ",l:"ƴ"},{u:"Ƶ",l:"ƶ"},{u:"Ʒ",l:"ʒ"},{u:"Ƹ",l:"ƹ"},{u:"Ƽ",l:"ƽ"},{u:"DŽ",l:"dž"},{u:"Dž",l:"dž"},{u:"LJ",l:"lj"},{u:"Lj",l:"lj"},{u:"NJ",l:"nj"},{u:"Nj",l:"nj"},{u:"Ǎ",l:"ǎ"},{u:"Ǐ",l:"ǐ"},{u:"Ǒ",l:"ǒ"},{u:"Ǔ",l:"ǔ"},{u:"Ǖ",l:"ǖ"},{u:"Ǘ",l:"ǘ"},{u:"Ǚ",l:"ǚ"},{u:"Ǜ",l:"ǜ"},{u:"Ǟ",l:"ǟ"},{u:"Ǡ",l:"ǡ"},{u:"Ǣ",l:"ǣ"},{u:"Ǥ",l:"ǥ"},{u:"Ǧ",l:"ǧ"},{u:"Ǩ",l:"ǩ"},{u:"Ǫ",l:"ǫ"},{u:"Ǭ",l:"ǭ"},{u:"Ǯ",l:"ǯ"},{u:"DZ",l:"dz"},{u:"Dz",l:"dz"},{u:"Ǵ",l:"ǵ"},{u:"Ƕ",l:"ƕ"},{u:"Ƿ",l:"ƿ"},{u:"Ǹ",l:"ǹ"},{u:"Ǻ",l:"ǻ"},{u:"Ǽ",l:"ǽ"},{u:"Ǿ",l:"ǿ"},{u:"Ȁ",l:"ȁ"},{u:"Ȃ",l:"ȃ"},{u:"Ȅ",l:"ȅ"},{u:"Ȇ",l:"ȇ"},{u:"Ȉ",l:"ȉ"},{u:"Ȋ",l:"ȋ"},{u:"Ȍ",l:"ȍ"},{u:"Ȏ",l:"ȏ"},{u:"Ȑ",l:"ȑ"},{u:"Ȓ",l:"ȓ"},{u:"Ȕ",l:"ȕ"},{u:"Ȗ",l:"ȗ"},{u:"Ș",l:"ș"},{u:"Ț",l:"ț"},{u:"Ȝ",l:"ȝ"},{u:"Ȟ",l:"ȟ"},{u:"Ƞ",l:"ƞ"},{u:"Ȣ",l:"ȣ"},{u:"Ȥ",l:"ȥ"},{u:"Ȧ",l:"ȧ"},{u:"Ȩ",l:"ȩ"},{u:"Ȫ",l:"ȫ"},{u:"Ȭ",l:"ȭ"},{u:"Ȯ",l:"ȯ"},{u:"Ȱ",l:"ȱ"},{u:"Ȳ",l:"ȳ"},{u:"Ⱥ",l:"ⱥ"},{u:"Ȼ",l:"ȼ"},{u:"Ƚ",l:"ƚ"},{u:"Ⱦ",l:"ⱦ"},{u:"Ɂ",l:"ɂ"},{u:"Ƀ",l:"ƀ"},{u:"Ʉ",l:"ʉ"},{u:"Ʌ",l:"ʌ"},{u:"Ɇ",l:"ɇ"},{u:"Ɉ",l:"ɉ"},{u:"Ɋ",l:"ɋ"},{u:"Ɍ",l:"ɍ"},{u:"Ɏ",l:"ɏ"},{u:"Ͱ",l:"ͱ"},{u:"Ͳ",l:"ͳ"},{u:"Ͷ",l:"ͷ"},{u:"Ϳ",l:"ϳ"},{u:"Ά",l:"ά"},{u:"Έ",l:"έ"},{u:"Ή",l:"ή"},{u:"Ί",l:"ί"},{u:"Ό",l:"ό"},{u:"Ύ",l:"ύ"},{u:"Ώ",l:"ώ"},{u:"Α",l:"α"},{u:"Β",l:"β"},{u:"Γ",l:"γ"},{u:"Δ",l:"δ"},{u:"Ε",l:"ε"},{u:"Ζ",l:"ζ"},{u:"Η",l:"η"},{u:"Θ",l:"θ"},{u:"Ι",l:"ι"},{u:"Κ",l:"κ"},{u:"Λ",l:"λ"},{u:"Μ",l:"μ"},{u:"Ν",l:"ν"},{u:"Ξ",l:"ξ"},{u:"Ο",l:"ο"},{u:"Π",l:"π"},{u:"Ρ",l:"ρ"},{u:"Σ",l:"σ"},{u:"Τ",l:"τ"},{u:"Υ",l:"υ"},{u:"Φ",l:"φ"},{u:"Χ",l:"χ"},{u:"Ψ",l:"ψ"},{u:"Ω",l:"ω"},{u:"Ϊ",l:"ϊ"},{u:"Ϋ",l:"ϋ"},{u:"Ϗ",l:"ϗ"},{u:"Ϙ",l:"ϙ"},{u:"Ϛ",l:"ϛ"},{u:"Ϝ",l:"ϝ"},{u:"Ϟ",l:"ϟ"},{u:"Ϡ",l:"ϡ"},{u:"Ϣ",l:"ϣ"},{u:"Ϥ",l:"ϥ"},{u:"Ϧ",l:"ϧ"},{u:"Ϩ",l:"ϩ"},{u:"Ϫ",l:"ϫ"},{u:"Ϭ",l:"ϭ"},{u:"Ϯ",l:"ϯ"},{u:"ϴ",l:"θ"},{u:"Ϸ",l:"ϸ"},{u:"Ϲ",l:"ϲ"},{u:"Ϻ",l:"ϻ"},{u:"Ͻ",l:"ͻ"},{u:"Ͼ",l:"ͼ"},{u:"Ͽ",l:"ͽ"},{u:"Ѐ",l:"ѐ"},{u:"Ё",l:"ё"},{u:"Ђ",l:"ђ"},{u:"Ѓ",l:"ѓ"},{u:"Є",l:"є"},{u:"Ѕ",l:"ѕ"},{u:"І",l:"і"},{u:"Ї",l:"ї"},{u:"Ј",l:"ј"},{u:"Љ",l:"љ"},{u:"Њ",l:"њ"},{u:"Ћ",l:"ћ"},{u:"Ќ",l:"ќ"},{u:"Ѝ",l:"ѝ"},{u:"Ў",l:"ў"},{u:"Џ",l:"џ"},{u:"А",l:"а"},{u:"Б",l:"б"},{u:"В",l:"в"},{u:"Г",l:"г"},{u:"Д",l:"д"},{u:"Е",l:"е"},{u:"Ж",l:"ж"},{u:"З",l:"з"},{u:"И",l:"и"},{u:"Й",l:"й"},{u:"К",l:"к"},{u:"Л",l:"л"},{u:"М",l:"м"},{u:"Н",l:"н"},{u:"О",l:"о"},{u:"П",l:"п"},{u:"Р",l:"р"},{u:"С",l:"с"},{u:"Т",l:"т"},{u:"У",l:"у"},{u:"Ф",l:"ф"},{u:"Х",l:"х"},{u:"Ц",l:"ц"},{u:"Ч",l:"ч"},{u:"Ш",l:"ш"},{u:"Щ",l:"щ"},{u:"Ъ",l:"ъ"},{u:"Ы",l:"ы"},{u:"Ь",l:"ь"},{u:"Э",l:"э"},{u:"Ю",l:"ю"},{u:"Я",l:"я"},{u:"Ѡ",l:"ѡ"},{u:"Ѣ",l:"ѣ"},{u:"Ѥ",l:"ѥ"},{u:"Ѧ",l:"ѧ"},{u:"Ѩ",l:"ѩ"},{u:"Ѫ",l:"ѫ"},{u:"Ѭ",l:"ѭ"},{u:"Ѯ",l:"ѯ"},{u:"Ѱ",l:"ѱ"},{u:"Ѳ",l:"ѳ"},{u:"Ѵ",l:"ѵ"},{u:"Ѷ",l:"ѷ"},{u:"Ѹ",l:"ѹ"},{u:"Ѻ",l:"ѻ"},{u:"Ѽ",l:"ѽ"},{u:"Ѿ",l:"ѿ"},{u:"Ҁ",l:"ҁ"},{u:"Ҋ",l:"ҋ"},{u:"Ҍ",l:"ҍ"},{u:"Ҏ",l:"ҏ"},{u:"Ґ",l:"ґ"},{u:"Ғ",l:"ғ"},{u:"Ҕ",l:"ҕ"},{u:"Җ",l:"җ"},{u:"Ҙ",l:"ҙ"},{u:"Қ",l:"қ"},{u:"Ҝ",l:"ҝ"},{u:"Ҟ",l:"ҟ"},{u:"Ҡ",l:"ҡ"},{u:"Ң",l:"ң"},{u:"Ҥ",l:"ҥ"},{u:"Ҧ",l:"ҧ"},{u:"Ҩ",l:"ҩ"},{u:"Ҫ",l:"ҫ"},{u:"Ҭ",l:"ҭ"},{u:"Ү",l:"ү"},{u:"Ұ",l:"ұ"},{u:"Ҳ",l:"ҳ"},{u:"Ҵ",l:"ҵ"},{u:"Ҷ",l:"ҷ"},{u:"Ҹ",l:"ҹ"},{u:"Һ",l:"һ"},{u:"Ҽ",l:"ҽ"},{u:"Ҿ",l:"ҿ"},{u:"Ӏ",l:"ӏ"},{u:"Ӂ",l:"ӂ"},{u:"Ӄ",l:"ӄ"},{u:"Ӆ",l:"ӆ"},{u:"Ӈ",l:"ӈ"},{u:"Ӊ",l:"ӊ"},{u:"Ӌ",l:"ӌ"},{u:"Ӎ",l:"ӎ"},{u:"Ӑ",l:"ӑ"},{u:"Ӓ",l:"ӓ"},{u:"Ӕ",l:"ӕ"},{u:"Ӗ",l:"ӗ"},{u:"Ә",l:"ә"},{u:"Ӛ",l:"ӛ"},{u:"Ӝ",l:"ӝ"},{u:"Ӟ",l:"ӟ"},{u:"Ӡ",l:"ӡ"},{u:"Ӣ",l:"ӣ"},{u:"Ӥ",l:"ӥ"},{u:"Ӧ",l:"ӧ"},{u:"Ө",l:"ө"},{u:"Ӫ",l:"ӫ"},{u:"Ӭ",l:"ӭ"},{u:"Ӯ",l:"ӯ"},{u:"Ӱ",l:"ӱ"},{u:"Ӳ",l:"ӳ"},{u:"Ӵ",l:"ӵ"},{u:"Ӷ",l:"ӷ"},{u:"Ӹ",l:"ӹ"},{u:"Ӻ",l:"ӻ"},{u:"Ӽ",l:"ӽ"},{u:"Ӿ",l:"ӿ"},{u:"Ԁ",l:"ԁ"},{u:"Ԃ",l:"ԃ"},{u:"Ԅ",l:"ԅ"},{u:"Ԇ",l:"ԇ"},{u:"Ԉ",l:"ԉ"},{u:"Ԋ",l:"ԋ"},{u:"Ԍ",l:"ԍ"},{u:"Ԏ",l:"ԏ"},{u:"Ԑ",l:"ԑ"},{u:"Ԓ",l:"ԓ"},{u:"Ԕ",l:"ԕ"},{u:"Ԗ",l:"ԗ"},{u:"Ԙ",l:"ԙ"},{u:"Ԛ",l:"ԛ"},{u:"Ԝ",l:"ԝ"},{u:"Ԟ",l:"ԟ"},{u:"Ԡ",l:"ԡ"},{u:"Ԣ",l:"ԣ"},{u:"Ԥ",l:"ԥ"},{u:"Ԧ",l:"ԧ"},{u:"Ԩ",l:"ԩ"},{u:"Ԫ",l:"ԫ"},{u:"Ԭ",l:"ԭ"},{u:"Ԯ",l:"ԯ"},{u:"Ա",l:"ա"},{u:"Բ",l:"բ"},{u:"Գ",l:"գ"},{u:"Դ",l:"դ"},{u:"Ե",l:"ե"},{u:"Զ",l:"զ"},{u:"Է",l:"է"},{u:"Ը",l:"ը"},{u:"Թ",l:"թ"},{u:"Ժ",l:"ժ"},{u:"Ի",l:"ի"},{u:"Լ",l:"լ"},{u:"Խ",l:"խ"},{u:"Ծ",l:"ծ"},{u:"Կ",l:"կ"},{u:"Հ",l:"հ"},{u:"Ձ",l:"ձ"},{u:"Ղ",l:"ղ"},{u:"Ճ",l:"ճ"},{u:"Մ",l:"մ"},{u:"Յ",l:"յ"},{u:"Ն",l:"ն"},{u:"Շ",l:"շ"},{u:"Ո",l:"ո"},{u:"Չ",l:"չ"},{u:"Պ",l:"պ"},{u:"Ջ",l:"ջ"},{u:"Ռ",l:"ռ"},{u:"Ս",l:"ս"},{u:"Վ",l:"վ"},{u:"Տ",l:"տ"},{u:"Ր",l:"ր"},{u:"Ց",l:"ց"},{u:"Ւ",l:"ւ"},{u:"Փ",l:"փ"},{u:"Ք",l:"ք"},{u:"Օ",l:"օ"},{u:"Ֆ",l:"ֆ"},{u:"Ⴀ",l:"ⴀ"},{u:"Ⴁ",l:"ⴁ"},{u:"Ⴂ",l:"ⴂ"},{u:"Ⴃ",l:"ⴃ"},{u:"Ⴄ",l:"ⴄ"},{u:"Ⴅ",l:"ⴅ"},{u:"Ⴆ",l:"ⴆ"},{u:"Ⴇ",l:"ⴇ"},{u:"Ⴈ",l:"ⴈ"},{u:"Ⴉ",l:"ⴉ"},{u:"Ⴊ",l:"ⴊ"},{u:"Ⴋ",l:"ⴋ"},{u:"Ⴌ",l:"ⴌ"},{u:"Ⴍ",l:"ⴍ"},{u:"Ⴎ",l:"ⴎ"},{u:"Ⴏ",l:"ⴏ"},{u:"Ⴐ",l:"ⴐ"},{u:"Ⴑ",l:"ⴑ"},{u:"Ⴒ",l:"ⴒ"},{u:"Ⴓ",l:"ⴓ"},{u:"Ⴔ",l:"ⴔ"},{u:"Ⴕ",l:"ⴕ"},{u:"Ⴖ",l:"ⴖ"},{u:"Ⴗ",l:"ⴗ"},{u:"Ⴘ",l:"ⴘ"},{u:"Ⴙ",l:"ⴙ"},{u:"Ⴚ",l:"ⴚ"},{u:"Ⴛ",l:"ⴛ"},{u:"Ⴜ",l:"ⴜ"},{u:"Ⴝ",l:"ⴝ"},{u:"Ⴞ",l:"ⴞ"},{u:"Ⴟ",l:"ⴟ"},{u:"Ⴠ",l:"ⴠ"},{u:"Ⴡ",l:"ⴡ"},{u:"Ⴢ",l:"ⴢ"},{u:"Ⴣ",l:"ⴣ"},{u:"Ⴤ",l:"ⴤ"},{u:"Ⴥ",l:"ⴥ"},{u:"Ⴧ",l:"ⴧ"},{u:"Ⴭ",l:"ⴭ"},{u:"Ꭰ",l:"ꭰ"},{u:"Ꭱ",l:"ꭱ"},{u:"Ꭲ",l:"ꭲ"},{u:"Ꭳ",l:"ꭳ"},{u:"Ꭴ",l:"ꭴ"},{u:"Ꭵ",l:"ꭵ"},{u:"Ꭶ",l:"ꭶ"},{u:"Ꭷ",l:"ꭷ"},{u:"Ꭸ",l:"ꭸ"},{u:"Ꭹ",l:"ꭹ"},{u:"Ꭺ",l:"ꭺ"},{u:"Ꭻ",l:"ꭻ"},{u:"Ꭼ",l:"ꭼ"},{u:"Ꭽ",l:"ꭽ"},{u:"Ꭾ",l:"ꭾ"},{u:"Ꭿ",l:"ꭿ"},{u:"Ꮀ",l:"ꮀ"},{u:"Ꮁ",l:"ꮁ"},{u:"Ꮂ",l:"ꮂ"},{u:"Ꮃ",l:"ꮃ"},{u:"Ꮄ",l:"ꮄ"},{u:"Ꮅ",l:"ꮅ"},{u:"Ꮆ",l:"ꮆ"},{u:"Ꮇ",l:"ꮇ"},{u:"Ꮈ",l:"ꮈ"},{u:"Ꮉ",l:"ꮉ"},{u:"Ꮊ",l:"ꮊ"},{u:"Ꮋ",l:"ꮋ"},{u:"Ꮌ",l:"ꮌ"},{u:"Ꮍ",l:"ꮍ"},{u:"Ꮎ",l:"ꮎ"},{u:"Ꮏ",l:"ꮏ"},{u:"Ꮐ",l:"ꮐ"},{u:"Ꮑ",l:"ꮑ"},{u:"Ꮒ",l:"ꮒ"},{u:"Ꮓ",l:"ꮓ"},{u:"Ꮔ",l:"ꮔ"},{u:"Ꮕ",l:"ꮕ"},{u:"Ꮖ",l:"ꮖ"},{u:"Ꮗ",l:"ꮗ"},{u:"Ꮘ",l:"ꮘ"},{u:"Ꮙ",l:"ꮙ"},{u:"Ꮚ",l:"ꮚ"},{u:"Ꮛ",l:"ꮛ"},{u:"Ꮜ",l:"ꮜ"},{u:"Ꮝ",l:"ꮝ"},{u:"Ꮞ",l:"ꮞ"},{u:"Ꮟ",l:"ꮟ"},{u:"Ꮠ",l:"ꮠ"},{u:"Ꮡ",l:"ꮡ"},{u:"Ꮢ",l:"ꮢ"},{u:"Ꮣ",l:"ꮣ"},{u:"Ꮤ",l:"ꮤ"},{u:"Ꮥ",l:"ꮥ"},{u:"Ꮦ",l:"ꮦ"},{u:"Ꮧ",l:"ꮧ"},{u:"Ꮨ",l:"ꮨ"},{u:"Ꮩ",l:"ꮩ"},{u:"Ꮪ",l:"ꮪ"},{u:"Ꮫ",l:"ꮫ"},{u:"Ꮬ",l:"ꮬ"},{u:"Ꮭ",l:"ꮭ"},{u:"Ꮮ",l:"ꮮ"},{u:"Ꮯ",l:"ꮯ"},{u:"Ꮰ",l:"ꮰ"},{u:"Ꮱ",l:"ꮱ"},{u:"Ꮲ",l:"ꮲ"},{u:"Ꮳ",l:"ꮳ"},{u:"Ꮴ",l:"ꮴ"},{u:"Ꮵ",l:"ꮵ"},{u:"Ꮶ",l:"ꮶ"},{u:"Ꮷ",l:"ꮷ"},{u:"Ꮸ",l:"ꮸ"},{u:"Ꮹ",l:"ꮹ"},{u:"Ꮺ",l:"ꮺ"},{u:"Ꮻ",l:"ꮻ"},{u:"Ꮼ",l:"ꮼ"},{u:"Ꮽ",l:"ꮽ"},{u:"Ꮾ",l:"ꮾ"},{u:"Ꮿ",l:"ꮿ"},{u:"Ᏸ",l:"ᏸ"},{u:"Ᏹ",l:"ᏹ"},{u:"Ᏺ",l:"ᏺ"},{u:"Ᏻ",l:"ᏻ"},{u:"Ᏼ",l:"ᏼ"},{u:"Ᏽ",l:"ᏽ"},{u:"Ᲊ",l:"ᲊ"},{u:"Ა",l:"ა"},{u:"Ბ",l:"ბ"},{u:"Გ",l:"გ"},{u:"Დ",l:"დ"},{u:"Ე",l:"ე"},{u:"Ვ",l:"ვ"},{u:"Ზ",l:"ზ"},{u:"Თ",l:"თ"},{u:"Ი",l:"ი"},{u:"Კ",l:"კ"},{u:"Ლ",l:"ლ"},{u:"Მ",l:"მ"},{u:"Ნ",l:"ნ"},{u:"Ო",l:"ო"},{u:"Პ",l:"პ"},{u:"Ჟ",l:"ჟ"},{u:"Რ",l:"რ"},{u:"Ს",l:"ს"},{u:"Ტ",l:"ტ"},{u:"Უ",l:"უ"},{u:"Ფ",l:"ფ"},{u:"Ქ",l:"ქ"},{u:"Ღ",l:"ღ"},{u:"Ყ",l:"ყ"},{u:"Შ",l:"შ"},{u:"Ჩ",l:"ჩ"},{u:"Ც",l:"ც"},{u:"Ძ",l:"ძ"},{u:"Წ",l:"წ"},{u:"Ჭ",l:"ჭ"},{u:"Ხ",l:"ხ"},{u:"Ჯ",l:"ჯ"},{u:"Ჰ",l:"ჰ"},{u:"Ჱ",l:"ჱ"},{u:"Ჲ",l:"ჲ"},{u:"Ჳ",l:"ჳ"},{u:"Ჴ",l:"ჴ"},{u:"Ჵ",l:"ჵ"},{u:"Ჶ",l:"ჶ"},{u:"Ჷ",l:"ჷ"},{u:"Ჸ",l:"ჸ"},{u:"Ჹ",l:"ჹ"},{u:"Ჺ",l:"ჺ"},{u:"Ჽ",l:"ჽ"},{u:"Ჾ",l:"ჾ"},{u:"Ჿ",l:"ჿ"},{u:"Ḁ",l:"ḁ"},{u:"Ḃ",l:"ḃ"},{u:"Ḅ",l:"ḅ"},{u:"Ḇ",l:"ḇ"},{u:"Ḉ",l:"ḉ"},{u:"Ḋ",l:"ḋ"},{u:"Ḍ",l:"ḍ"},{u:"Ḏ",l:"ḏ"},{u:"Ḑ",l:"ḑ"},{u:"Ḓ",l:"ḓ"},{u:"Ḕ",l:"ḕ"},{u:"Ḗ",l:"ḗ"},{u:"Ḙ",l:"ḙ"},{u:"Ḛ",l:"ḛ"},{u:"Ḝ",l:"ḝ"},{u:"Ḟ",l:"ḟ"},{u:"Ḡ",l:"ḡ"},{u:"Ḣ",l:"ḣ"},{u:"Ḥ",l:"ḥ"},{u:"Ḧ",l:"ḧ"},{u:"Ḩ",l:"ḩ"},{u:"Ḫ",l:"ḫ"},{u:"Ḭ",l:"ḭ"},{u:"Ḯ",l:"ḯ"},{u:"Ḱ",l:"ḱ"},{u:"Ḳ",l:"ḳ"},{u:"Ḵ",l:"ḵ"},{u:"Ḷ",l:"ḷ"},{u:"Ḹ",l:"ḹ"},{u:"Ḻ",l:"ḻ"},{u:"Ḽ",l:"ḽ"},{u:"Ḿ",l:"ḿ"},{u:"Ṁ",l:"ṁ"},{u:"Ṃ",l:"ṃ"},{u:"Ṅ",l:"ṅ"},{u:"Ṇ",l:"ṇ"},{u:"Ṉ",l:"ṉ"},{u:"Ṋ",l:"ṋ"},{u:"Ṍ",l:"ṍ"},{u:"Ṏ",l:"ṏ"},{u:"Ṑ",l:"ṑ"},{u:"Ṓ",l:"ṓ"},{u:"Ṕ",l:"ṕ"},{u:"Ṗ",l:"ṗ"},{u:"Ṙ",l:"ṙ"},{u:"Ṛ",l:"ṛ"},{u:"Ṝ",l:"ṝ"},{u:"Ṟ",l:"ṟ"},{u:"Ṡ",l:"ṡ"},{u:"Ṣ",l:"ṣ"},{u:"Ṥ",l:"ṥ"},{u:"Ṧ",l:"ṧ"},{u:"Ṩ",l:"ṩ"},{u:"Ṫ",l:"ṫ"},{u:"Ṭ",l:"ṭ"},{u:"Ṯ",l:"ṯ"},{u:"Ṱ",l:"ṱ"},{u:"Ṳ",l:"ṳ"},{u:"Ṵ",l:"ṵ"},{u:"Ṷ",l:"ṷ"},{u:"Ṹ",l:"ṹ"},{u:"Ṻ",l:"ṻ"},{u:"Ṽ",l:"ṽ"},{u:"Ṿ",l:"ṿ"},{u:"Ẁ",l:"ẁ"},{u:"Ẃ",l:"ẃ"},{u:"Ẅ",l:"ẅ"},{u:"Ẇ",l:"ẇ"},{u:"Ẉ",l:"ẉ"},{u:"Ẋ",l:"ẋ"},{u:"Ẍ",l:"ẍ"},{u:"Ẏ",l:"ẏ"},{u:"Ẑ",l:"ẑ"},{u:"Ẓ",l:"ẓ"},{u:"Ẕ",l:"ẕ"},{u:"ẞ",l:"ß"},{u:"Ạ",l:"ạ"},{u:"Ả",l:"ả"},{u:"Ấ",l:"ấ"},{u:"Ầ",l:"ầ"},{u:"Ẩ",l:"ẩ"},{u:"Ẫ",l:"ẫ"},{u:"Ậ",l:"ậ"},{u:"Ắ",l:"ắ"},{u:"Ằ",l:"ằ"},{u:"Ẳ",l:"ẳ"},{u:"Ẵ",l:"ẵ"},{u:"Ặ",l:"ặ"},{u:"Ẹ",l:"ẹ"},{u:"Ẻ",l:"ẻ"},{u:"Ẽ",l:"ẽ"},{u:"Ế",l:"ế"},{u:"Ề",l:"ề"},{u:"Ể",l:"ể"},{u:"Ễ",l:"ễ"},{u:"Ệ",l:"ệ"},{u:"Ỉ",l:"ỉ"},{u:"Ị",l:"ị"},{u:"Ọ",l:"ọ"},{u:"Ỏ",l:"ỏ"},{u:"Ố",l:"ố"},{u:"Ồ",l:"ồ"},{u:"Ổ",l:"ổ"},{u:"Ỗ",l:"ỗ"},{u:"Ộ",l:"ộ"},{u:"Ớ",l:"ớ"},{u:"Ờ",l:"ờ"},{u:"Ở",l:"ở"},{u:"Ỡ",l:"ỡ"},{u:"Ợ",l:"ợ"},{u:"Ụ",l:"ụ"},{u:"Ủ",l:"ủ"},{u:"Ứ",l:"ứ"},{u:"Ừ",l:"ừ"},{u:"Ử",l:"ử"},{u:"Ữ",l:"ữ"},{u:"Ự",l:"ự"},{u:"Ỳ",l:"ỳ"},{u:"Ỵ",l:"ỵ"},{u:"Ỷ",l:"ỷ"},{u:"Ỹ",l:"ỹ"},{u:"Ỻ",l:"ỻ"},{u:"Ỽ",l:"ỽ"},{u:"Ỿ",l:"ỿ"},{u:"Ἀ",l:"ἀ"},{u:"Ἁ",l:"ἁ"},{u:"Ἂ",l:"ἂ"},{u:"Ἃ",l:"ἃ"},{u:"Ἄ",l:"ἄ"},{u:"Ἅ",l:"ἅ"},{u:"Ἆ",l:"ἆ"},{u:"Ἇ",l:"ἇ"},{u:"Ἐ",l:"ἐ"},{u:"Ἑ",l:"ἑ"},{u:"Ἒ",l:"ἒ"},{u:"Ἓ",l:"ἓ"},{u:"Ἔ",l:"ἔ"},{u:"Ἕ",l:"ἕ"},{u:"Ἠ",l:"ἠ"},{u:"Ἡ",l:"ἡ"},{u:"Ἢ",l:"ἢ"},{u:"Ἣ",l:"ἣ"},{u:"Ἤ",l:"ἤ"},{u:"Ἥ",l:"ἥ"},{u:"Ἦ",l:"ἦ"},{u:"Ἧ",l:"ἧ"},{u:"Ἰ",l:"ἰ"},{u:"Ἱ",l:"ἱ"},{u:"Ἲ",l:"ἲ"},{u:"Ἳ",l:"ἳ"},{u:"Ἴ",l:"ἴ"},{u:"Ἵ",l:"ἵ"},{u:"Ἶ",l:"ἶ"},{u:"Ἷ",l:"ἷ"},{u:"Ὀ",l:"ὀ"},{u:"Ὁ",l:"ὁ"},{u:"Ὂ",l:"ὂ"},{u:"Ὃ",l:"ὃ"},{u:"Ὄ",l:"ὄ"},{u:"Ὅ",l:"ὅ"},{u:"Ὑ",l:"ὑ"},{u:"Ὓ",l:"ὓ"},{u:"Ὕ",l:"ὕ"},{u:"Ὗ",l:"ὗ"},{u:"Ὠ",l:"ὠ"},{u:"Ὡ",l:"ὡ"},{u:"Ὢ",l:"ὢ"},{u:"Ὣ",l:"ὣ"},{u:"Ὤ",l:"ὤ"},{u:"Ὥ",l:"ὥ"},{u:"Ὦ",l:"ὦ"},{u:"Ὧ",l:"ὧ"},{u:"ᾈ",l:"ᾀ"},{u:"ᾉ",l:"ᾁ"},{u:"ᾊ",l:"ᾂ"},{u:"ᾋ",l:"ᾃ"},{u:"ᾌ",l:"ᾄ"},{u:"ᾍ",l:"ᾅ"},{u:"ᾎ",l:"ᾆ"},{u:"ᾏ",l:"ᾇ"},{u:"ᾘ",l:"ᾐ"},{u:"ᾙ",l:"ᾑ"},{u:"ᾚ",l:"ᾒ"},{u:"ᾛ",l:"ᾓ"},{u:"ᾜ",l:"ᾔ"},{u:"ᾝ",l:"ᾕ"},{u:"ᾞ",l:"ᾖ"},{u:"ᾟ",l:"ᾗ"},{u:"ᾨ",l:"ᾠ"},{u:"ᾩ",l:"ᾡ"},{u:"ᾪ",l:"ᾢ"},{u:"ᾫ",l:"ᾣ"},{u:"ᾬ",l:"ᾤ"},{u:"ᾭ",l:"ᾥ"},{u:"ᾮ",l:"ᾦ"},{u:"ᾯ",l:"ᾧ"},{u:"Ᾰ",l:"ᾰ"},{u:"Ᾱ",l:"ᾱ"},{u:"Ὰ",l:"ὰ"},{u:"Ά",l:"ά"},{u:"ᾼ",l:"ᾳ"},{u:"Ὲ",l:"ὲ"},{u:"Έ",l:"έ"},{u:"Ὴ",l:"ὴ"},{u:"Ή",l:"ή"},{u:"ῌ",l:"ῃ"},{u:"Ῐ",l:"ῐ"},{u:"Ῑ",l:"ῑ"},{u:"Ὶ",l:"ὶ"},{u:"Ί",l:"ί"},{u:"Ῠ",l:"ῠ"},{u:"Ῡ",l:"ῡ"},{u:"Ὺ",l:"ὺ"},{u:"Ύ",l:"ύ"},{u:"Ῥ",l:"ῥ"},{u:"Ὸ",l:"ὸ"},{u:"Ό",l:"ό"},{u:"Ὼ",l:"ὼ"},{u:"Ώ",l:"ώ"},{u:"ῼ",l:"ῳ"},{u:"Ω",l:"ω"},{u:"K",l:"k"},{u:"Å",l:"å"},{u:"Ⅎ",l:"ⅎ"},{u:"Ⅰ",l:"ⅰ"},{u:"Ⅱ",l:"ⅱ"},{u:"Ⅲ",l:"ⅲ"},{u:"Ⅳ",l:"ⅳ"},{u:"Ⅴ",l:"ⅴ"},{u:"Ⅵ",l:"ⅵ"},{u:"Ⅶ",l:"ⅶ"},{u:"Ⅷ",l:"ⅷ"},{u:"Ⅸ",l:"ⅸ"},{u:"Ⅹ",l:"ⅹ"},{u:"Ⅺ",l:"ⅺ"},{u:"Ⅻ",l:"ⅻ"},{u:"Ⅼ",l:"ⅼ"},{u:"Ⅽ",l:"ⅽ"},{u:"Ⅾ",l:"ⅾ"},{u:"Ⅿ",l:"ⅿ"},{u:"Ↄ",l:"ↄ"},{u:"Ⓐ",l:"ⓐ"},{u:"Ⓑ",l:"ⓑ"},{u:"Ⓒ",l:"ⓒ"},{u:"Ⓓ",l:"ⓓ"},{u:"Ⓔ",l:"ⓔ"},{u:"Ⓕ",l:"ⓕ"},{u:"Ⓖ",l:"ⓖ"},{u:"Ⓗ",l:"ⓗ"},{u:"Ⓘ",l:"ⓘ"},{u:"Ⓙ",l:"ⓙ"},{u:"Ⓚ",l:"ⓚ"},{u:"Ⓛ",l:"ⓛ"},{u:"Ⓜ",l:"ⓜ"},{u:"Ⓝ",l:"ⓝ"},{u:"Ⓞ",l:"ⓞ"},{u:"Ⓟ",l:"ⓟ"},{u:"Ⓠ",l:"ⓠ"},{u:"Ⓡ",l:"ⓡ"},{u:"Ⓢ",l:"ⓢ"},{u:"Ⓣ",l:"ⓣ"},{u:"Ⓤ",l:"ⓤ"},{u:"Ⓥ",l:"ⓥ"},{u:"Ⓦ",l:"ⓦ"},{u:"Ⓧ",l:"ⓧ"},{u:"Ⓨ",l:"ⓨ"},{u:"Ⓩ",l:"ⓩ"},{u:"Ⰰ",l:"ⰰ"},{u:"Ⰱ",l:"ⰱ"},{u:"Ⰲ",l:"ⰲ"},{u:"Ⰳ",l:"ⰳ"},{u:"Ⰴ",l:"ⰴ"},{u:"Ⰵ",l:"ⰵ"},{u:"Ⰶ",l:"ⰶ"},{u:"Ⰷ",l:"ⰷ"},{u:"Ⰸ",l:"ⰸ"},{u:"Ⰹ",l:"ⰹ"},{u:"Ⰺ",l:"ⰺ"},{u:"Ⰻ",l:"ⰻ"},{u:"Ⰼ",l:"ⰼ"},{u:"Ⰽ",l:"ⰽ"},{u:"Ⰾ",l:"ⰾ"},{u:"Ⰿ",l:"ⰿ"},{u:"Ⱀ",l:"ⱀ"},{u:"Ⱁ",l:"ⱁ"},{u:"Ⱂ",l:"ⱂ"},{u:"Ⱃ",l:"ⱃ"},{u:"Ⱄ",l:"ⱄ"},{u:"Ⱅ",l:"ⱅ"},{u:"Ⱆ",l:"ⱆ"},{u:"Ⱇ",l:"ⱇ"},{u:"Ⱈ",l:"ⱈ"},{u:"Ⱉ",l:"ⱉ"},{u:"Ⱊ",l:"ⱊ"},{u:"Ⱋ",l:"ⱋ"},{u:"Ⱌ",l:"ⱌ"},{u:"Ⱍ",l:"ⱍ"},{u:"Ⱎ",l:"ⱎ"},{u:"Ⱏ",l:"ⱏ"},{u:"Ⱐ",l:"ⱐ"},{u:"Ⱑ",l:"ⱑ"},{u:"Ⱒ",l:"ⱒ"},{u:"Ⱓ",l:"ⱓ"},{u:"Ⱔ",l:"ⱔ"},{u:"Ⱕ",l:"ⱕ"},{u:"Ⱖ",l:"ⱖ"},{u:"Ⱗ",l:"ⱗ"},{u:"Ⱘ",l:"ⱘ"},{u:"Ⱙ",l:"ⱙ"},{u:"Ⱚ",l:"ⱚ"},{u:"Ⱛ",l:"ⱛ"},{u:"Ⱜ",l:"ⱜ"},{u:"Ⱝ",l:"ⱝ"},{u:"Ⱞ",l:"ⱞ"},{u:"Ⱟ",l:"ⱟ"},{u:"Ⱡ",l:"ⱡ"},{u:"Ɫ",l:"ɫ"},{u:"Ᵽ",l:"ᵽ"},{u:"Ɽ",l:"ɽ"},{u:"Ⱨ",l:"ⱨ"},{u:"Ⱪ",l:"ⱪ"},{u:"Ⱬ",l:"ⱬ"},{u:"Ɑ",l:"ɑ"},{u:"Ɱ",l:"ɱ"},{u:"Ɐ",l:"ɐ"},{u:"Ɒ",l:"ɒ"},{u:"Ⱳ",l:"ⱳ"},{u:"Ⱶ",l:"ⱶ"},{u:"Ȿ",l:"ȿ"},{u:"Ɀ",l:"ɀ"},{u:"Ⲁ",l:"ⲁ"},{u:"Ⲃ",l:"ⲃ"},{u:"Ⲅ",l:"ⲅ"},{u:"Ⲇ",l:"ⲇ"},{u:"Ⲉ",l:"ⲉ"},{u:"Ⲋ",l:"ⲋ"},{u:"Ⲍ",l:"ⲍ"},{u:"Ⲏ",l:"ⲏ"},{u:"Ⲑ",l:"ⲑ"},{u:"Ⲓ",l:"ⲓ"},{u:"Ⲕ",l:"ⲕ"},{u:"Ⲗ",l:"ⲗ"},{u:"Ⲙ",l:"ⲙ"},{u:"Ⲛ",l:"ⲛ"},{u:"Ⲝ",l:"ⲝ"},{u:"Ⲟ",l:"ⲟ"},{u:"Ⲡ",l:"ⲡ"},{u:"Ⲣ",l:"ⲣ"},{u:"Ⲥ",l:"ⲥ"},{u:"Ⲧ",l:"ⲧ"},{u:"Ⲩ",l:"ⲩ"},{u:"Ⲫ",l:"ⲫ"},{u:"Ⲭ",l:"ⲭ"},{u:"Ⲯ",l:"ⲯ"},{u:"Ⲱ",l:"ⲱ"},{u:"Ⲳ",l:"ⲳ"},{u:"Ⲵ",l:"ⲵ"},{u:"Ⲷ",l:"ⲷ"},{u:"Ⲹ",l:"ⲹ"},{u:"Ⲻ",l:"ⲻ"},{u:"Ⲽ",l:"ⲽ"},{u:"Ⲿ",l:"ⲿ"},{u:"Ⳁ",l:"ⳁ"},{u:"Ⳃ",l:"ⳃ"},{u:"Ⳅ",l:"ⳅ"},{u:"Ⳇ",l:"ⳇ"},{u:"Ⳉ",l:"ⳉ"},{u:"Ⳋ",l:"ⳋ"},{u:"Ⳍ",l:"ⳍ"},{u:"Ⳏ",l:"ⳏ"},{u:"Ⳑ",l:"ⳑ"},{u:"Ⳓ",l:"ⳓ"},{u:"Ⳕ",l:"ⳕ"},{u:"Ⳗ",l:"ⳗ"},{u:"Ⳙ",l:"ⳙ"},{u:"Ⳛ",l:"ⳛ"},{u:"Ⳝ",l:"ⳝ"},{u:"Ⳟ",l:"ⳟ"},{u:"Ⳡ",l:"ⳡ"},{u:"Ⳣ",l:"ⳣ"},{u:"Ⳬ",l:"ⳬ"},{u:"Ⳮ",l:"ⳮ"},{u:"Ⳳ",l:"ⳳ"},{u:"Ꙁ",l:"ꙁ"},{u:"Ꙃ",l:"ꙃ"},{u:"Ꙅ",l:"ꙅ"},{u:"Ꙇ",l:"ꙇ"},{u:"Ꙉ",l:"ꙉ"},{u:"Ꙋ",l:"ꙋ"},{u:"Ꙍ",l:"ꙍ"},{u:"Ꙏ",l:"ꙏ"},{u:"Ꙑ",l:"ꙑ"},{u:"Ꙓ",l:"ꙓ"},{u:"Ꙕ",l:"ꙕ"},{u:"Ꙗ",l:"ꙗ"},{u:"Ꙙ",l:"ꙙ"},{u:"Ꙛ",l:"ꙛ"},{u:"Ꙝ",l:"ꙝ"},{u:"Ꙟ",l:"ꙟ"},{u:"Ꙡ",l:"ꙡ"},{u:"Ꙣ",l:"ꙣ"},{u:"Ꙥ",l:"ꙥ"},{u:"Ꙧ",l:"ꙧ"},{u:"Ꙩ",l:"ꙩ"},{u:"Ꙫ",l:"ꙫ"},{u:"Ꙭ",l:"ꙭ"},{u:"Ꚁ",l:"ꚁ"},{u:"Ꚃ",l:"ꚃ"},{u:"Ꚅ",l:"ꚅ"},{u:"Ꚇ",l:"ꚇ"},{u:"Ꚉ",l:"ꚉ"},{u:"Ꚋ",l:"ꚋ"},{u:"Ꚍ",l:"ꚍ"},{u:"Ꚏ",l:"ꚏ"},{u:"Ꚑ",l:"ꚑ"},{u:"Ꚓ",l:"ꚓ"},{u:"Ꚕ",l:"ꚕ"},{u:"Ꚗ",l:"ꚗ"},{u:"Ꚙ",l:"ꚙ"},{u:"Ꚛ",l:"ꚛ"},{u:"Ꜣ",l:"ꜣ"},{u:"Ꜥ",l:"ꜥ"},{u:"Ꜧ",l:"ꜧ"},{u:"Ꜩ",l:"ꜩ"},{u:"Ꜫ",l:"ꜫ"},{u:"Ꜭ",l:"ꜭ"},{u:"Ꜯ",l:"ꜯ"},{u:"Ꜳ",l:"ꜳ"},{u:"Ꜵ",l:"ꜵ"},{u:"Ꜷ",l:"ꜷ"},{u:"Ꜹ",l:"ꜹ"},{u:"Ꜻ",l:"ꜻ"},{u:"Ꜽ",l:"ꜽ"},{u:"Ꜿ",l:"ꜿ"},{u:"Ꝁ",l:"ꝁ"},{u:"Ꝃ",l:"ꝃ"},{u:"Ꝅ",l:"ꝅ"},{u:"Ꝇ",l:"ꝇ"},{u:"Ꝉ",l:"ꝉ"},{u:"Ꝋ",l:"ꝋ"},{u:"Ꝍ",l:"ꝍ"},{u:"Ꝏ",l:"ꝏ"},{u:"Ꝑ",l:"ꝑ"},{u:"Ꝓ",l:"ꝓ"},{u:"Ꝕ",l:"ꝕ"},{u:"Ꝗ",l:"ꝗ"},{u:"Ꝙ",l:"ꝙ"},{u:"Ꝛ",l:"ꝛ"},{u:"Ꝝ",l:"ꝝ"},{u:"Ꝟ",l:"ꝟ"},{u:"Ꝡ",l:"ꝡ"},{u:"Ꝣ",l:"ꝣ"},{u:"Ꝥ",l:"ꝥ"},{u:"Ꝧ",l:"ꝧ"},{u:"Ꝩ",l:"ꝩ"},{u:"Ꝫ",l:"ꝫ"},{u:"Ꝭ",l:"ꝭ"},{u:"Ꝯ",l:"ꝯ"},{u:"Ꝺ",l:"ꝺ"},{u:"Ꝼ",l:"ꝼ"},{u:"Ᵹ",l:"ᵹ"},{u:"Ꝿ",l:"ꝿ"},{u:"Ꞁ",l:"ꞁ"},{u:"Ꞃ",l:"ꞃ"},{u:"Ꞅ",l:"ꞅ"},{u:"Ꞇ",l:"ꞇ"},{u:"Ꞌ",l:"ꞌ"},{u:"Ɥ",l:"ɥ"},{u:"Ꞑ",l:"ꞑ"},{u:"Ꞓ",l:"ꞓ"},{u:"Ꞗ",l:"ꞗ"},{u:"Ꞙ",l:"ꞙ"},{u:"Ꞛ",l:"ꞛ"},{u:"Ꞝ",l:"ꞝ"},{u:"Ꞟ",l:"ꞟ"},{u:"Ꞡ",l:"ꞡ"},{u:"Ꞣ",l:"ꞣ"},{u:"Ꞥ",l:"ꞥ"},{u:"Ꞧ",l:"ꞧ"},{u:"Ꞩ",l:"ꞩ"},{u:"Ɦ",l:"ɦ"},{u:"Ɜ",l:"ɜ"},{u:"Ɡ",l:"ɡ"},{u:"Ɬ",l:"ɬ"},{u:"Ɪ",l:"ɪ"},{u:"Ʞ",l:"ʞ"},{u:"Ʇ",l:"ʇ"},{u:"Ʝ",l:"ʝ"},{u:"Ꭓ",l:"ꭓ"},{u:"Ꞵ",l:"ꞵ"},{u:"Ꞷ",l:"ꞷ"},{u:"Ꞹ",l:"ꞹ"},{u:"Ꞻ",l:"ꞻ"},{u:"Ꞽ",l:"ꞽ"},{u:"Ꞿ",l:"ꞿ"},{u:"Ꟁ",l:"ꟁ"},{u:"Ꟃ",l:"ꟃ"},{u:"Ꞔ",l:"ꞔ"},{u:"Ʂ",l:"ʂ"},{u:"Ᶎ",l:"ᶎ"},{u:"Ꟈ",l:"ꟈ"},{u:"Ꟊ",l:"ꟊ"},{u:"Ɤ",l:"ɤ"},{u:"Ꟍ",l:"ꟍ"},{u:"Ꟑ",l:"ꟑ"},{u:"Ꟗ",l:"ꟗ"},{u:"Ꟙ",l:"ꟙ"},{u:"Ꟛ",l:"ꟛ"},{u:"Ƛ",l:"ƛ"},{u:"Ꟶ",l:"ꟶ"},{u:"A",l:"a"},{u:"B",l:"b"},{u:"C",l:"c"},{u:"D",l:"d"},{u:"E",l:"e"},{u:"F",l:"f"},{u:"G",l:"g"},{u:"H",l:"h"},{u:"I",l:"i"},{u:"J",l:"j"},{u:"K",l:"k"},{u:"L",l:"l"},{u:"M",l:"m"},{u:"N",l:"n"},{u:"O",l:"o"},{u:"P",l:"p"},{u:"Q",l:"q"},{u:"R",l:"r"},{u:"S",l:"s"},{u:"T",l:"t"},{u:"U",l:"u"},{u:"V",l:"v"},{u:"W",l:"w"},{u:"X",l:"x"},{u:"Y",l:"y"},{u:"Z",l:"z"},{u:"𐐀",l:"𐐨"},{u:"𐐁",l:"𐐩"},{u:"𐐂",l:"𐐪"},{u:"𐐃",l:"𐐫"},{u:"𐐄",l:"𐐬"},{u:"𐐅",l:"𐐭"},{u:"𐐆",l:"𐐮"},{u:"𐐇",l:"𐐯"},{u:"𐐈",l:"𐐰"},{u:"𐐉",l:"𐐱"},{u:"𐐊",l:"𐐲"},{u:"𐐋",l:"𐐳"},{u:"𐐌",l:"𐐴"},{u:"𐐍",l:"𐐵"},{u:"𐐎",l:"𐐶"},{u:"𐐏",l:"𐐷"},{u:"𐐐",l:"𐐸"},{u:"𐐑",l:"𐐹"},{u:"𐐒",l:"𐐺"},{u:"𐐓",l:"𐐻"},{u:"𐐔",l:"𐐼"},{u:"𐐕",l:"𐐽"},{u:"𐐖",l:"𐐾"},{u:"𐐗",l:"𐐿"},{u:"𐐘",l:"𐑀"},{u:"𐐙",l:"𐑁"},{u:"𐐚",l:"𐑂"},{u:"𐐛",l:"𐑃"},{u:"𐐜",l:"𐑄"},{u:"𐐝",l:"𐑅"},{u:"𐐞",l:"𐑆"},{u:"𐐟",l:"𐑇"},{u:"𐐠",l:"𐑈"},{u:"𐐡",l:"𐑉"},{u:"𐐢",l:"𐑊"},{u:"𐐣",l:"𐑋"},{u:"𐐤",l:"𐑌"},{u:"𐐥",l:"𐑍"},{u:"𐐦",l:"𐑎"},{u:"𐐧",l:"𐑏"},{u:"𐒰",l:"𐓘"},{u:"𐒱",l:"𐓙"},{u:"𐒲",l:"𐓚"},{u:"𐒳",l:"𐓛"},{u:"𐒴",l:"𐓜"},{u:"𐒵",l:"𐓝"},{u:"𐒶",l:"𐓞"},{u:"𐒷",l:"𐓟"},{u:"𐒸",l:"𐓠"},{u:"𐒹",l:"𐓡"},{u:"𐒺",l:"𐓢"},{u:"𐒻",l:"𐓣"},{u:"𐒼",l:"𐓤"},{u:"𐒽",l:"𐓥"},{u:"𐒾",l:"𐓦"},{u:"𐒿",l:"𐓧"},{u:"𐓀",l:"𐓨"},{u:"𐓁",l:"𐓩"},{u:"𐓂",l:"𐓪"},{u:"𐓃",l:"𐓫"},{u:"𐓄",l:"𐓬"},{u:"𐓅",l:"𐓭"},{u:"𐓆",l:"𐓮"},{u:"𐓇",l:"𐓯"},{u:"𐓈",l:"𐓰"},{u:"𐓉",l:"𐓱"},{u:"𐓊",l:"𐓲"},{u:"𐓋",l:"𐓳"},{u:"𐓌",l:"𐓴"},{u:"𐓍",l:"𐓵"},{u:"𐓎",l:"𐓶"},{u:"𐓏",l:"𐓷"},{u:"𐓐",l:"𐓸"},{u:"𐓑",l:"𐓹"},{u:"𐓒",l:"𐓺"},{u:"𐓓",l:"𐓻"},{u:"𐕰",l:"𐖗"},{u:"𐕱",l:"𐖘"},{u:"𐕲",l:"𐖙"},{u:"𐕳",l:"𐖚"},{u:"𐕴",l:"𐖛"},{u:"𐕵",l:"𐖜"},{u:"𐕶",l:"𐖝"},{u:"𐕷",l:"𐖞"},{u:"𐕸",l:"𐖟"},{u:"𐕹",l:"𐖠"},{u:"𐕺",l:"𐖡"},{u:"𐕼",l:"𐖣"},{u:"𐕽",l:"𐖤"},{u:"𐕾",l:"𐖥"},{u:"𐕿",l:"𐖦"},{u:"𐖀",l:"𐖧"},{u:"𐖁",l:"𐖨"},{u:"𐖂",l:"𐖩"},{u:"𐖃",l:"𐖪"},{u:"𐖄",l:"𐖫"},{u:"𐖅",l:"𐖬"},{u:"𐖆",l:"𐖭"},{u:"𐖇",l:"𐖮"},{u:"𐖈",l:"𐖯"},{u:"𐖉",l:"𐖰"},{u:"𐖊",l:"𐖱"},{u:"𐖌",l:"𐖳"},{u:"𐖍",l:"𐖴"},{u:"𐖎",l:"𐖵"},{u:"𐖏",l:"𐖶"},{u:"𐖐",l:"𐖷"},{u:"𐖑",l:"𐖸"},{u:"𐖒",l:"𐖹"},{u:"𐖔",l:"𐖻"},{u:"𐖕",l:"𐖼"},{u:"𐲀",l:"𐳀"},{u:"𐲁",l:"𐳁"},{u:"𐲂",l:"𐳂"},{u:"𐲃",l:"𐳃"},{u:"𐲄",l:"𐳄"},{u:"𐲅",l:"𐳅"},{u:"𐲆",l:"𐳆"},{u:"𐲇",l:"𐳇"},{u:"𐲈",l:"𐳈"},{u:"𐲉",l:"𐳉"},{u:"𐲊",l:"𐳊"},{u:"𐲋",l:"𐳋"},{u:"𐲌",l:"𐳌"},{u:"𐲍",l:"𐳍"},{u:"𐲎",l:"𐳎"},{u:"𐲏",l:"𐳏"},{u:"𐲐",l:"𐳐"},{u:"𐲑",l:"𐳑"},{u:"𐲒",l:"𐳒"},{u:"𐲓",l:"𐳓"},{u:"𐲔",l:"𐳔"},{u:"𐲕",l:"𐳕"},{u:"𐲖",l:"𐳖"},{u:"𐲗",l:"𐳗"},{u:"𐲘",l:"𐳘"},{u:"𐲙",l:"𐳙"},{u:"𐲚",l:"𐳚"},{u:"𐲛",l:"𐳛"},{u:"𐲜",l:"𐳜"},{u:"𐲝",l:"𐳝"},{u:"𐲞",l:"𐳞"},{u:"𐲟",l:"𐳟"},{u:"𐲠",l:"𐳠"},{u:"𐲡",l:"𐳡"},{u:"𐲢",l:"𐳢"},{u:"𐲣",l:"𐳣"},{u:"𐲤",l:"𐳤"},{u:"𐲥",l:"𐳥"},{u:"𐲦",l:"𐳦"},{u:"𐲧",l:"𐳧"},{u:"𐲨",l:"𐳨"},{u:"𐲩",l:"𐳩"},{u:"𐲪",l:"𐳪"},{u:"𐲫",l:"𐳫"},{u:"𐲬",l:"𐳬"},{u:"𐲭",l:"𐳭"},{u:"𐲮",l:"𐳮"},{u:"𐲯",l:"𐳯"},{u:"𐲰",l:"𐳰"},{u:"𐲱",l:"𐳱"},{u:"𐲲",l:"𐳲"},{u:"𐵐",l:"𐵰"},{u:"𐵑",l:"𐵱"},{u:"𐵒",l:"𐵲"},{u:"𐵓",l:"𐵳"},{u:"𐵔",l:"𐵴"},{u:"𐵕",l:"𐵵"},{u:"𐵖",l:"𐵶"},{u:"𐵗",l:"𐵷"},{u:"𐵘",l:"𐵸"},{u:"𐵙",l:"𐵹"},{u:"𐵚",l:"𐵺"},{u:"𐵛",l:"𐵻"},{u:"𐵜",l:"𐵼"},{u:"𐵝",l:"𐵽"},{u:"𐵞",l:"𐵾"},{u:"𐵟",l:"𐵿"},{u:"𐵠",l:"𐶀"},{u:"𐵡",l:"𐶁"},{u:"𐵢",l:"𐶂"},{u:"𐵣",l:"𐶃"},{u:"𐵤",l:"𐶄"},{u:"𐵥",l:"𐶅"},{u:"𑢠",l:"𑣀"},{u:"𑢡",l:"𑣁"},{u:"𑢢",l:"𑣂"},{u:"𑢣",l:"𑣃"},{u:"𑢤",l:"𑣄"},{u:"𑢥",l:"𑣅"},{u:"𑢦",l:"𑣆"},{u:"𑢧",l:"𑣇"},{u:"𑢨",l:"𑣈"},{u:"𑢩",l:"𑣉"},{u:"𑢪",l:"𑣊"},{u:"𑢫",l:"𑣋"},{u:"𑢬",l:"𑣌"},{u:"𑢭",l:"𑣍"},{u:"𑢮",l:"𑣎"},{u:"𑢯",l:"𑣏"},{u:"𑢰",l:"𑣐"},{u:"𑢱",l:"𑣑"},{u:"𑢲",l:"𑣒"},{u:"𑢳",l:"𑣓"},{u:"𑢴",l:"𑣔"},{u:"𑢵",l:"𑣕"},{u:"𑢶",l:"𑣖"},{u:"𑢷",l:"𑣗"},{u:"𑢸",l:"𑣘"},{u:"𑢹",l:"𑣙"},{u:"𑢺",l:"𑣚"},{u:"𑢻",l:"𑣛"},{u:"𑢼",l:"𑣜"},{u:"𑢽",l:"𑣝"},{u:"𑢾",l:"𑣞"},{u:"𑢿",l:"𑣟"},{u:"𖹀",l:"𖹠"},{u:"𖹁",l:"𖹡"},{u:"𖹂",l:"𖹢"},{u:"𖹃",l:"𖹣"},{u:"𖹄",l:"𖹤"},{u:"𖹅",l:"𖹥"},{u:"𖹆",l:"𖹦"},{u:"𖹇",l:"𖹧"},{u:"𖹈",l:"𖹨"},{u:"𖹉",l:"𖹩"},{u:"𖹊",l:"𖹪"},{u:"𖹋",l:"𖹫"},{u:"𖹌",l:"𖹬"},{u:"𖹍",l:"𖹭"},{u:"𖹎",l:"𖹮"},{u:"𖹏",l:"𖹯"},{u:"𖹐",l:"𖹰"},{u:"𖹑",l:"𖹱"},{u:"𖹒",l:"𖹲"},{u:"𖹓",l:"𖹳"},{u:"𖹔",l:"𖹴"},{u:"𖹕",l:"𖹵"},{u:"𖹖",l:"𖹶"},{u:"𖹗",l:"𖹷"},{u:"𖹘",l:"𖹸"},{u:"𖹙",l:"𖹹"},{u:"𖹚",l:"𖹺"},{u:"𖹛",l:"𖹻"},{u:"𖹜",l:"𖹼"},{u:"𖹝",l:"𖹽"},{u:"𖹞",l:"𖹾"},{u:"𖹟",l:"𖹿"},{u:"𞤀",l:"𞤢"},{u:"𞤁",l:"𞤣"},{u:"𞤂",l:"𞤤"},{u:"𞤃",l:"𞤥"},{u:"𞤄",l:"𞤦"},{u:"𞤅",l:"𞤧"},{u:"𞤆",l:"𞤨"},{u:"𞤇",l:"𞤩"},{u:"𞤈",l:"𞤪"},{u:"𞤉",l:"𞤫"},{u:"𞤊",l:"𞤬"},{u:"𞤋",l:"𞤭"},{u:"𞤌",l:"𞤮"},{u:"𞤍",l:"𞤯"},{u:"𞤎",l:"𞤰"},{u:"𞤏",l:"𞤱"},{u:"𞤐",l:"𞤲"},{u:"𞤑",l:"𞤳"},{u:"𞤒",l:"𞤴"},{u:"𞤓",l:"𞤵"},{u:"𞤔",l:"𞤶"},{u:"𞤕",l:"𞤷"},{u:"𞤖",l:"𞤸"},{u:"𞤗",l:"𞤹"},{u:"𞤘",l:"𞤺"},{u:"𞤙",l:"𞤻"},{u:"𞤚",l:"𞤼"},{u:"𞤛",l:"𞤽"},{u:"𞤜",l:"𞤾"},{u:"𞤝",l:"𞤿"},{u:"𞤞",l:"𞥀"},{u:"𞤟",l:"𞥁"},{u:"𞤠",l:"𞥂"},{u:"𞤡",l:"𞥃"}] + +# Tellraw +execute if score #StringLib.ShowLoadMessage StringLib matches 0 run return 0 +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{text:"StringLib >> ",color:"#99EAD6"},"Installed StringLib (v0.2.0)"] +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{text:"StringLib >> ",color:"#99EAD6"},{text:"Click here",bold:true,color:"yellow",click_event:{action:"run_command",command:"/function macroengine_string:debug/toggle_load_message"},hover_event:{action:"show_text",value:["/function macroengine_string:debug/toggle_load_message"]}}," to toggle the load message"] \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/insert/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/insert/main.mcfunction new file mode 100644 index 00000000..7dfb69ec --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/insert/main.mcfunction @@ -0,0 +1,2 @@ +# Combine S1 + I + S2 into the final inserted string +$data modify storage macroengine_string:output insert set value "$(S1)$(I)$(S2)" diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/load.mcfunction new file mode 100644 index 00000000..db22d03d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/load.mcfunction @@ -0,0 +1,6 @@ +# Init +scoreboard objectives add StringLib dummy +execute unless score #StringLib.Init StringLib matches 1 run function macroengine_string:zprivate/init + +# Tellraw +execute if score #StringLib.ShowLoadMessage StringLib matches 1 run tellraw @a ["﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},{"text":"Made by CMDred","click_event":{"action":"open_url","url":"https://www.youtube.com/BluesProductionTeam"},"hover_event":{"action":"show_text","value":[{"text":"YouTube: ","color":"dark_aqua"},{"text":"CMDred","color":"white"}]}},"\n﹌ ",{"text":"StringLib >> ","color":"#99EAD6"},"Get the latest updates: ",{"text":"Modrinth","color":"#5491F7","click_event":{"action":"open_url","url":"https://modrinth.com/datapack/macroengine_string"},"hover_event":{"action":"show_text","value":["Open page"]}},", ",{"text":"GitHub","color":"#5491F7","click_event":{"action":"open_url","url":"https://github.com/runtoolkit/macroEngine"},"hover_event":{"action":"show_text","value":["Open page"]}}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_rest.mcfunction new file mode 100644 index 00000000..748fc668 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_rest.mcfunction @@ -0,0 +1,18 @@ +# Check if 'Find' is located at that position (First character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input replace.Find 1 + +function macroengine_string:zprivate/find/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 0 run return 0 + +# Replace (FindLength > 1) (Already in this function instead of running the other one to save some score checks) +data modify storage macroengine_string:input concat append from storage macroengine_string:temp data.StringBefore[] +data modify storage macroengine_string:input concat append from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringBefore set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_start_loop.mcfunction new file mode 100644 index 00000000..47219a73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if first character matches +data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:temp data.String 0 1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.FirstChar set string storage macroengine_string:input replace.Find 0 1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if function macroengine_string:zprivate/replace/replace run return 0 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players add #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.StringBefore append string storage macroengine_string:temp data.String 0 1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +function macroengine_string:zprivate/replace/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/main.mcfunction new file mode 100644 index 00000000..7a1d6fd0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/main.mcfunction @@ -0,0 +1,13 @@ +# Setup +function macroengine_string:zprivate/replace/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the first letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return 0 +execute if score #StringLib.FindAmount StringLib matches 1 run return 0 +execute if score #StringLib.Index StringLib > #StringLib.CharsTotal StringLib run return 0 + +scoreboard players remove #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib += #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 1 +function macroengine_string:zprivate/replace/main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/replace.mcfunction new file mode 100644 index 00000000..5d17f72b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/replace.mcfunction @@ -0,0 +1,9 @@ +# Replace (FindLength > 1) +execute if score #StringLib.FindLength StringLib matches 2.. run return run function macroengine_string:zprivate/replace/check_word_rest + +# Replace (FindLength = 1) +data modify storage macroengine_string:temp data.CheckString.String set from storage macroengine_string:temp data.String +data modify storage macroengine_string:input concat append from storage macroengine_string:temp data.StringBefore[] +data modify storage macroengine_string:input concat append from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringBefore set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_rest.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_rest.mcfunction new file mode 100644 index 00000000..866c2a80 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_rest.mcfunction @@ -0,0 +1,18 @@ +# Check if 'Find' is located at that position (Last character already matches) (IsFindLength is set to 0 because the 'store success' check here only stores the value if it's 1 because it has a command after it that might not run) +execute store result score #StringLib.CheckString.CharsLeft StringLib run data get storage macroengine_string:temp data.String +scoreboard players set #StringLib.CheckString.IsFindLength StringLib 0 +execute store success score #StringLib.CheckString.IsFindLength StringLib if score #StringLib.FindLength StringLib <= #StringLib.CheckString.CharsLeft StringLib run scoreboard players operation #StringLib.CheckString.CharsLeft StringLib = #StringLib.FindLength StringLib +execute if score #StringLib.CheckString.IsFindLength StringLib matches 0 run return 0 +scoreboard players remove #StringLib.CheckString.CharsLeft StringLib 1 + +data modify storage macroengine_string:temp data.CheckString.String set string storage macroengine_string:temp data.String 0 -1 +data modify storage macroengine_string:temp data.CheckString.Find set string storage macroengine_string:input replace.Find 0 -1 + +function macroengine_string:zprivate/find/reversed/check_word_rest_loop +execute if score #StringLib.SuccessCheck StringLib matches 0 run return 0 + +# Replace (FindLength < -1) (Already in this function instead of running the other one to save some score checks) +data modify storage macroengine_string:input concat prepend from storage macroengine_string:temp data.StringAfter[] +data modify storage macroengine_string:input concat prepend from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringAfter set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_start_loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_start_loop.mcfunction new file mode 100644 index 00000000..0bab7001 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/check_word_start_loop.mcfunction @@ -0,0 +1,11 @@ +# Check if last character matches +data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:temp data.String -1 +execute store success score #StringLib.SuccessCheck StringLib run data modify storage macroengine_string:temp data.LastChar set string storage macroengine_string:input replace.Find -1 +execute if score #StringLib.SuccessCheck StringLib matches 0 if function macroengine_string:zprivate/replace/reversed/replace run return 0 + +# Next loop (Stop once the word can no longer fit, or if it's been found already) +execute if score #StringLib.Index StringLib matches 0 run return run scoreboard players set #StringLib.FoundNothing StringLib 1 +scoreboard players remove #StringLib.Index StringLib 1 +data modify storage macroengine_string:temp data.StringAfter prepend string storage macroengine_string:temp data.String -1 +data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +function macroengine_string:zprivate/replace/reversed/check_word_start_loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/main.mcfunction new file mode 100644 index 00000000..12d2b39b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/main.mcfunction @@ -0,0 +1,13 @@ +# Setup +function macroengine_string:zprivate/replace/reversed/check_word_start_loop + +# Loop (Search for next occurence of the "Find" string. Stop if it found enough occurences already or if it hit a dead end, or if the string ends. Needs that last check because it skips it in "check_word_start_loop" if the last letter matches) +execute if score #StringLib.FoundNothing StringLib matches 1 run return 0 +execute if score #StringLib.FindAmount StringLib matches -1 run return 0 +execute if score #StringLib.Index StringLib < #StringLib.FindLength StringLib run return 0 + +scoreboard players add #StringLib.FindAmount StringLib 1 +scoreboard players operation #StringLib.Index StringLib -= #StringLib.FindLength StringLib +execute if score #StringLib.FindLength StringLib matches 1 run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.String 0 -1 +execute if score #StringLib.FindLength StringLib matches 2.. run data modify storage macroengine_string:temp data.String set string storage macroengine_string:temp data.CheckString.String 0 -1 +function macroengine_string:zprivate/replace/reversed/main diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/replace.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/replace.mcfunction new file mode 100644 index 00000000..3546fdfd --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/replace/reversed/replace.mcfunction @@ -0,0 +1,9 @@ +# Replace (FindLength > 1) +execute if score #StringLib.FindLength StringLib matches 2.. run return run function macroengine_string:zprivate/replace/reversed/check_word_rest + +# Replace (FindLength = 1) +data modify storage macroengine_string:temp data.CheckString.String set from storage macroengine_string:temp data.String +data modify storage macroengine_string:input concat prepend from storage macroengine_string:temp data.StringAfter[] +data modify storage macroengine_string:input concat prepend from storage macroengine_string:input replace.Replace +data modify storage macroengine_string:temp data.StringAfter set value [] +return run scoreboard players add #StringLib.ReturnValue StringLib 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/fail.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/fail.mcfunction new file mode 100644 index 00000000..1a873fc9 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/fail.mcfunction @@ -0,0 +1,4 @@ +# No instance of the Separator was found - the whole String is the only element +data modify storage macroengine_string:output split append from storage macroengine_string:input split.String +data remove storage macroengine_string:temp data +return 1 diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/last_segment.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/last_segment.mcfunction new file mode 100644 index 00000000..c51e58ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/last_segment.mcfunction @@ -0,0 +1,3 @@ +# Append the remaining part of the string after the last separator instance +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Max) +data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Segment diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/main.mcfunction new file mode 100644 index 00000000..fadc8347 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/main.mcfunction @@ -0,0 +1,17 @@ +# Append the segment from Min to Max (skip empty unless KeepEmpty is 1b) +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Min) $(Max) +execute store result score #StringLib.SegmentLength StringLib run data get storage macroengine_string:temp data.Segment +execute unless score #StringLib.SegmentLength StringLib matches 0 run data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Segment +execute if score #StringLib.SegmentLength StringLib matches 0 if score #StringLib.KeepEmpty StringLib matches 1 run data modify storage macroengine_string:output split append value "" + +# This found instance is now consumed; stop once none are left +data remove storage macroengine_string:output find[0] +execute unless data storage macroengine_string:output find[0] run return 0 + +# Move Min to just after the separator we just split on, then jump Max to the next found index +scoreboard players operation #StringLib.NextMin StringLib = #StringLib.Max StringLib +scoreboard players operation #StringLib.NextMin StringLib += #StringLib.SeparatorLength StringLib +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players get #StringLib.NextMin StringLib +execute store result storage macroengine_string:temp data.Max int 1 store result score #StringLib.Max StringLib run data get storage macroengine_string:output find[0] + +function macroengine_string:zprivate/split/main with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/reversed/main.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/reversed/main.mcfunction new file mode 100644 index 00000000..b852a7a4 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/reversed/main.mcfunction @@ -0,0 +1,18 @@ +# Append the segment from Min to Max (skip empty unless KeepEmpty is 1b) — inserted at the front to preserve left-to-right order +$data modify storage macroengine_string:temp data.Segment set string storage macroengine_string:input split.String $(Min) $(Max) +execute store result score #StringLib.SegmentLength StringLib run data get storage macroengine_string:temp data.Segment +execute unless score #StringLib.SegmentLength StringLib matches 0 run data modify storage macroengine_string:output split prepend from storage macroengine_string:temp data.Segment +execute if score #StringLib.SegmentLength StringLib matches 0 if score #StringLib.KeepEmpty StringLib matches 1 run data modify storage macroengine_string:output split prepend value "" + +# This found instance is now consumed; stop once none are left +data remove storage macroengine_string:output find[-1] +execute unless data storage macroengine_string:output find[-1] run return 0 + +# Move Max to just before the separator we just split on (i.e. Min of this segment), then jump Min to the previous found index + separator length +data modify storage macroengine_string:temp data.Max set from storage macroengine_string:temp data.Min +execute store result score #StringLib.Max StringLib run data get storage macroengine_string:temp data.Max +execute store result storage macroengine_string:temp data.Min int 1 store result score #StringLib.PrevIndex StringLib run data get storage macroengine_string:output find[-1] +scoreboard players operation #StringLib.PrevIndex StringLib += #StringLib.SeparatorLength StringLib +execute store result storage macroengine_string:temp data.Min int 1 run scoreboard players get #StringLib.PrevIndex StringLib + +function macroengine_string:zprivate/split/reversed/main with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/setup.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/setup.mcfunction new file mode 100644 index 00000000..750ba6e0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/setup.mcfunction @@ -0,0 +1,4 @@ +# Clean up leftover intermediate keys from the split process (KeepEmpty/Segment/Min/Max are re-derived each run, so nothing here is needed after this point) +data remove storage macroengine_string:temp data.Segment +data remove storage macroengine_string:temp data.Min +data remove storage macroengine_string:temp data.Max diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/loop.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/loop.mcfunction new file mode 100644 index 00000000..6454d0ab --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/loop.mcfunction @@ -0,0 +1,9 @@ +# Peel off the first character and append it as its own element +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Remaining 0 1 +data modify storage macroengine_string:output split append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Remaining set string storage macroengine_string:temp data.Remaining 1 +function macroengine_string:zprivate/split/split_chars/loop diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/setup.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/setup.mcfunction new file mode 100644 index 00000000..7603ab24 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/split/split_chars/setup.mcfunction @@ -0,0 +1,6 @@ +# Split every character of the String into its own list element +execute store result score #StringLib.CharsLeft StringLib run data get storage macroengine_string:input split.String +data modify storage macroengine_string:temp data.Remaining set from storage macroengine_string:input split.String +function macroengine_string:zprivate/split/split_chars/loop +data remove storage macroengine_string:temp data +return run execute if data storage macroengine_string:output split[] diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_fast.mcfunction new file mode 100644 index 00000000..3385222c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_fast.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Fast[{u:"$(Char)"}].l +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_lowercase/main_fast with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_full.mcfunction new file mode 100644 index 00000000..8713c5d1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_lowercase/main_full.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Full[{u:"$(Char)"}].l +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_lowercase/main_full with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_fast.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_fast.mcfunction new file mode 100644 index 00000000..d39a85f2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_fast.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Fast[{l:"$(Char)"}].u +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_uppercase/main_fast with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_full.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_full.mcfunction new file mode 100644 index 00000000..8ca21ca7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/macroengine_string/function/zprivate/to_uppercase/main_full.mcfunction @@ -0,0 +1,12 @@ +# Convert current character to uppercase (& handle a character having 2 possible outputs) +data remove storage macroengine_string:temp data.List +$data modify storage macroengine_string:temp data.List append from storage macroengine_string:zprivate data.CharMap.Full[{l:"$(Char)"}].u +data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.List[0] +execute unless data storage macroengine_string:temp data.List run data modify storage macroengine_string:temp data.CharList append from storage macroengine_string:temp data.Char + +# Next loop +execute if score #StringLib.CharsLeft StringLib matches 1 run return 0 +scoreboard players remove #StringLib.CharsLeft StringLib 1 +data modify storage macroengine_string:temp data.Input set string storage macroengine_string:temp data.Input 1 +data modify storage macroengine_string:temp data.Char set string storage macroengine_string:temp data.Input 0 1 +function macroengine_string:zprivate/to_uppercase/main_full with storage macroengine_string:temp data diff --git a/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/pause_screen_additions.json b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/pause_screen_additions.json new file mode 100644 index 00000000..cdffd743 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/pause_screen_additions.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#macroengine:psa" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/quick_actions.json b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/quick_actions.json new file mode 100644 index 00000000..4a162aea --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/dialog/quick_actions.json @@ -0,0 +1,6 @@ +{ + "replace": false, + "values": [ + "#macroengine:qa" + ] +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/load.json b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/load.json new file mode 100644 index 00000000..b7f416bb --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/load.json @@ -0,0 +1,5 @@ +{ + "values": [ + "runtoolkit:load" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/tick.json b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/tick.json new file mode 100644 index 00000000..f7870016 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/minecraft/tags/function/tick.json @@ -0,0 +1,5 @@ +{ + "values": [ + "runtoolkit:tick" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status.mcfunction new file mode 100644 index 00000000..9fced430 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status.mcfunction @@ -0,0 +1,14 @@ +# runtoolkit:diagnostics/status +# Reports live loaded/disabled state for every registered subsystem, +# read straight from each subsystem's "#runtoolkit.packs..version" +# score — not from the registry snapshot, so this reflects reality even +# if a subsystem was disabled after registering (e.g. via its own +# disable command) without re-registering. + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"no subsystems registered — nothing to report.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"subsystem status:","color":"aqua"}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:diagnostics/status_step +data remove storage runtoolkit:tmp _walk diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_line.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_line.mcfunction new file mode 100644 index 00000000..2fa32f9e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_line.mcfunction @@ -0,0 +1,11 @@ +# runtoolkit:diagnostics/status_line +# MACRO INPUT (from a registry.subsystems[n] entry): +# $(name) -> subsystem id, used to build the score holder "#runtoolkit.packs.$(name).version" +# $(version) -> the version recorded at registration time (may be stale vs. live score) +# +# Score holder names accept macro substitution directly (no string concat needed). + +$execute store result score $diag_ver runtoolkit.tmp run scoreboard players get #runtoolkit.packs.$(name).version macroengine.meta + +execute if score $diag_ver runtoolkit.tmp matches 1.. run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_diag_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"loaded","color":"green"},{"text":" (v","color":"#555555"},{"score":{"name":"$diag_ver","objective":"runtoolkit.tmp"},"color":"aqua"},{"text":")","color":"#555555"}] +execute if score $diag_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_diag_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"disabled","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_step.mcfunction new file mode 100644 index 00000000..8be89d1c --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/diagnostics/status_step.mcfunction @@ -0,0 +1,19 @@ +# runtoolkit:diagnostics/status_step +# Internal recursive walker for diagnostics/status. For each registered +# subsystem, reads its live "#runtoolkit.packs..version" score +# (0 = disabled/not loaded, matches core/internal/disable/apply.mcfunction's +# convention) and prints one status line. Reads runtoolkit:tmp _walk[0] +# and pops it. +# +# NOTE: deliberately does not depend on macroengine_string (StringLib) — +# runtoolkit sits above individual subsystems and should not require any +# one subsystem's internal libraries to function. The scoreboard holder +# name is built directly via macro substitution instead of string concat. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +data modify storage runtoolkit:tmp _diag_call set from storage runtoolkit:tmp _walk[0] +function runtoolkit:diagnostics/status_line with storage runtoolkit:tmp _diag_call + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:diagnostics/status_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all.mcfunction new file mode 100644 index 00000000..d3b8aac8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all.mcfunction @@ -0,0 +1,20 @@ +# runtoolkit:killswitch/all +# Global emergency stop: disables every registered subsystem via its own +# public disable entry point (respecting each subsystem's own gate/ +# confirmation behavior — this is a supervised shutdown, not a raw +# `datapack disable` sweep). Intended for admin use when something is +# misbehaving and you don't have time to disable subsystems one by one. +# +# Requires op / permission level enforced by the command tree this is +# wired into (not enforced here — see macroengine's own security.* config +# for the pattern this project follows: gating lives at the command-tree +# layer, not duplicated inside every function). + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"no subsystems registered — nothing to stop.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @a ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"KILLSWITCH — disabling all registered subsystems.","color":"red","bold":true}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:killswitch/all_step +data remove storage runtoolkit:tmp _walk +tellraw @a ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"killswitch complete.","color":"red"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_dispatch.mcfunction new file mode 100644 index 00000000..1a5846cc --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_dispatch.mcfunction @@ -0,0 +1,9 @@ +# runtoolkit:killswitch/all_dispatch +# MACRO INPUT (from a registry entry, via "with"): +# $(name) -> subsystem id, for the status line +# $(disable_fn) -> function id to call, e.g. "macroengine:disable" +# The subsystem's own disable_fn handles its gate/confirmation/cleanup; +# this just triggers it and reports. + +tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_ks_call.name","storage":"runtoolkit:tmp","color":"white"},{"text":" — ","color":"#555555"},{"text":"disabling…","color":"gold"}] +$function $(disable_fn) diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_read_version.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_read_version.mcfunction new file mode 100644 index 00000000..0bf6e207 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_read_version.mcfunction @@ -0,0 +1,4 @@ +# runtoolkit:killswitch/all_read_version +# MACRO INPUT: $(name) -> subsystem id +# Reads "#runtoolkit.packs.$(name).version" into score $ks_ver runtoolkit.tmp. +$execute store result score $ks_ver runtoolkit.tmp run scoreboard players get #runtoolkit.packs.$(name).version macroengine.meta diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_step.mcfunction new file mode 100644 index 00000000..74376e95 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/killswitch/all_step.mcfunction @@ -0,0 +1,17 @@ +# runtoolkit:killswitch/all_step +# Internal recursive walker for killswitch/all. Calls each registered +# subsystem's own disable_fn (its normal, gated /disable entry point) — +# does not force-disable via `datapack disable` directly, so each +# subsystem's own confirmation/sandbox/cleanup logic still runs. +# Already-disabled subsystems (version score 0) are skipped. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +data modify storage runtoolkit:tmp _ks_call set from storage runtoolkit:tmp _walk[0] +function runtoolkit:killswitch/all_read_version with storage runtoolkit:tmp _ks_call + +execute if score $ks_ver runtoolkit.tmp matches 1.. run function runtoolkit:killswitch/all_dispatch with storage runtoolkit:tmp _ks_call +execute if score $ks_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"gray"},{"text":" — already disabled, skipped","color":"#555555"}] + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:killswitch/all_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/load.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/load.mcfunction new file mode 100644 index 00000000..a4d20334 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/load.mcfunction @@ -0,0 +1,12 @@ +# runtoolkit global entry point — load +# Dispatches to every subsystem listed in runtoolkit:registry/seed (a +# static, hand-maintained list — this is the ONLY place a subsystem's +# load_fn is hardcoded now; see registry/seed.mcfunction to add one). + +# Ensure runtoolkit's own scratch objective exists. Missing this made every +# runtoolkit:* function that reads/writes "runtoolkit.tmp" fail silently +# (score get/store on a nonexistent objective does nothing, no error) — +# this is what broke registry/list, diagnostics/status and killswitch/all. +scoreboard objectives add runtoolkit.tmp dummy + +function runtoolkit:registry/load_all \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list.mcfunction new file mode 100644 index 00000000..3a150db8 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list.mcfunction @@ -0,0 +1,22 @@ +# runtoolkit:registry/list +# Reports the subsystems currently registered with runtoolkit's global +# load/tick dispatcher. Registration happens via runtoolkit:registry/register +# (called once per subsystem, e.g. from macroengine's own load chain) — +# this function only reads and prints what is already in storage. +# +# Storage shape (runtoolkit:engine): +# registry.subsystems = [ +# {name:"macroengine", version:602, load_fn:"macroengine_load:main", tick_fn:"macroengine.main:macroengine/tick"}, +# ... +# ] + +execute unless data storage runtoolkit:engine registry run data modify storage runtoolkit:engine registry set value {} +execute unless data storage runtoolkit:engine registry.subsystems run data modify storage runtoolkit:engine registry.subsystems set value [] + +execute unless data storage runtoolkit:engine registry.subsystems[0] run tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registry is empty — no subsystems registered.","color":"gray"}] +execute unless data storage runtoolkit:engine registry.subsystems[0] run return 0 + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registered subsystems:","color":"aqua"}] +data modify storage runtoolkit:tmp _walk set from storage runtoolkit:engine registry.subsystems +function runtoolkit:registry/list_step +data remove storage runtoolkit:tmp _walk diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list_step.mcfunction new file mode 100644 index 00000000..335e239b --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/list_step.mcfunction @@ -0,0 +1,13 @@ +# runtoolkit:registry/list_step +# Internal recursive walker for registry/list. Pops entries off +# runtoolkit:tmp _walk (a scratch copy) one at a time so the source +# registry.subsystems list is never mutated by listing it. + +execute unless data storage runtoolkit:tmp _walk[0] run return 0 + +execute store result score $reg_ver runtoolkit.tmp run data get storage runtoolkit:tmp _walk[0].version +execute if score $reg_ver runtoolkit.tmp matches 1.. run tellraw @s ["",{"text":" - ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"white"},{"text":" (v","color":"#555555"},{"nbt":"_walk[0].version","storage":"runtoolkit:tmp","color":"green"},{"text":")","color":"#555555"}] +execute if score $reg_ver runtoolkit.tmp matches ..0 run tellraw @s ["",{"text":" - ","color":"#555555"},{"nbt":"_walk[0].name","storage":"runtoolkit:tmp","color":"gray"},{"text":" (disabled)","color":"red"}] + +data remove storage runtoolkit:tmp _walk[0] +function runtoolkit:registry/list_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all.mcfunction new file mode 100644 index 00000000..73af3b1e --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all.mcfunction @@ -0,0 +1,11 @@ +# runtoolkit:registry/load_all +# Called from runtoolkit:load. Walks the static seed (registry/seed), +# calling each subsystem's load_fn and then registering it with the live +# registry — replacing the old hardcoded "function macroengine_load:main" +# + duplicate load_fn string that used to live directly in load.mcfunction. + +function runtoolkit:registry/seed +data modify storage runtoolkit:tmp _load_walk set from storage runtoolkit:tmp seed +data remove storage runtoolkit:tmp seed +function runtoolkit:registry/load_all_step +data remove storage runtoolkit:tmp _load_walk diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_dispatch.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_dispatch.mcfunction new file mode 100644 index 00000000..b1e67237 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_dispatch.mcfunction @@ -0,0 +1,18 @@ +# runtoolkit:registry/load_all_dispatch +# MACRO INPUT (one seed entry, via "with"): +# $(name), $(load_fn), $(tick_fn), $(disable_fn), $(version_score) +# +# Calls load_fn, reads the resulting live version, then registers. +# version_score is a dynamic scoreboard holder name (e.g. +# "#runtoolkit.packs.macroengine.version") — score holders accept macro +# substitution directly, same pattern as diagnostics/status_line. + +$function $(load_fn) + +$execute store result score $rt_reg_ver runtoolkit.tmp run scoreboard players get $(version_score) macroengine.meta + +data modify storage runtoolkit:tmp _reg set from storage runtoolkit:tmp _load_entry +data remove storage runtoolkit:tmp _reg.version_score +execute store result storage runtoolkit:tmp _reg.version int 1 run scoreboard players get $rt_reg_ver runtoolkit.tmp +function runtoolkit:registry/register with storage runtoolkit:tmp _reg +data remove storage runtoolkit:tmp _reg diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_step.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_step.mcfunction new file mode 100644 index 00000000..580f94f7 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/load_all_step.mcfunction @@ -0,0 +1,17 @@ +# runtoolkit:registry/load_all_step +# Internal recursive walker for registry/load_all. For each seed entry: +# 1. Call its load_fn (the subsystem's own load chain). +# 2. Read its live version score (only valid AFTER step 1 — the +# subsystem's own load chain is what sets that score, e.g. +# macroengine:config sets #runtoolkit.packs.macroengine.version). +# 3. Call registry/register with that live version, so the registry +# entry is never stale by construction. + +execute unless data storage runtoolkit:tmp _load_walk[0] run return 0 + +data modify storage runtoolkit:tmp _load_entry set from storage runtoolkit:tmp _load_walk[0] +function runtoolkit:registry/load_all_dispatch with storage runtoolkit:tmp _load_entry +data remove storage runtoolkit:tmp _load_entry + +data remove storage runtoolkit:tmp _load_walk[0] +function runtoolkit:registry/load_all_step diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/register.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/register.mcfunction new file mode 100644 index 00000000..408d60d0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/register.mcfunction @@ -0,0 +1,32 @@ +# runtoolkit:registry/register +# Called once by a subsystem (e.g. macroengine_load:main) to announce itself +# to runtoolkit's dispatcher. Idempotent: re-running with the same name +# overwrites that entry instead of duplicating it, so a /reload doesn't +# grow the list. +# +# MACRO INPUT: +# $(name) -> subsystem id, e.g. "macroengine" +# $(version) -> int, mirrors #runtoolkit.packs..version +# $(load_fn) -> function id dispatched on minecraft:load, e.g. "macroengine_load:main" +# $(tick_fn) -> function id dispatched on minecraft:tick, e.g. "macroengine.main:macroengine/tick" +# $(disable_fn) -> function id that cleanly disables this subsystem, e.g. "macroengine:disable" +# (used by runtoolkit:killswitch/all — must be the subsystem's public, +# gated entry point, not an internal /apply function, so the +# subsystem's own confirmation/sandbox behavior is respected) +# +# NOTE: this only records metadata for registry/list and diagnostics/status. +# It does NOT hook the subsystem into minecraft:load / minecraft:tick — +# that still happens via data/minecraft/tags/function/{load,tick}.json, +# same as today. Registration is descriptive, not wiring. + +execute unless data storage runtoolkit:engine registry run data modify storage runtoolkit:engine registry set value {} +execute unless data storage runtoolkit:engine registry.subsystems run data modify storage runtoolkit:engine registry.subsystems set value [] + +$data modify storage runtoolkit:tmp entry set value {name:"$(name)",version:$(version),load_fn:"$(load_fn)",tick_fn:"$(tick_fn)",disable_fn:"$(disable_fn)"} + +# Remove any existing entry with this name (re-registration on reload), then append fresh. +$data remove storage runtoolkit:engine registry.subsystems[{name:"$(name)"}] +data modify storage runtoolkit:engine registry.subsystems append from storage runtoolkit:tmp entry +data remove storage runtoolkit:tmp entry + +$tellraw @a[tag=macroengine.debug] ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"registry/register ","color":"aqua"},{"text":"→ ","color":"#555555"},{"text":"$(name)","color":"white"},{"text":" v","color":"#555555"},{"text":"$(version)","color":"green"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/seed.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/seed.mcfunction new file mode 100644 index 00000000..6591ed68 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/registry/seed.mcfunction @@ -0,0 +1 @@ +function #runtoolkit:register \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/tick.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/tick.mcfunction new file mode 100644 index 00000000..c6c2db73 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/tick.mcfunction @@ -0,0 +1,3 @@ +# runtoolkit global entry point — tick +# Dispatches to the macroengine subsystem's own tick chain. +function macroengine.main:macroengine/tick diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/version.mcfunction b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/version.mcfunction new file mode 100644 index 00000000..9f35cf8d --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/function/version.mcfunction @@ -0,0 +1,14 @@ +# runtoolkit:version +# Reports runtoolkit's own dispatcher-layer version — NOT any individual +# subsystem's version (use runtoolkit:diagnostics/status for that). +# This tracks the runtoolkit: namespace itself (load/tick entry points, +# registry, diagnostics, killswitch) as a unit, independent of which +# subsystems happen to be registered under it. +# +# Storage: runtoolkit:engine meta.version — set once here on every call +# (idempotent) rather than only at load, so it stays correct even if this +# file is edited and the datapack reloaded without a full load-tag pass. + +data modify storage runtoolkit:engine meta.version set value "1.0.0" + +tellraw @s ["",{"text":"[RUNTOOLKIT] ","color":"#00AAAA","bold":true},{"text":"dispatcher v","color":"aqua"},{"nbt":"meta.version","storage":"runtoolkit:engine","color":"white"}] diff --git a/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/tags/function/register.json b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/tags/function/register.json new file mode 100644 index 00000000..61fc24c0 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/data/runtoolkit/tags/function/register.json @@ -0,0 +1,5 @@ +{ + "values": [ + "macroengine_load:init" + ] +} diff --git a/packs/macroEngine/datapacks/macroEngine/pack.mcmeta b/packs/macroEngine/datapacks/macroEngine/pack.mcmeta new file mode 100644 index 00000000..ff9dd991 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/pack.mcmeta @@ -0,0 +1,74 @@ +{ + "pack": { + "description": [ + { + "text": "MacroEngine", + "color": "#00ccff", + "bold": true, + "italic": false, + "extra": [ + { + "text": " | ", + "color": "#ff0000", + "bold": false, + "italic": false, + "underlined": false, + "strikethrough": false, + "obfuscated": false + }, + { + "text": "by runtoolkit", + "color": "#00ff33", + "bold": false, + "italic": false, + "extra": [ + " ", + { + "text": "| ", + "color": "#ff0000", + "bold": false, + "italic": false, + "underlined": false, + "strikethrough": false, + "obfuscated": false + }, + { + "text": "1.20.3-1.21.1 + 26.x", + "color": "#e3ff57", + "bold": false, + "italic": false, + "underlined": true + } + ] + } + ] + }, + { + "text": " | v6.0.3-overlays", + "color": "#ffaa00", + "bold": false, + "italic": false + } + ], + "pack_format": 107, + "supported_formats": { + "min_inclusive": 40, + "max_inclusive": 107 + }, + "min_format": [40, 0], + "max_format": [107, 0] + }, + "overlays": { + "entries": [ + { + "formats": [40, 42], + "directory": "1_20_5" + } + ] + }, + "features": { + "enabled": [ + "minecraft:vanilla" + ] + } +} \ No newline at end of file diff --git a/packs/macroEngine/datapacks/macroEngine/spyglass.json b/packs/macroEngine/datapacks/macroEngine/spyglass.json new file mode 100644 index 00000000..46a97ba1 --- /dev/null +++ b/packs/macroEngine/datapacks/macroEngine/spyglass.json @@ -0,0 +1,94 @@ +{ + "env": { + "dataSource": "GitHub", + "dependencies": [ + "@vanilla-mcdoc" + ], + "feature": { + "codeActions": true, + "colors": true, + "completions": true, + "documentHighlighting": true, + "documentLinks": true, + "foldingRanges": true, + "formatting": true, + "hover": true, + "inlayHint": { + "enabledNodes": [ + "mcfunction:command_child/unknown" + ] + }, + "semanticColoring": true, + "selectionRanges": true, + "signatures": true + }, + "gameVersion": "Auto", + "language": "Default", + "permissionLevel": 3, + "plugins": [], + "mcmetaSummaryOverrides": {} + }, + "format": { + "blockStateBracketSpacing": { "inside": 0 }, + "blockStateCommaSpacing": { "before": 0, "after": 1 }, + "blockStateEqualSpacing": { "before": 0, "after": 0 }, + "blockStateTrailingComma": false, + "eol": "auto", + "nbtArrayBracketSpacing": { "inside": 0 }, + "nbtArrayCommaSpacing": { "before": 0, "after": 1 }, + "nbtArraySemicolonSpacing": { "after": 1 }, + "nbtArrayTrailingComma": false, + "nbtByteSuffix": "b", + "nbtCompoundBracketSpacing": { "inside": 0 }, + "nbtCompoundColonSpacing": { "before": 0, "after": 1 }, + "nbtCompoundCommaSpacing": { "before": 0, "after": 1 }, + "nbtCompoundTrailingComma": false, + "nbtDoubleOmitSuffix": false, + "nbtDoubleSuffix": "d", + "nbtFloatSuffix": "f", + "nbtListBracketSpacing": { "inside": 0 }, + "nbtListCommaSpacing": { "before": 0, "after": 1 }, + "nbtListTrailingComma": false, + "nbtLongSuffix": "L", + "nbtShortSuffix": "s", + "selectorBracketSpacing": { "inside": 0 }, + "selectorCommaSpacing": { "before": 0, "after": 1 }, + "selectorEqualSpacing": { "before": 0, "after": 0 }, + "selectorTrailingComma": false, + "timeOmitTickUnit": false + }, + "lint": { + "blockStateSortKeys": null, + "nbtCompoundSortKeys": null, + "selectorSortKeys": null, + + "commandStringQuote": null, + "nbtKeyQuote": null, + "nbtPathQuote": null, + "nbtStringQuote": null, + "selectorKeyQuote": null, + + "idOmitDefaultNamespace": null, + + "nameOfNbtKey": null, + "nameOfObjective": null, + "nameOfScoreHolder": null, + "nameOfTag": null, + "nameOfTeam": null, + + "nbtArrayLengthCheck": true, + "nbtBoolean": null, + "nbtListLengthCheck": null, + "nbtTypeCheck": "loosely", + + "undeclaredSymbol": [ + { + "then": { "declare": "block" } + } + ] + }, + "snippet": { + "executeIfScoreSet": "execute if score ${1:score_holder} ${2:objective} = ${1:score_holder} ${2:objective} $0", + "summonAec": "summon minecraft:area_effect_cloud ~ ~ ~ {Age: -2147483648, Duration: -1, WaitTime: -2147483648, Tags: [\"${1:tag}\"]}" + } +} diff --git a/packs/macroEngine/datapacks/macroengine_extensions/data/README.md b/packs/macroEngine/datapacks/macroengine_extensions/data/README.md new file mode 100644 index 00000000..1f9c13c2 --- /dev/null +++ b/packs/macroEngine/datapacks/macroengine_extensions/data/README.md @@ -0,0 +1,16 @@ +# ⚠️ DEPRECATION & REMOVAL NOTICE + +The `macroengine_extensions` datapack has been removed from this project. + +--- + +### 📌 Details +* **Status:** Deprecated / Removed +* **Reason:** Due to structural updates and the transition to a new architecture, this datapack is no longer maintained or supported. + +--- + +### 🔄 Action Required +* Please remove any remaining references to `macroengine_extensions` in your functions or scripts. +* Update your code to use the new supported features or extensions. +* Legacy function calls targeting this datapack will no longer function. diff --git a/packs/macroEngine/datapacks/macroengine_extensions/pack.mcmeta b/packs/macroEngine/datapacks/macroengine_extensions/pack.mcmeta new file mode 100644 index 00000000..5f2e0476 --- /dev/null +++ b/packs/macroEngine/datapacks/macroengine_extensions/pack.mcmeta @@ -0,0 +1,18 @@ +{ + "pack": { + "description": "The macroengine_extensions datapack has been removed from this project.", + "min_format": [ + 107, + 1 + ], + "max_format": [ + 107, + 1 + ] + }, + "features": { + "enabled": [ + "minecraft:vanilla" + ] + } +} diff --git a/packs/macroEngine/dependencies.json b/packs/macroEngine/dependencies.json new file mode 100644 index 00000000..cad49e29 --- /dev/null +++ b/packs/macroEngine/dependencies.json @@ -0,0 +1,20 @@ +{ + "embedded": [ + { + "id": "player_action", + "version": "v1.7", + "source": "https://github.com/ICY105/PlayerAction", + "license": "MIT", + "namespace": "player_action", + "load_tag": "#player_action:load", + "note": "Embedded as-is. Provides player event hooks (click, movement, block interaction)." + } + ], + "required": [ + { + "id": "lanternload", + "source": "https://github.com/LanternMC/load", + "note": "Already bundled via data/load namespace." + } + ] +} diff --git a/packs/macroEngine/gradle.properties b/packs/macroEngine/gradle.properties new file mode 100644 index 00000000..adb226ff --- /dev/null +++ b/packs/macroEngine/gradle.properties @@ -0,0 +1,4 @@ +org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g +org.gradle.daemon=false +org.gradle.workers.max=1 +org.gradle.parallel=false \ No newline at end of file diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds.json b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds.json new file mode 100644 index 00000000..ed6f3d0a --- /dev/null +++ b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds.json @@ -0,0 +1,50 @@ +{ + "macroengine.load.success": { + "sounds": [ + { "name": "macroengine:load_success", "volume": 0.6, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.load_success" + }, + + "macroengine.ui.confirm": { + "sounds": [ + { "name": "macroengine:ui_confirm", "volume": 0.5, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.confirm" + }, + + "macroengine.ui.error": { + "sounds": [ + { "name": "macroengine:ui_error", "volume": 0.7, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.error" + }, + + "macroengine.ui.freeze": { + "sounds": [ + { "name": "macroengine:ui_freeze", "volume": 0.9, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.freeze" + }, + + "macroengine.ui.unfreeze": { + "sounds": [ + { "name": "macroengine:ui_unfreeze", "volume": 0.7, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.unfreeze" + }, + + "macroengine.perm.denied": { + "sounds": [ + { "name": "macroengine:perm_denied", "volume": 0.6, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.perm_denied" + }, + + "macroengine.perm.granted": { + "sounds": [ + { "name": "macroengine:perm_granted", "volume": 0.5, "pitch": 1.0 } + ], + "subtitle": "macroengine.subtitle.perm_granted" + } +} diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/load_success.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/load_success.ogg new file mode 100644 index 00000000..8c3a3c46 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/load_success.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_denied.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_denied.ogg new file mode 100644 index 00000000..7b1d204b Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_denied.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_granted.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_granted.ogg new file mode 100644 index 00000000..3f622cbc Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/perm_granted.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_confirm.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_confirm.ogg new file mode 100644 index 00000000..f7974ae8 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_confirm.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_error.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_error.ogg new file mode 100644 index 00000000..b233ea96 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_error.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_freeze.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_freeze.ogg new file mode 100644 index 00000000..bd99d9d7 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_freeze.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_unfreeze.ogg b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_unfreeze.ogg new file mode 100644 index 00000000..d8550482 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/assets/macroengine/sounds/ui_unfreeze.ogg differ diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/de_de.json b/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/de_de.json new file mode 100644 index 00000000..fbf616d5 --- /dev/null +++ b/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/de_de.json @@ -0,0 +1,26 @@ +{ + "_comment": "MacroEngine — Deutsch (de_de) \u00dcbersetzungen", + + "macroengine.msg.permission_denied": "Zugriff verweigert.", + "macroengine.msg.no_perm": "%s — Sie haben diese Berechtigung nicht.", + "macroengine.msg.sandbox_blocked": "Befehl im Sandbox-Modus blockiert.", + "macroengine.msg.freeze": "eingefroren", + "macroengine.msg.unfreeze": "aufgetaut", + "macroengine.msg.load.complete": "geladen.", + "macroengine.msg.feature_requires_1215": "Diese Funktion erfordert Minecraft 1.21.5 oder h\u00f6her.", + "macroengine.msg.feature_requires_1216": "Diese Funktion erfordert Minecraft 1.21.6 oder h\u00f6her.", + "macroengine.msg.safe_load.cancelled": "safe_load abgebrochen. Speicher unver\u00e4ndert.", + "macroengine.msg.safe_load.denied.admin": "safe_load/yes verweigert — macroengine.admin-Tag erforderlich.", + "macroengine.msg.safe_load.denied.perm": "safe_load/yes verweigert — dl.perm_level \u2265 4 erforderlich.", + "macroengine.msg.safe_load.denied.loaded":"safe_load/yes verweigert — Engine bereits geladen.", + "macroengine.msg.version_conflict": "Versionskonflikt! Erwartet v6.0.2 \u2014 gespeicherte Werte stimmen nicht \u00fcberein.", + "macroengine.msg.version_reload": "\u2192 F\u00fchren Sie /reload aus, um MacroEngine neu zu initialisieren.", + + "macroengine.subtitle.load_success": "MacroEngine geladen", + "macroengine.subtitle.confirm": "Aktion best\u00e4tigt", + "macroengine.subtitle.error": "Fehler", + "macroengine.subtitle.freeze": "Spieler eingefroren", + "macroengine.subtitle.unfreeze": "Spieler aufgetaut", + "macroengine.subtitle.perm_denied": "Zugriff verweigert", + "macroengine.subtitle.perm_granted": "Berechtigung erteilt" +} diff --git a/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/en_us.json b/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/en_us.json new file mode 100644 index 00000000..eb449a80 --- /dev/null +++ b/packs/macroEngine/resourcepacks/macroEngine/assets/minecraft/lang/en_us.json @@ -0,0 +1,26 @@ +{ + "_comment": "MacroEngine — English (en_us) translations", + + "macroengine.msg.permission_denied": "Permission denied.", + "macroengine.msg.no_perm": "%s — you don't have this permission.", + "macroengine.msg.sandbox_blocked": "Command blocked in sandbox mode.", + "macroengine.msg.freeze": "frozen", + "macroengine.msg.unfreeze": "thawed", + "macroengine.msg.load.complete": "loaded.", + "macroengine.msg.feature_requires_1215": "This feature requires Minecraft 1.21.5 or higher.", + "macroengine.msg.feature_requires_1216": "This feature requires Minecraft 1.21.6 or higher.", + "macroengine.msg.safe_load.cancelled": "safe_load cancelled. Storage untouched.", + "macroengine.msg.safe_load.denied.admin": "safe_load/yes denied — macroengine.admin tag required.", + "macroengine.msg.safe_load.denied.perm": "safe_load/yes denied — dl.perm_level \u2265 4 required.", + "macroengine.msg.safe_load.denied.loaded":"safe_load/yes denied — engine is already loaded.", + "macroengine.msg.version_conflict": "Version conflict! Expected v6.0.2 \u2014 stored scores do not match.", + "macroengine.msg.version_reload": "\u2192 Run /reload to reinitialize MacroEngine.", + + "macroengine.subtitle.load_success": "macroEngine loaded", + "macroengine.subtitle.confirm": "Action confirmed", + "macroengine.subtitle.error": "Error", + "macroengine.subtitle.freeze": "Player frozen", + "macroengine.subtitle.unfreeze": "Player thawed", + "macroengine.subtitle.perm_denied": "Permission denied", + "macroengine.subtitle.perm_granted": "Permission granted" +} diff --git a/packs/macroEngine/resourcepacks/macroEngine/pack.mcmeta b/packs/macroEngine/resourcepacks/macroEngine/pack.mcmeta new file mode 100644 index 00000000..64599381 --- /dev/null +++ b/packs/macroEngine/resourcepacks/macroEngine/pack.mcmeta @@ -0,0 +1,18 @@ +{ + "pack": { + "description": "MacroEngine v6.0.2 — resource pack companion (fonts/textures for GUI & dialog rendering) | runtoolkit", + "min_format": [ + 88, + 1 + ], + "max_format": [ + 88, + 1 + ] + }, + "features": { + "enabled": [ + "minecraft:vanilla" + ] + } +} diff --git a/packs/macroEngine/resourcepacks/macroEngine/pack.png b/packs/macroEngine/resourcepacks/macroEngine/pack.png new file mode 100644 index 00000000..89e2d381 Binary files /dev/null and b/packs/macroEngine/resourcepacks/macroEngine/pack.png differ diff --git a/packs/macroEngine/settings.gradle b/packs/macroEngine/settings.gradle new file mode 100644 index 00000000..fbd5f169 --- /dev/null +++ b/packs/macroEngine/settings.gradle @@ -0,0 +1,12 @@ +pluginManagement { + repositories { + maven { + name = 'Fabric' + url = 'https://maven.fabricmc.net/' + } + mavenCentral() + gradlePluginPortal() + } +} + +rootProject.name = 'macroEngine' diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/Dummy.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/Dummy.java new file mode 100644 index 00000000..e71344d3 --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/Dummy.java @@ -0,0 +1,5 @@ +package io.runtoolkit.macroengine; + +public class Dummy { + // Dummy class to force Gradle/Loom to populate compileClasspath +} diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineConfigPayload.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineConfigPayload.java new file mode 100644 index 00000000..69dc374a --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineConfigPayload.java @@ -0,0 +1,41 @@ +package io.runtoolkit.macroengine; + +import net.minecraft.network.codec.ByteBufCodecs; +import net.minecraft.network.codec.StreamCodec; +import net.minecraft.network.protocol.common.custom.CustomPacketPayload; +import net.minecraft.resources.Identifier; + +/** + * C2S: sent by the client when it wants to change a field in the macroEngine + * config menu. + * + * Real storage schema (verified from + * datapacks/macroEngine/data/macroengine/function/core/config/set.mcfunction): + * $data modify storage macroengine:engine config.$(key) set value "$(value)" + * i.e. there is NO separate "section" field — the key is written directly + * to the config. NBT path (a dot-separated key, e.g. "sandbox.enabled", + * maps naturally onto nested NBT on the datapack side). So the payload only + * carries key + value; the section field was removed. + * + * Real API source (verified via javap, 26.3-snapshot-5): + * - net.minecraft.network.protocol.common.custom.CustomPacketPayload + * - net.minecraft.network.protocol.common.custom.CustomPacketPayload.Type(Identifier) + * - net.minecraft.network.codec.StreamCodec / ByteBufCodecs.STRING_UTF8 + */ +public record MacroEngineConfigPayload(String key, String value) implements CustomPacketPayload { + + public static final CustomPacketPayload.Type TYPE = + new CustomPacketPayload.Type<>(Identifier.fromNamespaceAndPath("macroengine", "config_set")); + + public static final StreamCodec CODEC = + StreamCodec.composite( + ByteBufCodecs.STRING_UTF8, MacroEngineConfigPayload::key, + ByteBufCodecs.STRING_UTF8, MacroEngineConfigPayload::value, + MacroEngineConfigPayload::new + ); + + @Override + public CustomPacketPayload.Type type() { + return TYPE; + } +} diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineMod.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineMod.java new file mode 100644 index 00000000..4a0fcd35 --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/MacroEngineMod.java @@ -0,0 +1,56 @@ +package io.runtoolkit.macroengine; + +import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry; +import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking; +import net.minecraft.server.level.ServerPlayer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MacroEngineMod implements ModInitializer { + public static final String MOD_ID = "macroengine"; + public static final Logger LOGGER = LoggerFactory.getLogger(MOD_ID); + + @Override + public void onInitialize() { + PayloadTypeRegistry.serverboundPlay().register(MacroEngineConfigPayload.TYPE, MacroEngineConfigPayload.CODEC); + + ServerPlayNetworking.registerGlobalReceiver(MacroEngineConfigPayload.TYPE, (payload, context) -> { + ServerPlayer player = context.player(); + context.server().execute(() -> { + // NOTE: this does NOT bypass macroEngine's own permission/validation + // chain (Security Levels etc.) — this mod only triggers the same + // command interface from the client, real authorization must still + // happen on the datapack side. + String key = payload.key(); + String value = payload.value(); + + LOGGER.info("macroEngine config_set: {} set {} = {}", + player.getGameProfile().name(), key, value); + + // UNVERIFIED ASSUMPTION: macroengine:core/config/set is a macro function + // (uses $(key), $(value) — verified from set.mcfunction) but no call + // site for it was found anywhere in the repo (grep came back empty). + // The "with storage" call below relies on Minecraft's general/standard + // macro invocation rule (function ns:path with storage ns:path, field + // names in storage match $(...) placeholders) — it is NOT a verified + // example usage from the datapack. Update this if the real call + // convention becomes clear from the macroEngine repo. + context.server().getCommands().performPrefixedCommand( + player.createCommandSourceStack(), + "data modify storage macroengine:input key set value \"" + key.replace("\"", "\\\"") + "\"" + ); + context.server().getCommands().performPrefixedCommand( + player.createCommandSourceStack(), + "data modify storage macroengine:input value set value \"" + value.replace("\"", "\\\"") + "\"" + ); + context.server().getCommands().performPrefixedCommand( + player.createCommandSourceStack(), + "function macroengine:core/config/set with storage macroengine:input" + ); + }); + }); + + LOGGER.info("macroEngine config bridge mod initialized."); + } +} \ No newline at end of file diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineClientCommands.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineClientCommands.java new file mode 100644 index 00000000..ba6ff3aa --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineClientCommands.java @@ -0,0 +1,42 @@ +package io.runtoolkit.macroengine.client; + +import net.fabricmc.fabric.api.client.command.v2.ClientCommandRegistrationCallback; +import net.fabricmc.fabric.api.client.command.v2.ClientCommands; +import net.minecraft.client.Minecraft; + +/** + * Registers the "/macroengineconfig" client command — opens MacroEngineConfigScreen + * when run. + * + * Real API (verified via javap, fabric-command-api-v2 3.1.0+26.3): + * - ClientCommandRegistrationCallback.EVENT.register((dispatcher, ctx) -> ...) + * - ClientCommands.literal(String) → LiteralArgumentBuilder + * + * NOTE: this command works purely client-side (just opens a Screen) without + * any server communication — the send to the server only happens when the + * "Save" button is pressed (MacroEngineConfigScreen.onSave). + */ +public final class MacroEngineClientCommands { + private MacroEngineClientCommands() { + } + + public static void register() { + ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> + dispatcher.register( + ClientCommands.literal("macroengineconfig") + .executes(context -> { + // NOTE: there is no Minecraft.setScreen(Screen) method, + // and no accessible Minecraft.screen field could be + // verified either (it didn't show up in the javap + // output) — so instead of "make the current screen the + // parent" we pass parent as null; MacroEngineConfigScreen + // .onClose() then calls setScreenAndShow(null) (returns + // to the in-game HUD). + Minecraft client = Minecraft.getInstance(); + client.setScreenAndShow(new MacroEngineConfigScreen(null)); + return 1; + }) + ) + ); + } +} diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineConfigScreen.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineConfigScreen.java new file mode 100644 index 00000000..6722e6f8 --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineConfigScreen.java @@ -0,0 +1,111 @@ +package io.runtoolkit.macroengine.client; + +import io.runtoolkit.macroengine.MacroEngineConfigPayload; +import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking; +import net.minecraft.client.gui.components.Button; +import net.minecraft.client.gui.components.EditBox; +import net.minecraft.client.gui.components.FittingMultiLineTextWidget; +import net.minecraft.client.gui.components.MultiLineTextWidget; +import net.minecraft.client.gui.screens.Screen; +import net.minecraft.network.chat.Component; + +/** + * Client-side admin screen for the macroEngine config menu. + * + * This class uses the verified (via javap) 26.3-snapshot-5 API: + * - FittingMultiLineTextWidget(int x, int y, int width, int height, Component, Font) + * - MultiLineTextWidget(Component, Font) + setMaxWidth/setCentered + * - EditBox(Font, int x, int y, int width, int height, Component) + * - Button.Builder(Component, OnPress).bounds(x,y,w,h).build() + * + * UNVERIFIED PART: the full list of real config keys (seen referenced in + * namespace_list.mcfunction and the core/config/* functions) is not used + * here yet — this screen offers free-text key/value entry, not a dropdown/ + * predefined key list. To list the real schema you'd need to look at the + * contents of namespace_list.mcfunction on the datapack side. + */ +public class MacroEngineConfigScreen extends Screen { + + private final Screen parent; + private EditBox keyBox; + private EditBox valueBox; + + public MacroEngineConfigScreen(Screen parent) { + super(Component.literal("MacroEngine Config")); + this.parent = parent; + } + + @Override + protected void init() { + int centerX = this.width / 2; + + // Title: single-line, centered MultiLineTextWidget. + MultiLineTextWidget title = new MultiLineTextWidget( + Component.literal("MacroEngine — Config"), this.font + ); + title.setCentered(true); + title.setMaxWidth(this.width - 40); + this.addRenderableOnly(title); + + // Description / status area: FittingMultiLineTextWidget — a fixed + // x/y/width/height area with its own scrollbar. + FittingMultiLineTextWidget infoArea = new FittingMultiLineTextWidget( + 20, 30, this.width - 40, 60, + Component.literal( + "Enter a config key (e.g. sandbox.enabled) and its new value, " + + "then press Save. Real authorization and validation happen " + + "server-side in the macroengine:core/config/set function." + ), + this.font + ); + this.addRenderableWidget(infoArea); + + int fieldsY = 100; + + this.keyBox = new EditBox(this.font, centerX - 150, fieldsY, 300, 20, + Component.literal("Config key")); + this.keyBox.setHint(Component.literal("e.g. sandbox.enabled")); + this.addRenderableWidget(this.keyBox); + + this.valueBox = new EditBox(this.font, centerX - 150, fieldsY + 28, 300, 20, + Component.literal("Value")); + this.valueBox.setHint(Component.literal("e.g. true")); + this.addRenderableWidget(this.valueBox); + + this.addRenderableWidget( + Button.builder(Component.literal("Save"), button -> this.onSave()) + .bounds(centerX - 150, fieldsY + 60, 145, 20) + .build() + ); + + this.addRenderableWidget( + Button.builder(Component.literal("Cancel"), button -> this.onClose()) + .bounds(centerX + 5, fieldsY + 60, 145, 20) + .build() + ); + } + + private void onSave() { + String key = this.keyBox.getValue(); + String value = this.valueBox.getValue(); + if (key.isBlank()) { + return; + } + this.sendConfigUpdate(key, value); + } + + /** + * Called to send a config change to macroEngine. Networking API verified: + * ClientPlayNetworking.send(CustomPacketPayload). + */ + private void sendConfigUpdate(String key, String value) { + ClientPlayNetworking.send(new MacroEngineConfigPayload(key, value)); + } + + @Override + public void onClose() { + // NOTE: there is no Minecraft.setScreen(Screen) method (verified via + // javap) — the real method is setScreenAndShow(Screen). + this.minecraft.setScreenAndShow(this.parent); + } +} diff --git a/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineModClient.java b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineModClient.java new file mode 100644 index 00000000..eb6c9c4d --- /dev/null +++ b/packs/macroEngine/src/main/java/io/runtoolkit/macroengine/client/MacroEngineModClient.java @@ -0,0 +1,24 @@ +package io.runtoolkit.macroengine.client; + +import net.fabricmc.api.ClientModInitializer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Client-side entry point. + * + * CORRECTION: PayloadTypeRegistry.serverboundPlay().register(...) is done ONCE + * in the common initializer (MacroEngineMod#onInitialize), which runs on both + * client and server. Registering again here throws + * IllegalArgumentException: "already registered" on client launch, since + * onInitialize() always runs before onInitializeClient(). + */ +public class MacroEngineModClient implements ClientModInitializer { + private static final Logger LOGGER = LoggerFactory.getLogger("macroengine-client"); + + @Override + public void onInitializeClient() { + MacroEngineClientCommands.register(); + LOGGER.info("MacroEngine client bridge initialized."); + } +} \ No newline at end of file diff --git a/packs/macroEngine/src/main/resources/fabric.mod.json b/packs/macroEngine/src/main/resources/fabric.mod.json new file mode 100644 index 00000000..84f3d260 --- /dev/null +++ b/packs/macroEngine/src/main/resources/fabric.mod.json @@ -0,0 +1,28 @@ +{ + "schemaVersion": 1, + "id": "macroengine-config-bridge", + "version": "0.1.0", + "name": "MacroEngine Config Bridge", + "description": "A mod that bridges the macroengine config menu to a client-side GUI screen. Provides access to the macroengine datapack's macroengine:core/config/set function via a Fabric networking payload.", + "authors": [ + "runtoolkit" + ], + "contact": { + "homepage": "https://github.com/runtoolkit/macroEngine" + }, + "license": "MIT", + "environment": "*", + "entrypoints": { + "main": [ + "io.runtoolkit.macroengine.MacroEngineMod" + ], + "client": [ + "io.runtoolkit.macroengine.client.MacroEngineModClient" + ] + }, + "depends": { + "fabricloader": ">=0.19.3", + "minecraft": "26.2", + "fabric-api": "*" + } +} \ No newline at end of file