tutorial:reading_mc_code
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tutorial:reading_mc_code [2021/10/01 15:48] – add more tips siglong | tutorial:reading_mc_code [2024/08/02 05:39] (current) – is -> are skycatminepokie | ||
---|---|---|---|
Line 6: | Line 6: | ||
To read the Minecraft source, you need to generate sources first. See the " | To read the Minecraft source, you need to generate sources first. See the " | ||
- | ===== Searching for a Minecraft class ==== | + | ===== Searching for a Minecraft class ===== |
To search a Minecraft class, follow these steps. | To search a Minecraft class, follow these steps. | ||
- | ==== Intellij IDEA ==== | + | ===== Intellij IDEA ===== |
- | - Open the search pane with '' | + | - Open the search pane with {{https:// |
- Set the search scope to '' | - Set the search scope to '' | ||
- Type the class name in the search box | - Type the class name in the search box | ||
- | ==== Visual Studio Code ==== | + | ===== Visual Studio Code ===== |
- Open the search pane with '' | - Open the search pane with '' | ||
- Type the class name with prefix ''#'' | - Type the class name with prefix ''#'' | ||
+ | |||
+ | ===== Eclipse ===== | ||
+ | - Open the search pane with '' | ||
In Visual Studio Code, you can also use '' | In Visual Studio Code, you can also use '' | ||
Line 25: | Line 28: | ||
* Take full advantage of IDE's ability to find the relevant code such as '' | * Take full advantage of IDE's ability to find the relevant code such as '' | ||
* Take a look at open source mods which are similar to what you want to make. | * Take a look at open source mods which are similar to what you want to make. | ||
- | * If you are adding a new content, there is a good chance you need to access registries defined in '' | + | * If you are adding a new content, there is a good chance you need to access registries defined in '' |
* Keep in mind that everything starts from one main class ('' | * Keep in mind that everything starts from one main class ('' | ||
+ | * Search Minecraft code for translation keys. '' | ||
===== Reading the bytecode ===== | ===== Reading the bytecode ===== | ||
Reading the bytecode is occasionally required because | Reading the bytecode is occasionally required because | ||
* Mixin operates on bytecode, not the source code. Understanding the bytecode is essential when you write a complex mixin. | * Mixin operates on bytecode, not the source code. Understanding the bytecode is essential when you write a complex mixin. | ||
- | * Decompiler (FernFlower) is not perfect. It sometimes | + | * Decompiler (FernFlower) is not perfect. It sometimes |
+ | |||
+ | If you are not familiar with the java bytecode, reference [[https:// | ||
To see the bytecode, follow these steps. | To see the bytecode, follow these steps. | ||
Line 41: | Line 47: | ||
==== External Tools ==== | ==== External Tools ==== | ||
- | If your IDE doesn' | + | If your IDE doesn' |
===== FAQ ===== | ===== FAQ ===== | ||
- | **Where | + | **Where |
- | It's in the user gradle cache (i.e. '' | + | It' |
You can use the sources jar outside of your IDE. | You can use the sources jar outside of your IDE. | ||
tutorial/reading_mc_code.1633103285.txt.gz · Last modified: 2021/10/01 15:48 by siglong