Skip to content

Instantly share code, notes, and snippets.

View apple502j's full-sized avatar
🍎
Eaten

apple502j apple502j

🍎
Eaten
View GitHub Profile

22w24a docs

Important: This version requires Fabric Loader 0.14.8 or newer on clients; older versions crash on client launch.

Known Bugs

  • MC-253134: Allays from older worlds cannot duplicate; upgrading a world therefore is not recommended.

Chat Reporting

There has been many discussions on what chat reporting is, how it works, etc. While this is not a concern for mod development, it is still important enough to put here.

Chat Reporting is a feature to report chat messages to Mojang/Microsoft. The reports are not handled currently; there is a speculation that the offenders can have a consequence. Currently, Mojang can block players from connecting to a dedicated server (at least with vanilla client; "server blocklist"), can take down Realms, and Microsoft can freeze the Microsoft Account for abuse or spam under their (already-enforced) Terms and Conditions. However, it is unclear which of those, if any, will be applied.

fabric.mod.json (FMJ) version 2 proposal

FMJv2 will be a breaking change to FMJv1 with several incompatible changes.

Other Mod Loaders

Forge

Forge uses a TOML file, mods.toml, instead of JSON. Forge mod metadata file is very small, and all features except update check URL exist in FMJv1. Update checking should NOT be included in FMJv2, as that is beyond the scope of Fabric API/Loader. Mod Menu might be able to implement it.

Therefore, no feature from Forge metadata is worth bringing over.

Spigot

@apple502j
apple502j / 1.19.1-pres-in-a-nutshell.md
Created July 20, 2022 16:58
1.19.1 pre-releases in a nutshell

1.19.1 Pre-releases in a nutshell

Toolchain

Fabric Loader 0.14.8+ required to launch clients due to Mojang's changes. Fabric API versions branched due to Fabric Message API breaking changes, etc.

Chat Reporting

The chat reporting feature allows Mojang to review and take appropriate actions against people sending illegal, extreme, or harmful messages via chat. This is a controversial change (to the point where people call it "1.19.84", give Miranda warning-like "fact" to friends, and all Mojang reddit posts get instant downvotes). Here I list FACTS, DISPUTED OFFICIAL MESSAGES, and INCORRECT/UNVERIFIED information separately.

Facts

These are confirmed by verifiable sources and code analysis by people independent from Mojang, or self-incrimination by Mojang (information which is provided by Mojang that affects the users in generally non-positive ways).

@apple502j
apple502j / 22w42a-docs.md
Last active January 2, 2023 08:17
22w42a docs

22w42a: The Catastrophe Update

22w42a, the first and hopefully only snapshot for 1.19.3: The Catastrophe Update is here! I'm not joking. Remember the 22w06a update that refactored registries and tags completely? The same thing happened - although this time, in all places.

Read/watch this first!

They provide the basic info of this snapshot.

Toolchain

@apple502j
apple502j / 22w43a-docs.md
Created October 28, 2022 18:57
22w43a update info

22w43a: The Future is a DataGen Update

It's 22w43a - where future awaits in the DataGen, literally.

Fabric API

fabric-data-generation-api-v1 received breaking changes, of course.

Changes

DataGen refactor again

Data generators now have to create a "pack" and add providers to the pack. (It's like a resource pack - the provider generates a resource for a specific pack.) This can be done with FabricDataGenerator#createPack (or create, depending on FAPI version).

@apple502j
apple502j / 22w44a-docs.md
Last active November 10, 2022 05:13
22w44a changelog

22w44a: Every Week's a DataGen Update

Here's yet another snapshot where the advertised changes make up less than 30% of overall changes...

Fabric API

fabric-biome-api-v1 and fabric-data-generation-api-v1 received breaking changes.

Changes

RIP BuiltinRegistries??

We all knew the builtin registries were dying. Now they're dead. Or, sort of.

22w45a: Big Brain Update

Here comes 22w45a, the Big Brain update, because it literally is. There are also some big changes to registries that affects all mods (except LazyDFU of course).

Fabric API

Item Groups API had a major breaking change.

Changes

Registry split and stuff

The big class Registry is now split into 2 classes and 1 interface:

22w46a Change Logs as usual

This one's a boring update.

Fabric API

Yet another week of breaking change. First, a new Fabric API version for the previous snapshot made one change to Datagen API: FabricWorldgenProvider is renamed to FabricDynamicRegistryProvider. This also added FabricItemGroupEntries#shouldShowOpRestrictedItems method and fixed various bugs within the Item Group API and Biome API.

This week, Fabric API 0.66.3 has one more breaking change: Textures API is now gone, as it was superseded with vanilla Atlas Configuration in resource packs. (The other feature, sprite dependency, was removed in 22w42a due to code breakage and lack of usage.)

Changes

Great Registry Repackaging

@apple502j
apple502j / migrating-to-packet-api.md
Last active July 2, 2024 18:09
Fabric API guide: Migrating to packet object-based API

Migrating to Packet Object-based Networking

Fabric API 0.77.0 for 1.19.4 and 1.20 introduced a new way of writing networking stack. This applies to ServerPlayNetworking and ClientPlayNetworking. This is a guide on migrating existing code using Networking API v1 to new, packet-based code.

If you are still using the deprecated Networking API v0, it is recommended to switch to v1 first.

When the old API should still be used

The new API makes some assumptions on the usage. While this covers most of the common and expected uses, there are cases where the old API still works better. Therefore, the old API is not deprecated in anyway. Also, the two APIs are network-compatible so long as the packet serialization is the same.

For example, you might want to continue using the old API if:

It's been almost a year since the first "Snapshot Note" series! Anyway here's the 23w03a stuff info.

Fabric toolchain

Fabric Loader 0.14.13 should be used for this version.

Fabric API 0.72.1 is released for this version. Biome API received 1 breaking change; setPrecipitation method in BiomeModificationContext.WeatherContext now takes a boolean.

Minecraft Changes

Packet Bundling

Multiple S2C packets can now be bundled into a single packet, so that they are processed in the same client tick. The bundled packets are still sent separately, but is re-bundled in the client.