Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 3 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,16 @@
# 🔧 dataLib — ⚠️ ARCHIVED

> [!CAUTION]
> **This repository is ARCHIVED.** Active development, maintenance, and new security patches have stopped.
> The existing security gate/approval system (`dl_load:gate/*`, `core/security/cmd_gate`, the `check_all` chain) **has not been removed and continues to run**, but it will not be updated against new threats.
>
> **Datapack risks (also apply to this project):**
> - String injection: `$$(...)` macro calls run without type safety in the datapack environment.
> - No namespace isolation: one datapack can freely interfere with another datapack's function/data space.
> - TOCTOU issues: the tick gap between check and use can be exploited.
> - No compile-time type checking: errors only surface at runtime (or not at all).
>
> **Recommended path:** migrate to a **Fabric mod** under `runtoolkit` targeting this functionality — MC **1.21.1** (upgrade to **1.21.11** if needed). Fabric provides type safety and real namespace isolation, which structurally removes most of these risks.

# 🔧 dataLib
**Minecraft Java Edition 26.3-snapshot-5 | Multiplayer-Safe | Pure Datapack**

[![CI](https://github.com/runtoolkit/dataLib-dp/actions/workflows/ci.yml/badge.svg)](https://github.com/runtoolkit/dataLib-dp/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-green?style=for-the-badge)](LICENSE)
[![Download on Modrinth](https://img.shields.io/badge/Download%20on-Modrinth-00AF5C?style=for-the-badge&logo=modrinth&logoColor=white)](https://modrinth.com/datapack/datalib)

---
> Current version: **v6.0.1-pre2 (ARCHIVED)**
> Current version: **v6.0.1-pre2**
---

> [!WARNING]
> **This repository is archived. It will no longer receive security improvements, bug fixes, or new features.** It can still be used "as-is"; use in production environments is not recommended.
> **This datapack is considered safe to use, but it is still actively receiving security improvements, bug fixes, and new features. Please keep it up to date.**
>
> **Do not copy `datalib:input` or `datalib:engine` into your own datapack.** It is an internal implementation detail and may change without notice between releases.

Expand Down
3 changes: 2 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ loom {
runDir "build/gametest"
}
}

mods {
"datalib-testmod" {
sourceSet sourceSets.main
Expand Down Expand Up @@ -414,4 +415,4 @@ tasks.register("runMainTestClient", JavaExec) {
description = "Runs Main.java Test Client standalone"
classpath = sourceSets.gametest.runtimeClasspath
mainClass = "io.runtoolkit.datalib.Main"
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,5 @@
#> This function will run on datapack loading

#> ARCHIVED: This datapack is no longer under active development.
#> The security gate/approval system (dl_load:gate/*, core/security/cmd_gate) has NOT been disabled
#> and continues to run as-is. No new features or fixes will be added.
#> Recommended: migrate to the runtoolkit Fabric mod ecosystem (MC 1.21.1, upgrade to 1.21.11 if needed).
tellraw @a[tag=!rt_dl_archive_seen] {"text":"[dataLib] This datapack is ARCHIVED. The security gate still runs, but it is no longer maintained. Migration to a runtoolkit Fabric mod is recommended.","color":"red"}
tag @a add rt_dl_archive_seen

execute if data storage datalib:engine {global:{loaded:1b}} run return 0

function #load:_private/load
function #load:_private/load
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#> This is the main function, that will run once per tick
execute at @s run function datalib:core/tick
function #datalib:loop
execute at @s run function datalib:core/tick
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
#> ARCHIVED: dataLib-dp is no longer maintained.
#> The security check chain below (load_check / perm_check / input_check) runs UNCHANGED.
#> Since no new security patches will be released, keeping this datapack in production is risky.
#> Recommended: migrate to the runtoolkit Fabric mod ecosystem (MC 1.21.1, upgrade to 1.21.11 if needed).

execute unless function datalib:debug/tools/utils/load_check run return 0
execute unless function datalib:debug/tools/utils/perm_check run return 0
execute unless function datalib:debug/tools/utils/input_check run return 0
return 1
4 changes: 3 additions & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
org.gradle.jvmargs=-Xmx1536m -XX:MaxMetaspaceSize=512m
org.gradle.jvmargs=-Xmx6g -XX:MaxMetaspaceSize=1g
org.gradle.daemon=false
org.gradle.workers.max=1
org.gradle.parallel=false
Empty file modified gradlew
100644 → 100755
Empty file.