Skip to content

Commit dc089d6

Browse files
cleanup
1 parent dcc2f56 commit dc089d6

6 files changed

Lines changed: 42 additions & 337 deletions

File tree

LICENSE

Lines changed: 16 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -1,73 +1,24 @@
1-
MINECRAFT EVALUATION COPY LICENSE AGREEMENT
2-
Version 1.21.11 Pre-Release 2
1+
Minecraft Decompiled Source
32

43
Copyright (c) Mojang AB. All Rights Reserved.
54

6-
NOTICE: THIS IS AN UNOBFUSCATED EVALUATION BUILD - NOT FOR DISTRIBUTION
5+
This repository contains decompiled source code from Minecraft's unobfuscated
6+
JAR files. Mojang owns all rights to this code.
77

8-
================================================================================
8+
You can use this for:
9+
- Learning how Minecraft works
10+
- Mod development reference
11+
- Bug reports and security research
912

10-
This software package ("Minecraft Evaluation Copy Decompilation Kit") contains
11-
decompiled source code derived from official Mojang unobfuscated JAR files
12-
distributed for review, evaluation, and educational purposes only.
13+
You cannot:
14+
- Redistribute this code
15+
- Use it commercially
16+
- Create competing products
1317

14-
IMPORTANT LEGAL NOTICE
15-
----------------------
18+
This is decompiled output, not original source code. The decompiler may
19+
introduce artifacts or naming differences from Mojang's internal code.
1620

17-
1. PROPRIETARY SOFTWARE
21+
No warranty. Use at your own risk.
1822

19-
This software, including all source code, assets, and associated materials,
20-
is the exclusive property of Mojang AB, a Microsoft company. The underlying
21-
intellectual property, game design, and implementation remain fully owned
22-
by Mojang AB regardless of the decompiled or unobfuscated form.
23-
24-
2. EVALUATION USE ONLY
25-
26-
This Evaluation Copy Decompilation Kit is provided solely for:
27-
28-
- Press review and evaluation purposes
29-
- Educational study of game architecture
30-
- Mod development reference
31-
- Security research and bug reporting
32-
- Personal, non-commercial experimentation
33-
34-
3. PROHIBITED ACTIVITIES
35-
36-
You may NOT:
37-
38-
- Distribute, share, or republish this decompilation kit
39-
- Use this code to create competing products
40-
- Remove or alter this license notice
41-
- Claim ownership of any portion of this code
42-
- Use this code in commercial applications
43-
- Redistribute modified or unmodified versions
44-
45-
4. NO SOURCE CODE DISTRIBUTION
46-
47-
Mojang AB does not distribute original source code. This package contains
48-
machine-decompiled output from officially provided unobfuscated JAR files.
49-
The decompilation process may introduce artifacts, naming inconsistencies,
50-
or structural differences from the original authored source code.
51-
52-
5. DISCLAIMER
53-
54-
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
55-
IMPLIED. MOJANG AB DISCLAIMS ALL WARRANTIES INCLUDING MERCHANTABILITY AND
56-
FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MOJANG AB BE LIABLE FOR
57-
ANY DAMAGES ARISING FROM THE USE OF THIS SOFTWARE.
58-
59-
6. TERMINATION
60-
61-
This license is automatically terminated if you violate any of its terms.
62-
Upon termination, you must destroy all copies of this software in your
63-
possession.
64-
65-
================================================================================
66-
67-
For official Minecraft products and licenses, visit: https://www.minecraft.net
68-
For bug reports and security issues: https://bugs.mojang.com
69-
70-
Mojang AB
71-
Stockholm, Sweden
72-
73-
================================================================================
23+
For official Minecraft: https://www.minecraft.net
24+
For bug reports: https://bugs.mojang.com

README.md

Lines changed: 25 additions & 127 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,10 @@
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.

eula.txt

Lines changed: 0 additions & 3 deletions
This file was deleted.

fix_patch_indent.py

Lines changed: 0 additions & 72 deletions
This file was deleted.

mods/client.patch

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
abilities.flying = false;
1212
--- a/net/minecraft/world/entity/player/Player.java 2025-11-26 19:52:22.000000000 +0100
1313
+++ b/net/minecraft/world/entity/player/Player.java 2025-11-26 20:18:12.538330216 +0100
14-
@@ -1393,6 +1393,23 @@
14+
@@ -1401,6 +1401,23 @@
1515
double originalMovementY = this.getDeltaMovement().y;
1616
super.travel(input);
1717
this.setDeltaMovement(this.getDeltaMovement().with(Direction.Axis.Y, originalMovementY * 0.6));

0 commit comments

Comments
 (0)