- Step 0 - have cfr.jar from here and have java
- Step 1 - run
git clone https://github.com/fabricmc/yarn
- Step 2 - get a command line and get into that directory
- Step 3 - run
.\gradlew mapNamedJar
and let that complete - Step 4 - run
java -jar cfr-<whatever>.jar <MC-version>-named.jar --outputdir <folder where you want the code>
- Step 5 - read the code
warning: profiles for the non root package will be ignored, specify profiles at the workspace root: | |
package: /home/home/eatmyvenom/code/qmk_xap/src-tauri/Cargo.toml | |
workspace: /home/home/eatmyvenom/code/qmk_xap/Cargo.toml | |
[0m[1m[38;5;11mwarning[0m[1m[38;5;15m: failed to parse serde attribute | |
[0m[1m[38;5;12m | | |
| [0m[38;5;15m#[serde(with = ":: serde_with :: As :: < NoneAsEmptyString >")] | |
[0m[1m[38;5;12m | | |
= [0m[1m[38;5;15mnote: [0m[38;5;15mts-rs failed to parse this attribute. It will be ignored. | |
Compiling qmk-xap-gui v0.0.0 (/home/home/eatmyvenom/code/qmk_xap/src-tauri) | |
error: proc macro panicked |
Between Linux distributions there are a vast number of options on getting different styles of an operating system. Quite a few of these distributions follow the classic idealology of updates like how windows and Mac do it with major updates every so often. However there are two other styles of updates that exist. One is Long Term Service or LTS updates. Also there is rolling updates. This will focus on rolling releases of Linux.
Rolling releases are updates that come to the user whenever they are available. Think of how your apps update but for your computer OS. This is quite different from the tradition update with major release approach. This keeps users up to date with the latest availible bugs features.
Actually very much not, its quite interesting seeing the different approaches being taken to the same idea. Here are a few examples of unique things about different distr
/** A multi-dimensional array mapping the various professions, careers and career levels that a Villager may offer */ | |
// whatm'st in the actual fuck is this code | |
// incase nobody sees the massive issues with this code, static finals are always inlined. Which means that | |
// these new object allocations are called each time you call the populateBuyList | |
private static final EntityVillager.ITradeList[][][][] DEFAULT_TRADE_LIST_MAP = new EntityVillager.ITradeList[][][][] | |
{ | |
{ // profession 0 | |
{ // farmer - careerId 1 (yes i know, they do an odd +1 in the code later) | |
{ // career level 0 | |
new EntityVillager.EmeraldForItems(Items.WHEAT, new EntityVillager.PriceInfo(18, 22)), |
public void tick(BooleanSupplier booleanSupplier) { | |
boolean hasAnyChunksToTick; | |
Profiler profiler = this.getProfiler(); | |
this.inBlockTick = true; | |
// tick the world border | |
profiler.push("world border"); | |
this.getWorldBorder().tick(); |
public void tick(BooleanSupplier booleanSupplier) { | |
boolean hasAnythingToTick; | |
Profiler profiler = this.getProfiler(); | |
this.inBlockTick = true; | |
// tick the world border | |
profiler.push("world border"); | |
this.getWorldBorder().tick(); |
MultiMC version: 0.6.11-1430 | |
Minecraft folder is: | |
C:/Users/eatmyvenom/codeProjects/mmc-stable-win32/MultiMC/instances/1.15/.minecraft | |
Java path is: | |
C:/Program Files (x86)/Common Files/Oracle/Java/javapath/javaw.exe |
atus minecraft:full loaded | |
Chunk at pos [ 8 , -8 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -8 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -9 ] With status minecraft:full loaded | |
Chunk at pos [ 7 , -11 ] With status minecraft:full loaded | |
Chunk at pos [ 6 , -11 ] With status minecraft:full loaded | |
Chunk at pos [ 10 , -10 ] With status minecraft:full loaded | |
Chunk at pos [ 8 , -10 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -9 ] With status minecraft:full loaded |
atus minecraft:full loaded | |
Chunk at pos [ 8 , -8 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -8 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -9 ] With status minecraft:full loaded | |
Chunk at pos [ 7 , -11 ] With status minecraft:full loaded | |
Chunk at pos [ 6 , -11 ] With status minecraft:full loaded | |
Chunk at pos [ 10 , -10 ] With status minecraft:full loaded | |
Chunk at pos [ 8 , -10 ] With status minecraft:full loaded | |
Chunk at pos [ 9 , -9 ] With status minecraft:full loaded |
public void tickChunk(WorldChunk currentChunk, int i) { | |
// set a bunch of local variables | |
boolean isCurrentlyRaining = this.isRaining(); | |
ChunkPos currentChunkPos = currentChunk.getPos(); | |
int chunkBlockPosX = currentChunkPos.getStartX(); | |
int chunkBlockPosZ = currentChunkPos.getStartZ(); | |
BlockPos randomBlockAtSurface = this.getSurface(this.getRandomPosInChunk(chunkBlockPosX, 0, chunkBlockPosZ, 15)); |