McFine Paper/Purpur plugin — treasure hunts, stock market, board, and cross-server Redis.
Architecture for agents: AGENTS.md → arc-core/AGENTS.md
- Java 25 (Temurin)
- Gradle 9.2.1
- Published
arc-core 2.1.3artifacts from the public RusCrafting repository
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-25.jdk/Contents/Home
./gradlew test
./gradlew shadowJarDeployable output: build/libs/ARC-1.0.jar (shadowed dependencies). The
non-deployable plain archive is written separately as ARC-1.0-plain.jar.
The default build is standalone and does not require an arc-core checkout.
For coordinated local development, opt into source substitution explicitly:
./gradlew test shadowJar -ParcCoreDir=/absolute/path/to/arc-coreRuntime configs: ruscrafting-ops — classic/plugins/ARC/, classic_survival/...
cd ~/RusCrafting/ruscrafting-ops && ./scripts/mc arc classic classic_survivalTreasure hunts, stock simulation, auction (Redis pub/sub), x-server announcements, and 72 native cross-server mounts with progression, cosmetics, typed abilities, player tuning, and command-only comic extremes.
Mount configuration and permission-state contract: docs/mounts.md.
Canonical ARC permission namespace and migration map: docs/permissions.md.
Dependencies are enabled per module. Optional integrations include Citizens, ItemsAdder, Jobs, BetterStructures, EliteMobs, and PlaceholderAPI. Survival building assistance is owned by the standalone ArcBuilder repository.
Expensive player or server placeholders can be cached explicitly without enabling a global PlaceholderAPI cache:
%arc_cache_<ttl-seconds>_<inner-placeholder-without-percent-signs>%
%arc_cache_30_cmi_user_stats_PlayTime%
%arc_cache_plain_30_cmi_user_stats_PlayTime%
The TTL must be an integer from 1 to 300 seconds. Cache entries are isolated by
player UUID (or by a separate server context), TTL, and the exact inner
placeholder. Relational (rel_...) and nested arc_cache_... placeholders are
intentionally unsupported. A miss is resolved synchronously on the caller's
thread, so this helper does not make an unsafe third-party expansion safe to
call asynchronously. The inner placeholder is limited to 160 characters;
results longer than 2048 characters and unknown results are returned but not
cached. Concurrent misses may resolve the same value more than once so ARC never
blocks one expansion thread on another expansion's threading requirements.
The opt-in cache_plain form uses the same cache contract but removes legacy
Minecraft section-sign formatting codes (§0–§f, §k–§o, §r, and
§x) from a resolved value before caching it. It is intended for MiniMessage
surfaces that otherwise truncate multi-part legacy-formatted values. The
ordinary cache form continues to preserve the expansion result exactly.
MIT — see LICENSE.