48 Commits
Author SHA1 Message Date
TS bdb43a8280 add compatibilies
Build / build (push) Canceled after 0s
2026-07-16 11:47:23 +02:00
TS 324a9b899e update README 2026-07-16 11:17:54 +02:00
TS 3ae90416c8 feat: support any server, drop telemetry and server list injection
Unblock every server instead of only the domains on the built-in
allowlist, which also removes the startup download of the extra domain
list from 6b6t.org.

Remove the join packet that was sent to the server on every connect, and
stop inserting 6b6t into the multiplayer server list. The tracked
homepage link and the Discord entry are dropped from the mod metadata.
2026-07-16 11:12:23 +02:00
AlexProgrammerDEandgithub-actions[bot] 2c53427a23 chore(release): bump version to 1.3.1-SNAPSHOT 2026-07-15 07:19:00 +00:00
AlexProgrammerDEandgithub-actions[bot] e55c3574ba chore(release): bump version to 1.3.0 2026-07-15 07:14:07 +00:00
AlexProgrammerDE f4d6a6aca3 docs(branding): emphasize AnarchyMod requirement 2026-07-15 09:11:17 +02:00
AlexProgrammerDE 47e0b3c9d2 docs(branding): update 6b6t ban messaging 2026-07-15 09:10:10 +02:00
AlexProgrammerDE c674f3cbfa feat: support Minecraft 26.2 2026-07-15 09:08:41 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
869c285729 chore(deps): update all non-major dependencies to v1.17.14 (#36)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-12 23:29:39 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
c17c61d325 chore(deps): update all non-major dependencies to v1.17.13 (#35)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-01 21:12:04 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
c530629e24 chore(deps): update gradle to v9.6.1 (#34)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-28 02:28:16 +00:00
AlexandGitHub e0e19720c8 Update _config.yml 2026-06-24 18:36:49 +02:00
AlexandGitHub 103b892f53 Create CODEOWNERS 2026-06-24 18:35:49 +02:00
AlexandGitHub b534dd09fc Create _config.yml 2026-06-24 18:16:10 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
d6c941c6ca chore(deps): update actions/checkout action to v7 (#32)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-24 18:14:15 +02:00
AlexandGitHub 80a12d92c9 Create CNAME 2026-06-24 18:13:37 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1ef0eb4570 chore(deps): update all non-major dependencies (#33)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-20 16:42:57 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
62e7cf1c1c chore(deps): update all non-major dependencies to v0.9.6 (#31)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-17 10:59:33 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
37f771fa2d chore(deps): update all non-major dependencies to v1.17.11 (#30)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-14 21:29:59 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
ab61808829 chore(deps): update all non-major dependencies to v1.17.7 (#29)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-09 19:46:47 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
716e67727b chore(deps): update all non-major dependencies to v0.9.5 (#28)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-05 23:06:17 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
62ee66fdd0 chore(deps): update all non-major dependencies to v1.16.3 (#27)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-02 04:38:16 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
79d7858f68 chore(deps): update gradle to v9.5.1 (#26)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-18 21:16:33 +00:00
AlexProgrammerDEandgithub-actions[bot] 0e3fd5af41 chore(release): bump version to 1.2.2-SNAPSHOT 2026-05-17 13:48:34 +00:00
AlexProgrammerDEandgithub-actions[bot] 5c8cf83e7f chore(release): bump version to 1.2.1 2026-05-17 13:43:57 +00:00
AlexProgrammerDE 1a571e42e2 ci(release): include 26.1 artifacts 2026-05-17 15:41:05 +02:00
AlexProgrammerDEandgithub-actions[bot] ddd6174fc0 chore(release): bump version to 1.2.1-SNAPSHOT 2026-05-17 13:10:21 +00:00
AlexProgrammerDEandgithub-actions[bot] ff15da1b62 chore(release): bump version to 1.2.0 2026-05-17 13:05:38 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
209f02c6cd chore(deps): update gradle/actions action to v6 (#25)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-17 15:05:08 +02:00
AlexProgrammerDE f64fb2dfdb feat: 26.1 2026-05-17 15:03:16 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
213061f125 chore(deps): update plugin fabric-loom to v1.16.2 (#24)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-15 17:34:51 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
6a6c92ea0a chore(deps): update gradle/actions action to v6 (#15)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-14 01:05:47 +02:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
61ec7e32cc chore(deps): update all non-major dependencies (#22)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-13 21:06:02 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5c1d513d35 chore(deps): update plugin dev.kikugie.stonecutter to v0.9.3 (#21)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-03 00:27:51 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7e3c9abbca chore(deps): update gradle to v9.5.0 (#20)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-30 04:29:14 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
1d3527b834 fix(deps): update dependency com.google.code.gson:gson to v2.14.0 (#19)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-25 05:44:01 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
e102f65531 chore(deps): update plugin dev.kikugie.stonecutter to v0.9.2 (#18)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-20 19:53:13 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
8ee4a0763c chore(deps): update plugin dev.kikugie.stonecutter to v0.9.1 (#17)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-18 04:28:13 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
d985762d7a chore(deps): update plugin fabric-loom to v1.16.1 (#16)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-04-07 01:43:23 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
493a15d34d chore(deps): update gradle to v9.4.1 (#14)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-20 21:54:29 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
7ae7110f90 chore(deps): update plugin dev.kikugie.stonecutter to v0.9 (#13)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-18 21:54:36 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
bba6fc3b3e chore(deps): update plugin fabric-loom to v1.15.5 (#12)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-15 01:43:47 +00:00
renovate[bot]GitHubrenovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
5d32b1a447 chore(deps): update gradle to v9.4.0 (#11)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-05 17:59:29 +00:00
AlexProgrammerDEandgithub-actions[bot] 026a1260f9 chore(release): bump version to 1.1.1-SNAPSHOT 2026-03-01 09:35:23 +00:00
AlexProgrammerDEandgithub-actions[bot] b85506f476 chore(release): bump version to 1.1.0 2026-03-01 09:24:23 +00:00
AlexProgrammerDEandClaude Opus 4.6 0a3b019962 refactor: migrate to Stonecutter for multi-version management
Replace 20 separate mc-* submodules and common module with a single
Stonecutter-managed source tree using preprocessor comments. This
eliminates massive code duplication while preserving all version-specific
behavior across 1.19.4 through 1.21.11.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-01 10:06:02 +01:00
LaurandGitHub d2676ac1d2 Added support for versions 1.19.4 through 1.21.7 (#10) 2026-03-01 08:15:38 +01:00
AlexProgrammerDEandgithub-actions[bot] 37815c4858 chore(release): bump version to 1.0.5-SNAPSHOT 2026-02-28 08:04:24 +00:00
78 changed files with 552 additions and 1012 deletions
+1
View File
@@ -0,0 +1 @@
* @AlexProgrammerDE
+129 -9
View File
@@ -2,44 +2,164 @@ name: Build
on:
push:
branches: [main]
branches: [ main ]
pull_request:
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 21
java-version: 25
- uses: gradle/actions/setup-gradle@v5
- uses: gradle/actions/setup-gradle@v6
- run: ./gradlew build
- run: ./gradlew chiseledBuild
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.19.4
path: versions/1.19.4/build/libs/anarchymod-mc-1.19.4-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20
path: versions/1.20/build/libs/anarchymod-mc-1.20-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.1
path: versions/1.20.1/build/libs/anarchymod-mc-1.20.1-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.2
path: versions/1.20.2/build/libs/anarchymod-mc-1.20.2-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.3
path: versions/1.20.3/build/libs/anarchymod-mc-1.20.3-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.4
path: versions/1.20.4/build/libs/anarchymod-mc-1.20.4-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.5
path: versions/1.20.5/build/libs/anarchymod-mc-1.20.5-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.20.6
path: versions/1.20.6/build/libs/anarchymod-mc-1.20.6-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21
path: versions/1.21/build/libs/anarchymod-mc-1.21-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.1
path: versions/1.21.1/build/libs/anarchymod-mc-1.21.1-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.2
path: versions/1.21.2/build/libs/anarchymod-mc-1.21.2-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.3
path: versions/1.21.3/build/libs/anarchymod-mc-1.21.3-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.4
path: versions/1.21.4/build/libs/anarchymod-mc-1.21.4-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.5
path: versions/1.21.5/build/libs/anarchymod-mc-1.21.5-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.6
path: versions/1.21.6/build/libs/anarchymod-mc-1.21.6-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.7
path: versions/1.21.7/build/libs/anarchymod-mc-1.21.7-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.8
path: mc-1.21.8/build/libs/anarchymod-mc-1.21.8-*.jar
path: versions/1.21.8/build/libs/anarchymod-mc-1.21.8-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.9
path: mc-1.21.9/build/libs/anarchymod-mc-1.21.9-*.jar
path: versions/1.21.9/build/libs/anarchymod-mc-1.21.9-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.10
path: mc-1.21.10/build/libs/anarchymod-mc-1.21.10-*.jar
path: versions/1.21.10/build/libs/anarchymod-mc-1.21.10-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-1.21.11
path: mc-1.21.11/build/libs/anarchymod-mc-1.21.11-*.jar
path: versions/1.21.11/build/libs/anarchymod-mc-1.21.11-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-26.1
path: versions/26.1/build/libs/anarchymod-mc-26.1-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-26.1.1
path: versions/26.1.1/build/libs/anarchymod-mc-26.1.1-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-26.1.2
path: versions/26.1.2/build/libs/anarchymod-mc-26.1.2-*.jar
if-no-files-found: error
- uses: actions/upload-artifact@v7
with:
name: anarchymod-mc-26.2
path: versions/26.2/build/libs/anarchymod-mc-26.2-*.jar
if-no-files-found: error
+49 -9
View File
@@ -23,21 +23,21 @@ jobs:
contents: write
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{ github.ref }}
- name: Set up Gradle
uses: gradle/actions/setup-gradle@v5
uses: gradle/actions/setup-gradle@v6
- name: Set up JDK 21
- name: Set up JDK 25
uses: actions/setup-java@v5
with:
java-version: '21'
java-version: '25'
distribution: 'temurin'
- name: Build with Gradle
run: ./gradlew build
run: ./gradlew chiseledBuild
- name: Build Changelog
id: changelog
@@ -94,10 +94,30 @@ jobs:
| Minecraft Version | Download |
|---|---|
| 1.19.4 | [\`anarchymod-mc-1.19.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.19.4-${VERSION}.jar) |
| 1.20 | [\`anarchymod-mc-1.20-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20-${VERSION}.jar) |
| 1.20.1 | [\`anarchymod-mc-1.20.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.1-${VERSION}.jar) |
| 1.20.2 | [\`anarchymod-mc-1.20.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.2-${VERSION}.jar) |
| 1.20.3 | [\`anarchymod-mc-1.20.3-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.3-${VERSION}.jar) |
| 1.20.4 | [\`anarchymod-mc-1.20.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.4-${VERSION}.jar) |
| 1.20.5 | [\`anarchymod-mc-1.20.5-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.5-${VERSION}.jar) |
| 1.20.6 | [\`anarchymod-mc-1.20.6-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.20.6-${VERSION}.jar) |
| 1.21 | [\`anarchymod-mc-1.21-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21-${VERSION}.jar) |
| 1.21.1 | [\`anarchymod-mc-1.21.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.1-${VERSION}.jar) |
| 1.21.2 | [\`anarchymod-mc-1.21.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.2-${VERSION}.jar) |
| 1.21.3 | [\`anarchymod-mc-1.21.3-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.3-${VERSION}.jar) |
| 1.21.4 | [\`anarchymod-mc-1.21.4-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.4-${VERSION}.jar) |
| 1.21.5 | [\`anarchymod-mc-1.21.5-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.5-${VERSION}.jar) |
| 1.21.6 | [\`anarchymod-mc-1.21.6-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.6-${VERSION}.jar) |
| 1.21.7 | [\`anarchymod-mc-1.21.7-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.7-${VERSION}.jar) |
| 1.21.8 | [\`anarchymod-mc-1.21.8-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.8-${VERSION}.jar) |
| 1.21.9 | [\`anarchymod-mc-1.21.9-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.9-${VERSION}.jar) |
| 1.21.10 | [\`anarchymod-mc-1.21.10-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.10-${VERSION}.jar) |
| 1.21.11 | [\`anarchymod-mc-1.21.11-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-1.21.11-${VERSION}.jar) |
| 26.1 | [\`anarchymod-mc-26.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1-${VERSION}.jar) |
| 26.1.1 | [\`anarchymod-mc-26.1.1-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1.1-${VERSION}.jar) |
| 26.1.2 | [\`anarchymod-mc-26.1.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.1.2-${VERSION}.jar) |
| 26.2 | [\`anarchymod-mc-26.2-${VERSION}.jar\`](${DOWNLOAD_URL}/anarchymod-mc-26.2-${VERSION}.jar) |
${CHANGELOG}
EOF
@@ -106,10 +126,30 @@ jobs:
gh release create "${VERSION}" \
--title "AnarchyMod ${VERSION}" \
--notes "${NOTES}" \
mc-1.21.8/build/libs/anarchymod-mc-1.21.8-${VERSION}.jar \
mc-1.21.9/build/libs/anarchymod-mc-1.21.9-${VERSION}.jar \
mc-1.21.10/build/libs/anarchymod-mc-1.21.10-${VERSION}.jar \
mc-1.21.11/build/libs/anarchymod-mc-1.21.11-${VERSION}.jar
versions/1.19.4/build/libs/anarchymod-mc-1.19.4-${VERSION}.jar \
versions/1.20/build/libs/anarchymod-mc-1.20-${VERSION}.jar \
versions/1.20.1/build/libs/anarchymod-mc-1.20.1-${VERSION}.jar \
versions/1.20.2/build/libs/anarchymod-mc-1.20.2-${VERSION}.jar \
versions/1.20.3/build/libs/anarchymod-mc-1.20.3-${VERSION}.jar \
versions/1.20.4/build/libs/anarchymod-mc-1.20.4-${VERSION}.jar \
versions/1.20.5/build/libs/anarchymod-mc-1.20.5-${VERSION}.jar \
versions/1.20.6/build/libs/anarchymod-mc-1.20.6-${VERSION}.jar \
versions/1.21/build/libs/anarchymod-mc-1.21-${VERSION}.jar \
versions/1.21.1/build/libs/anarchymod-mc-1.21.1-${VERSION}.jar \
versions/1.21.2/build/libs/anarchymod-mc-1.21.2-${VERSION}.jar \
versions/1.21.3/build/libs/anarchymod-mc-1.21.3-${VERSION}.jar \
versions/1.21.4/build/libs/anarchymod-mc-1.21.4-${VERSION}.jar \
versions/1.21.5/build/libs/anarchymod-mc-1.21.5-${VERSION}.jar \
versions/1.21.6/build/libs/anarchymod-mc-1.21.6-${VERSION}.jar \
versions/1.21.7/build/libs/anarchymod-mc-1.21.7-${VERSION}.jar \
versions/1.21.8/build/libs/anarchymod-mc-1.21.8-${VERSION}.jar \
versions/1.21.9/build/libs/anarchymod-mc-1.21.9-${VERSION}.jar \
versions/1.21.10/build/libs/anarchymod-mc-1.21.10-${VERSION}.jar \
versions/1.21.11/build/libs/anarchymod-mc-1.21.11-${VERSION}.jar \
versions/26.1/build/libs/anarchymod-mc-26.1-${VERSION}.jar \
versions/26.1.1/build/libs/anarchymod-mc-26.1.1-${VERSION}.jar \
versions/26.1.2/build/libs/anarchymod-mc-26.1.2-${VERSION}.jar \
versions/26.2/build/libs/anarchymod-mc-26.2-${VERSION}.jar
set-after-version:
needs: build
+2 -2
View File
@@ -22,12 +22,12 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v6
uses: actions/checkout@v7
with:
ref: ${{ github.ref }}
- name: Set Version
run: sed -i "s/version = \".*\"/version = \"${{ inputs.version }}\"/" build.gradle.kts
run: sed -i "s/mod_version=.*/mod_version=${{ inputs.version }}/" gradle.properties
- name: Commit Version
uses: stefanzweifel/git-auto-commit-action@v7
+1
View File
@@ -0,0 +1 @@
mod.6b6t.org
+33 -6
View File
@@ -3,22 +3,49 @@
[![Build](https://github.com/6b6t/AnarchyMod/actions/workflows/build.yml/badge.svg)](https://github.com/6b6t/AnarchyMod/actions/workflows/build.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
🔓 Bypass a potential Mojang blacklist of 6b6t - the biggest anarchy server in the world.
🔓 Bypass Mojang's blocked server list and connect to any Minecraft server.
This is a fork of [6b6t/AnarchyMod](https://github.com/6b6t/AnarchyMod), reworked so that the mod is useful for any server and keeps to itself.
## What's different from upstream
- **Every server is unblocked, not just a hardcoded list.** Upstream only bypassed the ban for domains on a built-in allowlist of anarchy servers (belonging to 6b6t), extended at startup by a list downloaded from `6b6t.org`. Both are gone: the mod now reports every server as unblocked.
- **No telemetry.** Upstream sent a packet to the server on every join, and the domain download was a second call home. Neither remains, and the mod makes no network requests of its own.
- **Your server list is left alone.** Upstream inserted 6b6t at the top of your multiplayer list if no matching server was present. It no longer touches your server list.
- **No 6b6t promotion in the mod.** The tracked homepage link and the Discord entry are gone from the mod metadata.
## Features
- **Server unblocking** — bypasses Mojang's blocked server list for known anarchy servers
- **Auto server list** — automatically adds 6b6t to your server list if not already present
- **Join notification** — sends a lightweight packet to the server on join for analytics
- **Server unblocking** — bypasses Mojang's blocked server list for every server
## Supported Minecraft Versions
| Minecraft | Module |
|-----------|--------------|
| 1.19.4 | `mc-1.19.4` |
| 1.20 | `mc-1.20` |
| 1.20.1 | `mc-1.20.1` |
| 1.20.2 | `mc-1.20.2` |
| 1.20.3 | `mc-1.20.3` |
| 1.20.4 | `mc-1.20.4` |
| 1.20.5 | `mc-1.20.5` |
| 1.20.6 | `mc-1.20.6` |
| 1.21 | `mc-1.21` |
| 1.21.1 | `mc-1.21.1` |
| 1.21.2 | `mc-1.21.2` |
| 1.21.3 | `mc-1.21.3` |
| 1.21.4 | `mc-1.21.4` |
| 1.21.5 | `mc-1.21.5` |
| 1.21.6 | `mc-1.21.6` |
| 1.21.7 | `mc-1.21.7` |
| 1.21.8 | `mc-1.21.8` |
| 1.21.9 | `mc-1.21.9` |
| 1.21.10 | `mc-1.21.10` |
| 1.21.11 | `mc-1.21.11` |
| 26.1 | `mc-26.1` |
| 26.1.1 | `mc-26.1.1` |
| 26.1.2 | `mc-26.1.2` |
| 26.2 | `mc-26.2` |
## Installation
@@ -28,10 +55,10 @@
## Building from Source
Requires Java 21+.
Requires Java 25+ for the full multi-version build.
```sh
git clone https://github.com/6b6t/AnarchyMod.git
git clone https://github.com/Wokleim/AnarchyMod.git
cd AnarchyMod
./gradlew build
```
+46
View File
@@ -0,0 +1,46 @@
# TODO
Goal: turn AnarchyMod into a generic blocked-server-list bypass, with no telemetry
and no 6b6t-specific behaviour.
## Play on any server
- [x] Make `BlockedServersMixin` always report servers as unblocked, instead of only
those on the 6b6t allowlist.
- [x] Delete `Domains.java`. It held the hardcoded anarchy-server allowlist and also
fetched an extra list from `https://www.6b6t.org/api/anarchy-mod.json` on startup.
With every server unblocked there is nothing left to match against.
## Remove telemetry
- [x] Delete `JoinPayload.java` and stop registering it in `AnarchyMod.onInitializeClient`.
- [x] Drop the `ClientPlayConnectionEvents.JOIN` listener that sent the packet to the
server on every join.
- [x] The remote domain fetch is gone with `Domains.java` (it was the other outbound call).
- [x] Drop the utm-tagged homepage link from `fabric.mod.json`.
## Do not add 6b6t to the server list
- [x] Delete `ServerListMixin.java` and remove it from `anarchymod.mixins.json`.
## Metadata
- [x] Rewrite the `fabric.mod.json` description; remove the 6b6t homepage and Discord links.
- [x] Add `Wokleim` to the authors.
- [x] Remove the now-unused explicit `gson` dependency from `build.gradle.kts` and
`modern-build.gradle.kts` (only `Domains.java` used it).
## Docs
- [x] Rewrite `README.md`: state that it is based on 6b6t/AnarchyMod, link the source,
and list the changes made in this fork.
- [x] Update the description in `_config.yml`.
## Notes / left alone on purpose
- `fabric-api` stays a required dependency and `AnarchyMod` stays the client entrypoint,
even though the entrypoint no longer does anything. Decided against dropping it.
- `contact.issues` / `contact.sources` still point at `github.com/6b6t/AnarchyMod`, kept
as source attribution rather than as promotion.
- Verified by compiling the 1.19.4, 1.20.5 and 1.21.11 modules, which covers all three
Stonecutter branches the deleted code had. Not launched in a real client.
+19
View File
@@ -0,0 +1,19 @@
title: AnarchyMod
description: 🔓 Bypass Mojang's blocked server list and connect to any Minecraft server.
theme: jekyll-theme-hacker
# The release jar lives on the Releases page, so hide the source zip/tar buttons.
show_downloads: false
# This repo is a Gradle project, so keep everything that is not the site out of
# the generated pages. Dotfiles and dotfolders (.github, .gradle, ...) are
# already ignored by Jekyll.
exclude:
- src/
- build/
- gradle/
- run/
- gradlew
- gradlew.bat
- build.gradle.kts
- settings.gradle.kts
+69 -11
View File
@@ -1,20 +1,78 @@
plugins {
id("java")
id("net.fabricmc.fabric-loom-remap") version "1.17.14"
id("maven-publish")
}
group = "net.blockhost"
version = "1.0.4"
val minecraftVersion = stonecutter.current.project
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
val javaVersion = (property("java_version") as String).toInt()
repositories {
mavenCentral()
version = property("mod_version")!!
group = property("maven_group")!!
base {
archivesName.set("anarchymod-mc-${minecraftVersion}")
}
dependencies {
testImplementation(platform("org.junit:junit-bom:6.0.3"))
testImplementation("org.junit.jupiter:junit-jupiter")
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
}
tasks.test {
useJUnitPlatform()
}
loom {
runConfigs.all {
ideConfigGenerated(true)
runDir = "../../run"
}
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
inputs.property("java_version", javaVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"java_version" to javaVersion
)
}
filesMatching("anarchymod.mixins.json") {
expand(
"java_version" to javaVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(javaVersion)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(javaVersion))
withSourcesJar()
}
tasks.jar {
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = base.archivesName.get()
from(components["java"])
}
}
}
-18
View File
@@ -1,18 +0,0 @@
plugins {
id("java-library")
}
group = rootProject.group
version = rootProject.version
repositories {
mavenCentral()
}
dependencies {
implementation("com.google.code.gson:gson:2.13.2")
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
}
@@ -1,87 +0,0 @@
package net.blockhost.anarchymod;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.time.Duration;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;
import java.util.logging.Logger;
public class Domains {
private static final Logger LOGGER = Logger.getLogger("AnarchyMod-Domains");
private static final String DOMAINS_URL = "https://www.6b6t.org/api/anarchy-mod.json";
private static final Set<String> DEFAULT = Set.of(
"*.6b6t.org", "*.10b10t.org", "*.6b6t.cc", "*.6b6t.me",
"*.7b7t.me", "*.8b8t.org", "*.alacity.net",
"*.anarchypvp.pw", "*.l2x9.org", "*.simpleanarchy.org"
);
private static final Set<String> domains = new HashSet<>();
private static final Gson gson = new Gson();
static {
DEFAULT.forEach(d -> domains.add(d.toLowerCase(Locale.ROOT)));
loadRemote();
}
private static void loadRemote() {
try (HttpClient client = HttpClient.newHttpClient()) {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(DOMAINS_URL))
.timeout(Duration.ofSeconds(15))
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
JsonObject json = gson.fromJson(response.body(), JsonObject.class);
JsonArray array = json.getAsJsonArray("domains");
if (array == null) return;
array.forEach(element ->
domains.add(element.getAsString().toLowerCase(Locale.ROOT))
);
} catch (Throwable t) {
LOGGER.warning("Failed to load domains from remote, using defaults: " + t.getMessage());
}
}
public static boolean contains(String input) {
if (input == null) return false;
String domain = input.toLowerCase(Locale.ROOT);
if (domain.startsWith("*.")) {
domain = domain.substring(2);
}
int semiColon = domain.indexOf(':');
if (semiColon != -1) {
domain = domain.substring(0, semiColon);
}
for (String entry : domains) {
if (entry.startsWith("*.")) {
String base = entry.substring(2);
if (domain.equals(base) || domain.endsWith("." + base)) {
return true;
}
} else {
if (domain.equals(entry)) {
return true;
}
}
}
return false;
}
}
+2
View File
@@ -0,0 +1,2 @@
[.ShellClassInfo]
LocalizedResourceName=AnarchyMod
+2
View File
@@ -1 +1,3 @@
org.gradle.jvmargs=-Xmx1G
mod_version=1.3.1-SNAPSHOT
maven_group=net.blockhost
Binary file not shown.
+3 -1
View File
@@ -1,7 +1,9 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-9.3.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Vendored
+3 -3
View File
@@ -20,7 +20,7 @@
##############################################################################
#
# Gradle start up script for POSIX generated by Gradle.
# gradlew start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh Gradle
# ksh gradlew
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -57,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/3d91ce3b8caaf77ad09f381f43615b715b53f72c/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Vendored
+12 -23
View File
@@ -19,12 +19,12 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem Gradle startup script for Windows
@rem gradlew startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables with windows NT shell
if "%OS%"=="Windows_NT" setlocal
@rem Set local scope for the variables, and ensure extensions are enabled
setlocal EnableExtensions
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@@ -51,7 +51,7 @@ echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
"%COMSPEC%" /c exit 1
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
@@ -65,29 +65,18 @@ echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
goto fail
"%COMSPEC%" /c exit 1
:execute
@rem Setup the command line
@rem Execute Gradle
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %*
@rem Execute gradlew
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
:end
@rem End local scope for the variables with windows NT shell
if %ERRORLEVEL% equ 0 goto mainEnd
:fail
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
rem the _cmd.exe /c_ return code!
set EXIT_CODE=%ERRORLEVEL%
if %EXIT_CODE% equ 0 set EXIT_CODE=1
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
exit /b %EXIT_CODE%
:mainEnd
if "%OS%"=="Windows_NT" endlocal
:omega
:exitWithErrorLevel
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
"%COMSPEC%" /c exit %ERRORLEVEL%
-75
View File
@@ -1,75 +0,0 @@
plugins {
id("fabric-loom") version "1.15.4"
id("maven-publish")
}
val minecraftVersion = property("minecraft_version") as String
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
version = rootProject.version
group = property("maven_group")!!
base {
archivesName.set("anarchymod-${project.name}")
}
repositories {
}
sourceSets {
main {
resources.srcDir(project(":common").sourceSets["main"].resources.srcDirs)
}
}
dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
implementation(project(":common"))
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"fabric_api_version" to fabricApiVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(21)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
withSourcesJar()
}
tasks.jar {
dependsOn(project(":common").tasks.named("classes"))
from(project(":common").sourceSets["main"].output.classesDirs)
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = base.archivesName.get()
from(components["java"])
}
}
}
-10
View File
@@ -1,10 +0,0 @@
# Done to increase the memory available to gradle.
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.21.10
loader_version=0.18.4
fabric_api_version=0.138.4+1.21.10
# Mod Properties
maven_group=net.blockhost
archives_base_name=mc-1.21.10
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
public class AnarchyMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
PayloadTypeRegistry.playC2S().register(JoinPayload.TYPE, JoinPayload.CODEC);
ClientPlayConnectionEvents.JOIN.register((listener, sender, client) -> {
if (client.getCurrentServer() != null && Domains.contains(client.getCurrentServer().ip))
sender.sendPacket(new JoinPayload());
});
}
}
@@ -1,25 +0,0 @@
package net.blockhost.anarchymod;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.resources.ResourceLocation;
public class JoinPayload implements CustomPacketPayload {
public static final ResourceLocation ID = ResourceLocation.fromNamespaceAndPath("anarchymod", "join");
public static final StreamCodec<FriendlyByteBuf, JoinPayload> CODEC =
StreamCodec.of(
(payload, buf) -> {},
buf -> new JoinPayload()
);
public static final Type<JoinPayload> TYPE =
new Type<>(ID);
@Override
public Type<? extends CustomPacketPayload> type() {
return TYPE;
}
}
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod.mixin;
import com.mojang.patchy.BlockedServers;
import net.blockhost.anarchymod.Domains;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockedServers.class)
public class BlockedServersMixin {
@Inject(method = "isBlockedServerHostName", at = @At("RETURN"), cancellable = true, remap = false)
public void isBlockedServerHostName(String server, CallbackInfoReturnable<Boolean> cir) {
boolean contains = Domains.contains(server);
if (contains) {
cir.setReturnValue(false);
}
}
}
@@ -1,29 +0,0 @@
package net.blockhost.anarchymod.mixin;
import net.blockhost.anarchymod.Domains;
import net.minecraft.client.multiplayer.ServerData;
import net.minecraft.client.multiplayer.ServerList;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
@Mixin(ServerList.class)
public class ServerListMixin {
@Shadow
@Final
private List<ServerData> serverList;
@Inject(method = "load", at = @At("RETURN"))
public void afterLoad(CallbackInfo ci) {
if (serverList.stream().noneMatch(data -> Domains.contains(data.ip))) {
serverList.addFirst(new ServerData("6b6t", "6b6t.org", ServerData.Type.OTHER));
}
}
}
@@ -1,16 +0,0 @@
{
"required": true,
"minVersion": "0.8",
"package": "net.blockhost.anarchymod.mixin",
"compatibilityLevel": "JAVA_21",
"client": [
"BlockedServersMixin",
"ServerListMixin"
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
}
}
@@ -1,37 +0,0 @@
{
"schemaVersion": 1,
"id": "anarchymod",
"version": "${version}",
"name": "AnarchyMod",
"description": "Bypass a potential Mojang blacklist of 6b6t - the biggest anarchy server in the world.",
"authors": ["6b6t"],
"contact": {
"homepage": "https://www.6b6t.org/?utm_source=anarchymod&utm_medium=mod_menu&utm_campaign=evergreen_website&utm_content=description_link",
"issues": "https://github.com/6b6t/AnarchyMod/issues",
"sources": "https://github.com/6b6t/AnarchyMod"
},
"license": "MIT",
"icon": "assets/anarchymod/icon.png",
"environment": "client",
"entrypoints": {
"client": [
"net.blockhost.anarchymod.AnarchyMod"
]
},
"mixins": [
"anarchymod.mixins.json"
],
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://6b6t.org/discord"
}
}
},
"depends": {
"fabric": "*",
"fabricloader": ">=${loader_version}",
"minecraft": "${minecraft_version}",
"java": ">=21"
}
}
-75
View File
@@ -1,75 +0,0 @@
plugins {
id("fabric-loom") version "1.15.4"
id("maven-publish")
}
val minecraftVersion = property("minecraft_version") as String
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
version = rootProject.version
group = property("maven_group")!!
base {
archivesName.set("anarchymod-${project.name}")
}
repositories {
}
sourceSets {
main {
resources.srcDir(project(":common").sourceSets["main"].resources.srcDirs)
}
}
dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
implementation(project(":common"))
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"fabric_api_version" to fabricApiVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(21)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
withSourcesJar()
}
tasks.jar {
dependsOn(project(":common").tasks.named("classes"))
from(project(":common").sourceSets["main"].output.classesDirs)
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = base.archivesName.get()
from(components["java"])
}
}
}
-10
View File
@@ -1,10 +0,0 @@
# Done to increase the memory available to gradle.
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.21.11
loader_version=0.18.4
fabric_api_version=0.141.3+1.21.11
# Mod Properties
maven_group=net.blockhost
archives_base_name=mc-1.21.11
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
public class AnarchyMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
PayloadTypeRegistry.playC2S().register(JoinPayload.TYPE, JoinPayload.CODEC);
ClientPlayConnectionEvents.JOIN.register((listener, sender, client) -> {
if (client.getCurrentServer() != null && Domains.contains(client.getCurrentServer().ip))
sender.sendPacket(new JoinPayload());
});
}
}
@@ -1,25 +0,0 @@
package net.blockhost.anarchymod;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.resources.Identifier;
public class JoinPayload implements CustomPacketPayload {
public static final Identifier ID = Identifier.fromNamespaceAndPath("anarchymod", "join");
public static final StreamCodec<FriendlyByteBuf, JoinPayload> CODEC =
StreamCodec.of(
(payload, buf) -> {},
buf -> new JoinPayload()
);
public static final Type<JoinPayload> TYPE =
new Type<>(ID);
@Override
public Type<? extends CustomPacketPayload> type() {
return TYPE;
}
}
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod.mixin;
import com.mojang.patchy.BlockedServers;
import net.blockhost.anarchymod.Domains;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockedServers.class)
public class BlockedServersMixin {
@Inject(method = "isBlockedServerHostName", at = @At("RETURN"), cancellable = true, remap = false)
public void isBlockedServerHostName(String server, CallbackInfoReturnable<Boolean> cir) {
boolean contains = Domains.contains(server);
if (contains) {
cir.setReturnValue(false);
}
}
}
@@ -1,29 +0,0 @@
package net.blockhost.anarchymod.mixin;
import net.blockhost.anarchymod.Domains;
import net.minecraft.client.multiplayer.ServerData;
import net.minecraft.client.multiplayer.ServerList;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
@Mixin(ServerList.class)
public class ServerListMixin {
@Shadow
@Final
private List<ServerData> serverList;
@Inject(method = "load", at = @At("RETURN"))
public void afterLoad(CallbackInfo ci) {
if (serverList.stream().noneMatch(data -> Domains.contains(data.ip))) {
serverList.addFirst(new ServerData("6b6t", "6b6t.org", ServerData.Type.OTHER));
}
}
}
@@ -1,16 +0,0 @@
{
"required": true,
"minVersion": "0.8",
"package": "net.blockhost.anarchymod.mixin",
"compatibilityLevel": "JAVA_21",
"client": [
"BlockedServersMixin",
"ServerListMixin"
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
}
}
-10
View File
@@ -1,10 +0,0 @@
# Done to increase the memory available to gradle.
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.21.8
loader_version=0.18.4
fabric_api_version=0.136.1+1.21.8
# Mod Properties
maven_group=net.blockhost
archives_base_name=mc-1.21.8
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
public class AnarchyMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
PayloadTypeRegistry.playC2S().register(JoinPayload.TYPE, JoinPayload.CODEC);
ClientPlayConnectionEvents.JOIN.register((listener, sender, client) -> {
if (client.getCurrentServer() != null && Domains.contains(client.getCurrentServer().ip))
sender.sendPacket(new JoinPayload());
});
}
}
@@ -1,25 +0,0 @@
package net.blockhost.anarchymod;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.resources.ResourceLocation;
public class JoinPayload implements CustomPacketPayload {
public static final ResourceLocation ID = ResourceLocation.fromNamespaceAndPath("anarchymod", "join");
public static final StreamCodec<FriendlyByteBuf, JoinPayload> CODEC =
StreamCodec.of(
(payload, buf) -> {},
buf -> new JoinPayload()
);
public static final Type<JoinPayload> TYPE =
new Type<>(ID);
@Override
public Type<? extends CustomPacketPayload> type() {
return TYPE;
}
}
@@ -1,29 +0,0 @@
package net.blockhost.anarchymod.mixin;
import net.blockhost.anarchymod.Domains;
import net.minecraft.client.multiplayer.ServerData;
import net.minecraft.client.multiplayer.ServerList;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
@Mixin(ServerList.class)
public class ServerListMixin {
@Shadow
@Final
private List<ServerData> serverList;
@Inject(method = "load", at = @At("RETURN"))
public void afterLoad(CallbackInfo ci) {
if (serverList.stream().noneMatch(data -> Domains.contains(data.ip))) {
serverList.addFirst(new ServerData("6b6t", "6b6t.org", ServerData.Type.OTHER));
}
}
}
@@ -1,16 +0,0 @@
{
"required": true,
"minVersion": "0.8",
"package": "net.blockhost.anarchymod.mixin",
"compatibilityLevel": "JAVA_21",
"client": [
"BlockedServersMixin",
"ServerListMixin"
],
"injectors": {
"defaultRequire": 1
},
"overwrites": {
"requireAnnotations": true
}
}
@@ -1,37 +0,0 @@
{
"schemaVersion": 1,
"id": "anarchymod",
"version": "${version}",
"name": "AnarchyMod",
"description": "Bypass a potential Mojang blacklist of 6b6t - the biggest anarchy server in the world.",
"authors": ["6b6t"],
"contact": {
"homepage": "https://www.6b6t.org/?utm_source=anarchymod&utm_medium=mod_menu&utm_campaign=evergreen_website&utm_content=description_link",
"issues": "https://github.com/6b6t/AnarchyMod/issues",
"sources": "https://github.com/6b6t/AnarchyMod"
},
"license": "MIT",
"icon": "assets/anarchymod/icon.png",
"environment": "client",
"entrypoints": {
"client": [
"net.blockhost.anarchymod.AnarchyMod"
]
},
"mixins": [
"anarchymod.mixins.json"
],
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://6b6t.org/discord"
}
}
},
"depends": {
"fabric": "*",
"fabricloader": ">=${loader_version}",
"minecraft": "${minecraft_version}",
"java": ">=21"
}
}
-75
View File
@@ -1,75 +0,0 @@
plugins {
id("fabric-loom") version "1.15.4"
id("maven-publish")
}
val minecraftVersion = property("minecraft_version") as String
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
version = rootProject.version
group = property("maven_group")!!
base {
archivesName.set("anarchymod-${project.name}")
}
repositories {
}
sourceSets {
main {
resources.srcDir(project(":common").sourceSets["main"].resources.srcDirs)
}
}
dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
implementation(project(":common"))
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
expand(
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"fabric_api_version" to fabricApiVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(21)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
withSourcesJar()
}
tasks.jar {
dependsOn(project(":common").tasks.named("classes"))
from(project(":common").sourceSets["main"].output.classesDirs)
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
}
publishing {
publications {
create<MavenPublication>("mavenJava") {
artifactId = base.archivesName.get()
from(components["java"])
}
}
}
-10
View File
@@ -1,10 +0,0 @@
# Done to increase the memory available to gradle.
# Fabric Properties
# check these on https://modmuss50.me/fabric.html
minecraft_version=1.21.9
loader_version=0.18.4
fabric_api_version=0.134.1+1.21.9
# Mod Properties
maven_group=net.blockhost
archives_base_name=mc-1.21.9
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod;
import net.fabricmc.api.ClientModInitializer;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents;
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
import net.fabricmc.fabric.api.networking.v1.PayloadTypeRegistry;
import net.minecraft.core.registries.BuiltInRegistries;
public class AnarchyMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
PayloadTypeRegistry.playC2S().register(JoinPayload.TYPE, JoinPayload.CODEC);
ClientPlayConnectionEvents.JOIN.register((listener, sender, client) -> {
if (client.getCurrentServer() != null && Domains.contains(client.getCurrentServer().ip))
sender.sendPacket(new JoinPayload());
});
}
}
@@ -1,25 +0,0 @@
package net.blockhost.anarchymod;
import net.minecraft.network.FriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import net.minecraft.resources.ResourceLocation;
public class JoinPayload implements CustomPacketPayload {
public static final ResourceLocation ID = ResourceLocation.fromNamespaceAndPath("anarchymod", "join");
public static final StreamCodec<FriendlyByteBuf, JoinPayload> CODEC =
StreamCodec.of(
(payload, buf) -> {},
buf -> new JoinPayload()
);
public static final Type<JoinPayload> TYPE =
new Type<>(ID);
@Override
public Type<? extends CustomPacketPayload> type() {
return TYPE;
}
}
@@ -1,21 +0,0 @@
package net.blockhost.anarchymod.mixin;
import com.mojang.patchy.BlockedServers;
import net.blockhost.anarchymod.Domains;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockedServers.class)
public class BlockedServersMixin {
@Inject(method = "isBlockedServerHostName", at = @At("RETURN"), cancellable = true, remap = false)
public void isBlockedServerHostName(String server, CallbackInfoReturnable<Boolean> cir) {
boolean contains = Domains.contains(server);
if (contains) {
cir.setReturnValue(false);
}
}
}
@@ -1,29 +0,0 @@
package net.blockhost.anarchymod.mixin;
import net.blockhost.anarchymod.Domains;
import net.minecraft.client.multiplayer.ServerData;
import net.minecraft.client.multiplayer.ServerList;
import org.spongepowered.asm.mixin.Final;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import java.util.List;
@Mixin(ServerList.class)
public class ServerListMixin {
@Shadow
@Final
private List<ServerData> serverList;
@Inject(method = "load", at = @At("RETURN"))
public void afterLoad(CallbackInfo ci) {
if (serverList.stream().noneMatch(data -> Domains.contains(data.ip))) {
serverList.addFirst(new ServerData("6b6t", "6b6t.org", ServerData.Type.OTHER));
}
}
}
@@ -1,37 +0,0 @@
{
"schemaVersion": 1,
"id": "anarchymod",
"version": "${version}",
"name": "AnarchyMod",
"description": "Bypass a potential Mojang blacklist of 6b6t - the biggest anarchy server in the world.",
"authors": ["6b6t"],
"contact": {
"homepage": "https://www.6b6t.org/?utm_source=anarchymod&utm_medium=mod_menu&utm_campaign=evergreen_website&utm_content=description_link",
"issues": "https://github.com/6b6t/AnarchyMod/issues",
"sources": "https://github.com/6b6t/AnarchyMod"
},
"license": "MIT",
"icon": "assets/anarchymod/icon.png",
"environment": "client",
"entrypoints": {
"client": [
"net.blockhost.anarchymod.AnarchyMod"
]
},
"mixins": [
"anarchymod.mixins.json"
],
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://6b6t.org/discord"
}
}
},
"depends": {
"fabric": "*",
"fabricloader": ">=${loader_version}",
"minecraft": "${minecraft_version}",
"java": ">=21"
}
}
@@ -1,40 +1,38 @@
plugins {
id("fabric-loom") version "1.15.4"
id("net.fabricmc.fabric-loom") version "1.17.14"
id("maven-publish")
}
val minecraftVersion = property("minecraft_version") as String
val minecraftVersion = stonecutter.current.project
val loaderVersion = property("loader_version") as String
val fabricApiVersion = property("fabric_api_version") as String
val javaVersion = (property("java_version") as String).toInt()
version = rootProject.version
version = property("mod_version")!!
group = property("maven_group")!!
base {
archivesName.set("anarchymod-${project.name}")
}
repositories {
}
sourceSets {
main {
resources.srcDir(project(":common").sourceSets["main"].resources.srcDirs)
}
archivesName.set("anarchymod-mc-${minecraftVersion}")
}
dependencies {
minecraft("com.mojang:minecraft:$minecraftVersion")
mappings(loom.officialMojangMappings())
modImplementation("net.fabricmc:fabric-loader:$loaderVersion")
modImplementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
implementation(project(":common"))
implementation("net.fabricmc:fabric-loader:$loaderVersion")
implementation("net.fabricmc.fabric-api:fabric-api:$fabricApiVersion")
}
loom {
runConfigs.all {
ideConfigGenerated(true)
runDir = "../../run"
}
}
tasks.processResources {
inputs.property("version", project.version)
inputs.property("minecraft_version", minecraftVersion)
inputs.property("loader_version", loaderVersion)
inputs.property("java_version", javaVersion)
filteringCharset = "UTF-8"
filesMatching("fabric.mod.json") {
@@ -42,24 +40,28 @@ tasks.processResources {
"version" to project.version,
"minecraft_version" to minecraftVersion,
"loader_version" to loaderVersion,
"fabric_api_version" to fabricApiVersion
"java_version" to javaVersion
)
}
filesMatching("anarchymod.mixins.json") {
expand(
"java_version" to javaVersion
)
}
}
tasks.withType<JavaCompile>().configureEach {
options.encoding = "UTF-8"
options.release.set(21)
options.release.set(javaVersion)
}
java {
toolchain.languageVersion.set(JavaLanguageVersion.of(21))
toolchain.languageVersion.set(JavaLanguageVersion.of(javaVersion))
withSourcesJar()
}
tasks.jar {
dependsOn(project(":common").tasks.named("classes"))
from(project(":common").sourceSets["main"].output.classesDirs)
from("LICENSE") {
rename { "${it}_${base.archivesName.get()}" }
}
+8 -2
View File
@@ -1,12 +1,18 @@
{
"extends": ["config:base", "group:allNonMajor", ":semanticCommits"],
"extends": [
"config:base",
"group:allNonMajor",
":semanticCommits"
],
"baseBranches": [
"main"
],
"labels": [
"enhancement"
],
"reviewers": ["xymb-endcrystalme"],
"reviewers": [
"xymb-endcrystalme"
],
"packageRules": [
{
"matchUpdateTypes": [
+21 -10
View File
@@ -1,17 +1,28 @@
rootProject.name = "AnarchyMod"
pluginManagement {
repositories {
maven {
url = uri("https://maven.fabricmc.net/")
}
maven("https://maven.fabricmc.net/")
maven("https://maven.kikugie.dev/releases")
gradlePluginPortal()
}
}
plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "1.0.0"
id("dev.kikugie.stonecutter") version "0.9.6"
}
include("common")
include("mc-1.21.8")
include("mc-1.21.9")
include("mc-1.21.10")
include("mc-1.21.11")
stonecutter {
create(rootProject) {
val legacy = arrayOf(
"1.19.4", "1.20", "1.20.1", "1.20.2", "1.20.3", "1.20.4",
"1.20.5", "1.20.6",
"1.21", "1.21.1", "1.21.2", "1.21.3", "1.21.4",
"1.21.5", "1.21.6", "1.21.7",
"1.21.8", "1.21.9", "1.21.10", "1.21.11"
)
val modern = arrayOf("26.1", "26.1.1", "26.1.2", "26.2")
versions(*legacy).buildscript("build.gradle.kts")
versions(*modern).buildscript("modern-build.gradle.kts")
}
}
@@ -0,0 +1,11 @@
package net.blockhost.anarchymod;
import net.fabricmc.api.ClientModInitializer;
public class AnarchyMod implements ClientModInitializer {
@Override
public void onInitializeClient() {
// Everything this mod does happens in BlockedServersMixin.
}
}
@@ -1,7 +1,6 @@
package net.blockhost.anarchymod.mixin;
import com.mojang.patchy.BlockedServers;
import net.blockhost.anarchymod.Domains;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
@@ -10,12 +9,8 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
@Mixin(BlockedServers.class)
public class BlockedServersMixin {
@Inject(method = "isBlockedServerHostName", at = @At("RETURN"), cancellable = true, remap = false)
@Inject(method = "isBlockedServerHostName", at = @At("HEAD"), cancellable = true, remap = false)
public void isBlockedServerHostName(String server, CallbackInfoReturnable<Boolean> cir) {
boolean contains = Domains.contains(server);
if (contains) {
cir.setReturnValue(false);
}
cir.setReturnValue(false);
}
}
@@ -2,10 +2,9 @@
"required": true,
"minVersion": "0.8",
"package": "net.blockhost.anarchymod.mixin",
"compatibilityLevel": "JAVA_21",
"compatibilityLevel": "JAVA_${java_version}",
"client": [
"BlockedServersMixin",
"ServerListMixin"
"BlockedServersMixin"
],
"injectors": {
"defaultRequire": 1

Before

Width:  |  Height:  |  Size: 292 B

After

Width:  |  Height:  |  Size: 292 B

@@ -3,10 +3,12 @@
"id": "anarchymod",
"version": "${version}",
"name": "AnarchyMod",
"description": "Bypass a potential Mojang blacklist of 6b6t - the biggest anarchy server in the world.",
"authors": ["6b6t"],
"description": "Bypasses Mojang's blocked server list so you can connect to any Minecraft server.",
"authors": [
"6b6t",
"Wokleim"
],
"contact": {
"homepage": "https://www.6b6t.org/?utm_source=anarchymod&utm_medium=mod_menu&utm_campaign=evergreen_website&utm_content=description_link",
"issues": "https://github.com/6b6t/AnarchyMod/issues",
"sources": "https://github.com/6b6t/AnarchyMod"
},
@@ -21,17 +23,10 @@
"mixins": [
"anarchymod.mixins.json"
],
"custom": {
"modmenu": {
"links": {
"modmenu.discord": "https://6b6t.org/discord"
}
}
},
"depends": {
"fabric": "*",
"fabric-api": "*",
"fabricloader": ">=${loader_version}",
"minecraft": "${minecraft_version}",
"java": ">=21"
"java": ">=${java_version}"
}
}
+10
View File
@@ -0,0 +1,10 @@
plugins {
id("dev.kikugie.stonecutter")
}
stonecutter active "26.2"
tasks.register("chiseledBuild") {
group = "project"
dependsOn(stonecutter.tasks.named("build"))
}
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.19.4
loader_version=0.14.21
fabric_api_version=0.76.0+1.19.4
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.1
loader_version=0.18.4
fabric_api_version=0.92.7+1.20.1
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.2
loader_version=0.18.4
fabric_api_version=0.91.6+1.20.2
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.3
loader_version=0.18.4
fabric_api_version=0.91.1+1.20.3
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.4
loader_version=0.18.4
fabric_api_version=0.97.3+1.20.4
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.5
loader_version=0.18.4
fabric_api_version=0.97.8+1.20.5
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20.6
loader_version=0.18.4
fabric_api_version=0.100.8+1.20.6
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.20
loader_version=0.18.4
fabric_api_version=0.83.0+1.20
java_version=17
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.1
loader_version=0.18.4
fabric_api_version=0.116.9+1.21.1
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.10
loader_version=0.18.4
fabric_api_version=0.138.4+1.21.10
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.11
loader_version=0.18.4
fabric_api_version=0.141.3+1.21.11
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.2
loader_version=0.18.4
fabric_api_version=0.106.1+1.21.2
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.3
loader_version=0.18.4
fabric_api_version=0.114.1+1.21.3
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.4
loader_version=0.18.4
fabric_api_version=0.119.4+1.21.4
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.5
loader_version=0.18.4
fabric_api_version=0.128.2+1.21.5
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.6
loader_version=0.18.4
fabric_api_version=0.128.2+1.21.6
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.7
loader_version=0.18.4
fabric_api_version=0.129.0+1.21.7
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.8
loader_version=0.18.4
fabric_api_version=0.136.1+1.21.8
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21.9
loader_version=0.18.4
fabric_api_version=0.134.1+1.21.9
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=1.21
loader_version=0.18.4
fabric_api_version=0.102.0+1.21
java_version=21
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=26.1.1
loader_version=0.19.2
fabric_api_version=0.145.4+26.1.1
java_version=25
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=26.1.2
loader_version=0.19.2
fabric_api_version=0.148.2+26.1.2
java_version=25
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=26.1
loader_version=0.19.2
fabric_api_version=0.145.1+26.1
java_version=25
+4
View File
@@ -0,0 +1,4 @@
minecraft_version=26.2
loader_version=0.19.3
fabric_api_version=0.154.2+26.2
java_version=25