1- # Minecraft 1.21.11 Pre-Release 2 Evaluation Copy Decompilation Kit
1+ # Minecraft Decompiled
22
3- ```
4- ================================================================================
5- CONFIDENTIAL - EVALUATION BUILD - DO NOT DISTRIBUTE
6- ================================================================================
7- Property of Mojang AB, a Microsoft Company
8- ================================================================================
9- ```
10-
11- ## Official Notice
12-
13- This package is a ** Minecraft Evaluation Copy Decompilation Kit** containing
14- decompiled Java source code derived from Mojang's officially distributed
15- unobfuscated JAR files. This is NOT original source code but rather a
16- machine-generated reconstruction for review and evaluation purposes.
17-
18- ## What This Is
19-
20- Mojang provides unobfuscated (human-readable) JAR builds for select purposes
21- including press evaluation, mod development support, and security research.
22- This kit processes those official JARs through industry-standard decompilation
23- tools to produce reviewable Java source code.
24-
25- ### Key Points
26-
27- - This is ** decompiled output** , not original authored source code
28- - Derived from official Mojang unobfuscated distribution JARs
29- - Variable names, comments, and structure may differ from internal sources
30- - Intended for evaluation, education, and mod development reference only
31-
32- ## Build Information
33-
34- | Property | Value |
35- | ----------| -------|
36- | Game Version | 1.21.11 Pre-Release 2 |
37- | Build Type | Evaluation / Review Copy |
38- | Distribution | Unobfuscated JAR Decompilation |
39- | Java Version | 21+ |
40-
41- ---
3+ Decompiled source from Mojang's unobfuscated JARs. No Loom, no Forge toolchains, just Vineflower and Gradle.
424
435## Requirements
446
45- - Java Development Kit ( JDK) 21 or later
7+ - JDK 21+
468- Gradle (wrapper included)
479
4810## Setup
@@ -51,7 +13,7 @@ tools to produce reviewable Java source code.
5113./gradlew setup
5214```
5315
54- This decompiles both client and server, applies patches, and sets up the source code .
16+ Decompiles both client and server, applies patches, done .
5517
5618## Build
5719
@@ -63,106 +25,42 @@ This decompiles both client and server, applies patches, and sets up the source
6325## Run
6426
6527``` bash
66- ./gradlew runServer # starts the server
67- ./gradlew runClient # starts the client (needs assets first)
28+ ./gradlew runServer
29+ ./gradlew runClient
6830```
6931
70- For the client, download assets first:
32+ For client, grab assets first:
7133``` bash
7234./gradlew downloadAssets
7335```
7436
75- ## Project Structure
37+ ## Structure
7638
7739```
78- MCP-Reborn/
79- ├── jars/ # vanilla jars (server.jar, client.jar)
80- ├── libs/ # libraries for decompiler linking
81- ├── patches/ # compilation fixes applied after decompilation
82- ├── mods/ # your modifications (server.patch, client.patch)
83- ├── decompSrc/ # raw decompiled source (generated)
84- ├── patchSrc/ # base snapshots for mod diffing (generated)
85- ├── server/ # server subproject
86- │ └── src/main/java/
87- └── client/ # client subproject
88- └── src/main/java/
40+ ├── jars/ # vanilla jars
41+ ├── libs/ # decompiler linking libs
42+ ├── patches/ # decompiler fixes
43+ ├── mods/ # your modifications
44+ ├── server/src/ # server source
45+ └── client/src/ # client source
8946```
9047
91- ## Modding Workflow
92-
93- The project uses a two-layer patch system:
94-
95- 1 . ** Vanilla patches** (` patches/ ` ) - Compilation fixes for the decompiled code. Don't modify these.
96- 2 . ** Mod patches** (` mods/ ` ) - Your custom modifications on top of the working source.
97-
98- ### Creating Mods
99-
100- 1 . Run ` ./gradlew setup ` to get fresh source with vanilla patches applied
101- 2 . Edit files in ` server/src/main/java/ ` or ` client/src/main/java/ `
102- 3 . Test with ` ./gradlew runServer ` or ` ./gradlew runClient `
103- 4 . Generate your mod patches:
104- ``` bash
105- ./gradlew genServerMods # generates mods/server.patch
106- ./gradlew genClientMods # generates mods/client.patch
107- ./gradlew genMods # generates both
108- ```
48+ ## Modding
10949
110- ### How It Works
50+ Two-layer patch system:
51+ 1 . ` patches/ ` - fixes for decompiler output (don't touch)
52+ 2 . ` mods/ ` - your changes
11153
54+ Edit source, test, then generate patches:
55+ ``` bash
56+ ./gradlew genServerMods
57+ ./gradlew genClientMods
11258```
113- decompile -> apply vanilla patches -> snapshot -> apply mod patches
114- ^ |
115- (base for diff) (your code)
116- ```
117-
118- When you run ` setup ` :
119- 1 . Decompiles vanilla JARs to ` decompSrc/ `
120- 2 . Applies ` patches/*.patch ` (compilation fixes)
121- 3 . Creates snapshots in ` patchSrc/ ` (zip of patched source)
122- 4 . Applies ` mods/*.patch ` (your modifications)
123-
124- When you run ` genMods ` :
125- - Diffs current source against the snapshot to generate your mod patches
126-
127- This keeps vanilla fixes separate from your modifications.
128-
129- ## Maintaining Vanilla Patches
130-
131- If you need to fix decompilation issues (not mods):
132-
133- 1 . Edit the source files
134- 2 . Run ` ./gradlew genServerPatch ` or ` ./gradlew genClientPatch `
13559
136- ## Decompilation Notes
60+ ## Decompiler
13761
138- Uses [ Vineflower] ( https://github.com/Vineflower/vineflower ) decompiler with these flags:
139- - ` -din=1 ` - decompile inner classes
140- - ` -rbr=1 ` - remove bridge methods
141- - ` -dgs=1 ` - decompile generic signatures
142- - ` -asc=1 ` - ascii strings
143- - ` -rsy=1 ` - remove synthetic methods
144-
145- Due to the nature of decompilation:
146- - Some generic type information may be lost or inferred incorrectly
147- - Lambda expressions may appear differently than originally authored
148- - Local variable names are reconstructed and may not match original names
149- - Code structure is functionally equivalent but may differ stylistically
150-
151- Patches in ` patches/ ` correct compilation errors introduced by the decompilation
152- process while preserving functional equivalence.
153-
154- ---
62+ Uses Vineflower with standard flags. Patches fix type inference issues, lambda captures, and other decompiler artifacts.
15563
15664## Legal
15765
158- See [ LICENSE] ( LICENSE ) for complete terms.
159-
160- ** This software is proprietary to Mojang AB. Unauthorized distribution,
161- modification for commercial use, or creation of derivative works for
162- distribution is strictly prohibited.**
163-
164- ```
165- ================================================================================
166- Mojang AB | Stockholm, Sweden | https://www.minecraft.net
167- ================================================================================
168- ```
66+ Mojang owns this code. See LICENSE.
0 commit comments